Not in the top 1,000 by GitHub stars

michalparkola/tapestry-skills

Claude Code skills to download sources (articles, PDFs, YouTube video transcripts)

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

article-extractor/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

80e1dc56df74 → 80e1dc56df74

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 80e1dc56df74

No earlier version was observed for comparison.

Compare on GitHub

learn-this/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

80e1dc56df74 → 80e1dc56df74

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 80e1dc56df74

No earlier version was observed for comparison.

Compare on GitHub

scrum-sage/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

80e1dc56df74 → 80e1dc56df74

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 80e1dc56df74

No earlier version was observed for comparison.

Compare on GitHub

session-log/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

80e1dc56df74 → 80e1dc56df74

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 80e1dc56df74

No earlier version was observed for comparison.

Compare on GitHub

ship-learn-next/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

80e1dc56df74 → 80e1dc56df74

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 80e1dc56df74

No earlier version was observed for comparison.

Compare on GitHub

unblock-action/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

80e1dc56df74 → 80e1dc56df74

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → 80e1dc56df74

No earlier version was observed for comparison.

Compare on GitHub

youtube-transcript/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

80e1dc56df74 → 80e1dc56df74

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 80e1dc56df74

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 80e1dc56df74d1cb849ad649c7ead9756e7929bb

575GitHub stars
6stars in 7 days
7skills in this repository
0commits in 30 days

Heat

5.1
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 6, 2026575

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

article-extractor

When your agent uses it

Extract clean article content from URLs (blog posts, articles, tutorials) and save as readable text. Use when user wants to download, extract, or save an article/blog post from a URL without ads, navigation, or clutter.

What it loads into context

Frontmatter

60 tokens

Always available to the agent

SKILL.md

2,452 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to Use This Skill
  2. How It Works
  3. Installation Check
  4. Extraction Methods
  5. Getting Article Title
  6. Filename Creation
  7. Complete Workflow
  8. Error Handling
  9. Output Format
  10. Tips for Best Results
  11. Example Usage
  12. Best Practices
  13. After Extraction

Files

  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
  • SKILL.mdcore9,641 bytes
Read SKILL.md

# Article Extractor

This skill extracts the main content from web articles and blog posts, removing navigation, ads, newsletter signups, and other clutter. Saves clean, readable text.

## When to Use This Skill

Activate when the user:
- Provides an article/blog URL and wants the text content
- Asks to "download this article"
- Wants to "extract the content from [URL]"
- Asks to "save this blog post as text"
- Needs clean article text without distractions

## How It Works
View the complete source on GitHub

Skills included

  • article-extractor
  • learn-this
  • scrum-sage
  • session-log
  • ship-learn-next
  • unblock-action
  • youtube-transcript

Repository facts

License
MIT
Created
Oct 17, 2025
Last pushed
Mar 11, 2026
Forks
68
Open issues
1
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 7, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 45 notes
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • article-extractor/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • learn-this/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • learn-this/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • learn-this/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • learn-this/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • learn-this/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • learn-this/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 54 signals by file

article-extractor/SKILL.md

  • Broad permissionsline 1
    Bash,Write
  • Network accessline 57
    ### Option 3: Fallback (curl + simple parsing)
  • Network accessline 59
    If no tools available, use basic curl + text extraction (less reliable but works)
  • Network accessline 96
    ### Method 3: Fallback (curl + basic parsing)
  • Network accessline 99
    # Download and extract basic content curl -s "URL" | python3 -c "
  • Dangerous shell operationline 100
    curl -s "URL" | python3 -c "
  • Network accessline 100
    curl -s "URL" | python3 -c "
  • Network accessline 149
    ### Using curl (fallback):
  • Network accessline 151
    TITLE=$(curl -s "URL" | grep -oP '<title>\K[^<]+' | sed 's/ - .*//' | sed 's/ | .*//')
  • Network accessline 172
    ARTICLE_URL="https://example.com/article"
  • Network accessline 205
    fallback)         # Get title         TITLE=$(curl -s "$ARTICLE_URL" | grep -oP '<title>\K[^<]+' | head -n 1)
  • Network accessline 206
    # Get title         TITLE=$(curl -s "$ARTICLE_URL" | grep -oP '<title>\K[^<]+' | head -n 1)         TITLE=${TITLE%% - *}  # Remove site name
  • Network accessline 207
    TITLE=$(curl -s "$ARTICLE_URL" | grep -oP '<title>\K[^<]+' | head -n 1)
  • Network accessline 211
    # Get content (basic extraction)         curl -s "$ARTICLE_URL" | python3 -c "
  • Dangerous shell operationline 212
    curl -s "$ARTICLE_URL" | python3 -c "
  • Network accessline 212
    curl -s "$ARTICLE_URL" | python3 -c "
  • Network accessline 330
    # User: "Extract https://example.com/article"
  • Network accessline 331
    reader "https://example.com/article" > temp.txt

learn-this/SKILL.md

  • Broad permissionsline 1
    Bash,Read,Write
  • Network accessline 54
    **Patterns to detect:** - `http://` or `https://`
  • Network accessline 55
    - `http://` or `https://`
  • Network accessline 91
    # Check if URL returns PDF elif curl -sI "$URL" | grep -i "Content-Type: application/pdf" > /dev/null; then
  • Network accessline 92
    elif curl -sI "$URL" | grep -i "Content-Type: application/pdf" > /dev/null; then
  • Dangerous shell operationline 144
    rm -f temp_transcript.en.vtt
  • Network accessline 180
    fallback)         ARTICLE_TITLE=$(curl -s "$URL" | grep -oP '<title>\K[^<]+' | head -n 1)
  • Network accessline 181
    ARTICLE_TITLE=$(curl -s "$URL" | grep -oP '<title>\K[^<]+' | head -n 1)
  • Network accessline 182
    ARTICLE_TITLE=${ARTICLE_TITLE%% - *}         curl -s "$URL" | python3 -c " from html.parser import HTMLParser
  • Dangerous shell operationline 183
    curl -s "$URL" | python3 -c "
  • Network accessline 183
    curl -s "$URL" | python3 -c "
  • Network accessline 226
    # 1. Download PDF PDF_FILENAME=$(basename "$URL") curl -L -o "$PDF_FILENAME" "$URL"
  • Network accessline 228
    curl -L -o "$PDF_FILENAME" "$URL"
  • Dangerous shell operationline 241
    rm "$PDF_FILENAME"
  • Network accessline 318
    if [[ "$URL" =~ youtube\.com/watch || "$URL" =~ youtu\.be/ || "$URL" =~ youtube\.com/shorts ]]; then     CONTENT_TYPE="youtube" elif [[ "$URL" =~ \.pdf$ ]] || curl -sI "$URL" | grep -iq "Content-Type: application/pdf"; then
  • Network accessline 319
    CONTENT_TYPE="youtube" elif [[ "$URL" =~ \.pdf$ ]] || curl -sI "$URL" | grep -iq "Content-Type: application/pdf"; then     CONTENT_TYPE="pdf"
  • Network accessline 320
    elif [[ "$URL" =~ \.pdf$ ]] || curl -sI "$URL" | grep -iq "Content-Type: application/pdf"; then
  • Network accessline 400
    User: learn-this https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • Network accessline 418
    User: weave https://example.com/how-to-build-saas
  • Network accessline 437
    User: help me plan https://example.com/research-paper.pdf
  • Network accessline 461
    **For Articles:** - reader (npm) OR trafilatura (pip) - Falls back to basic curl if neither available
  • Network accessline 463
    - Falls back to basic curl if neither available
  • Network accessline 465
    **For PDFs:** - curl (built-in)
  • Network accessline 466
    - curl (built-in)

session-log/SKILL.md

  • Broad permissionsline 1
    Read,Write,Edit,Bash

youtube-transcript/SKILL.md

  • Broad permissionsline 1
    Bash,Read,Write
  • Dangerous shell operationline 50
    sudo apt update && sudo apt install -y yt-dlp
  • Network accessline 60
    **If installation fails**: Inform the user they need to install yt-dlp manually and provide them with installation instructions from https://github.com/yt-dlp/yt-dlp#installation
  • Dangerous shell operationline 157
    rm audio_VIDEO_ID.mp3
  • Dangerous shell operationline 222
    rm "$VTT_FILE"
  • Network accessline 241
    VIDEO_URL="https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  • Dangerous shell operationline 255
    sudo apt update && sudo apt install -y yt-dlp
  • Dangerous shell operationline 328
    rm "$AUDIO_FILE"
  • Dangerous shell operationline 362
    rm "$VTT_FILE"
  • Network accessline 388
    **3. Invalid or private video** - Check if URL is correct format: `https://www.youtube.com/watch?v=VIDEO_ID`
  • Network accessline 389
    - Check if URL is correct format: `https://www.youtube.com/watch?v=VIDEO_ID`

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Combined signals: 3 facts
Signal confidence: 54 facts

and 4 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md article-extractor/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md article-extractor/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md article-extractor/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md article-extractor/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md article-extractor/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md article-extractor/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.