Token导航 LogoToken导航

Agent Skill · 研究检索

learn-this(学这个)

learn-this 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

learn-this 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 43,703。

总安装 964周安装 41GitHub Stars 372下载 338核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:learn-this(学这个)
来源仓库:https://github.com/michalparkola/tapestry-skills-for-claude-code
仓库路径:skills/learn-this
安装命令:
npx skills add https://github.com/michalparkola/tapestry-skills-for-claude-code --skill learn-this
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/michalparkola/tapestry-skills-for-claude-code --skill learn-this

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

learn-this 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词快速定位候选结果时使用。适用于研究检索类任务,可结合来源仓库和原始 README 核验具体用法。

通过 npx skills add 命令从 GitHub 安装,需确认权限范围和维护状态。使用前建议检查是否会触发联网、命令执行或文件读写操作。当前维护状态和稳定性需结合仓库活跃度进一步确认。

来源仓库内路径:skills/learn-this

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/michalparkola/tapestry-skills-for-claude-code…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

learn-this 怎么安装?

在终端执行 npx skills add https://github.com/michalparkola/tapestry-skills-for-claude-code --skill le…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

learn-this 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

learn-this 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

learn-this 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

learn-this 用的人多吗?

公开数据是累计安装 964 次,近一周安装 41 次,下载 338 次,GitHub 372 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

learn-this 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
learn-this

学这个 · 本页

964372需要联网未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Tapestry: Unified Content Extraction + Action Planning

This is the master skill that orchestrates the entire Tapestry workflow:

  1. Detect content type from URL
  2. Extract content using appropriate skill
  3. Automatically create a Ship-Learn-Next action plan

When to Use This Skill

Activate when the user:

  • Says "learn-this [URL]" or "learn this [URL]"
  • Says "weave [URL]"
  • Says "help me plan [URL]"
  • Says "extract and plan [URL]"
  • Says "make this actionable [URL]"
  • Says "turn [URL] into a plan"
  • Provides a URL and asks to "learn and implement from this"
  • Wants the full Tapestry workflow (extract → plan)

Keywords to watch for: learn-this, learn this, weave, plan, actionable, extract and plan, make a plan, turn into action

How It Works

Complete Workflow:

  1. Detect URL type (YouTube, article, PDF)
  2. Extract content using appropriate skill:

- YouTube → youtube-transcript skill - Article → article-extractor skill - PDF → download and extract text

  1. Create action plan using ship-learn-next skill
  2. Save both content file and plan file
  3. Present summary to user

URL Detection Logic

YouTube Videos

Patterns to detect:

  • youtube.com/watch?v=
  • youtu.be/
  • youtube.com/shorts/
  • m.youtube.com/watch?v=

Action: Use youtube-transcript skill

Web Articles/Blog Posts

Patterns to detect:

  • http:// or https://
  • NOT YouTube, NOT PDF
  • Common domains: medium.com, substack.com, dev.to, etc.
  • Any HTML page

Action: Use article-extractor skill

PDF Documents

Patterns to detect:

  • URL ends with .pdf
  • URL returns Content-Type: application/pdf

Action: Download and extract text

Other Content

Fallback:

  • Try article-extractor (works for most HTML)
  • If fails, inform user of unsupported type

Step-by-Step Workflow

Step 1: Detect Content Type

URL="$1"

# Check for YouTube
if [[ "$URL" =~ youtube\.com/watch || "$URL" =~ youtu\.be/ || "$URL" =~ youtube\.com/shorts ]]; then
    CONTENT_TYPE="youtube"

# Check for PDF
elif [[ "$URL" =~ \.pdf$ ]]; then
    CONTENT_TYPE="pdf"

# Check if URL returns PDF
elif curl -sI "$URL" | grep -i "Content-Type: application/pdf" > /dev/null; then
    CONTENT_TYPE="pdf"

# Default to article
else
    CONTENT_TYPE="article"
fi

echo "📍 Detected: $CONTENT_TYPE"

Step 2: Extract Content (by Type)

YouTube Video
# Use youtube-transcript skill workflow
echo "📺 Extracting YouTube transcript..."

# 1. Check for yt-dlp
if ! command -v yt-dlp &> /dev/null; then
    echo "Installing yt-dlp..."
    brew install yt-dlp
fi

# 2. Get video title
VIDEO_TITLE=$(yt-dlp --print "%(title)s" "$URL" | tr '/' '_' | tr ':' '-' | tr '?' '' | tr '"' '')

# 3. Download transcript
yt-dlp --write-auto-sub --skip-download --sub-langs en --output "temp_transcript" "$URL"

# 4. Convert to clean text (deduplicate)
python3 -c "
import sys, re
seen = set()
vtt_file = 'temp_transcript.en.vtt'
try:
    with open(vtt_file, 'r') as f:
        for line in f:
            line = line.strip()
            if line and not line.startswith('WEBVTT') and not line.startswith('Kind:') and not line.startswith('Language:') and '-->' not in line:
                clean = re.sub('<[^>]*>', '', line)
                clean = clean.replace('&', '&').replace('>', '>').replace('<', '<')
                if clean and clean not in seen:
                    print(clean)
                    seen.add(clean)
except FileNotFoundError:
    print('Error: Could not find transcript file', file=sys.stderr)
    sys.exit(1)
" > "${VIDEO_TITLE}.txt"

# 5. Cleanup
rm -f temp_transcript.en.vtt

CONTENT_FILE="${VIDEO_TITLE}.txt"
echo "✓ Saved transcript: $CONTENT_FILE"
Article/Blog Post
# Use article-extractor skill workflow
echo "📄 Extracting article content..."

# 1. Check for extraction tools
if command -v reader &> /dev/null; then
    TOOL="reader"
elif command -v trafilatura &> /dev/null; then
    TOOL="trafilatura"
else
    TOOL="fallback"
fi

echo "Using: $TOOL"

# 2. Extract based on tool
case $TOOL in
    reader)
        reader "$URL" > temp_article.txt
        ARTICLE_TITLE=$(head -n 1 temp_article.txt | sed 's/^# //')
        ;;

    trafilatura)
        METADATA=$(trafilatura --URL "$URL" --json)
        ARTICLE_TITLE=$(echo "$METADATA" | python3 -c "import json, sys; print(json.load(sys.stdin).get('title', 'Article'))")
        trafilatura --URL "$URL" --output-format txt --no-comments > temp_article.txt
        ;;

    fallback)
        ARTICLE_TITLE=$(curl -s "$URL" | grep -oP '<title>\K[^<]+' | head -n 1)
        ARTICLE_TITLE=${ARTICLE_TITLE%% - *}
        curl -s "$URL" | python3 -c "
from html.parser import HTMLParser
import sys

class ArticleExtractor(HTMLParser):
    def __init__(self):
        super().__init__()
        self.content = []
        self.skip_tags = {'script', 'style', 'nav', 'header', 'footer', 'aside', 'form'}
        self.in_content = False

    def handle_starttag(self, tag, attrs):
        if tag not in self.skip_tags and tag in {'p', 'article', 'main'}:
            self.in_content = True

    def handle_data(self, data):
        if self.in_content and data.strip():
            self.content.append(data.strip())

    def get_content(self):
        return '\n\n'.join(self.content)

parser = ArticleExtractor()
parser.feed(sys.stdin.read())
print(parser.get_content())
" > temp_article.txt
        ;;
esac

# 3. Clean filename
FILENAME=$(echo "$ARTICLE_TITLE" | tr '/' '-' | tr ':' '-' | tr '?' '' | tr '"' '' | cut -c 1-80 | sed 's/ *$//')
CONTENT_FILE="${FILENAME}.txt"
mv temp_article.txt "$CONTENT_FILE"

echo "✓ Saved article: $CONTENT_FILE"
PDF Document
# Download and extract PDF
echo "📑 Downloading PDF..."

# 1. Download PDF
PDF_FILENAME=$(basename "$URL")
curl -L -o "$PDF_FILENAME" "$URL"

# 2. Extract text using pdftotext (if available)
if command -v pdftotext &> /dev/null; then
    pdftotext "$PDF_FILENAME" temp_pdf.txt
    CONTENT_FILE="${PDF_FILENAME%.pdf}.txt"
    mv temp_pdf.txt "$CONTENT_FILE"
    echo "✓ Extracted text from PDF: $CONTENT_FILE"

    # Optionally keep PDF
    echo "Keep original PDF? (y/n)"
    read -r KEEP_PDF
    if [[ ! "$KEEP_PDF" =~ ^[Yy]$ ]]; then
        rm "$PDF_FILENAME"
    fi
else
    # No pdftotext available
    echo "⚠️  pdftotext not found. PDF downloaded but not extracted."
    echo "   Install with: brew install poppler"
    CONTENT_FILE="$PDF_FILENAME"
fi

Step 3: Create Ship-Learn-Next Action Plan

IMPORTANT: Always create an action plan after extracting content.

# Read the extracted content
CONTENT_FILE="[from previous step]"

# Invoke ship-learn-next skill logic:
# 1. Read the content file
# 2. Extract core actionable lessons
# 3. Create 5-rep progression plan
# 4. Save as: Ship-Learn-Next Plan - [Quest Title].md

# See ship-learn-next/SKILL.md for full details

Key points for plan creation:

  • Extract actionable lessons (not just summaries)
  • Define a specific 4-8 week quest
  • Create Rep 1 (shippable this week)
  • Design Reps 2-5 (progressive iterations)
  • Save plan to markdown file
  • Use format: Ship-Learn-Next Plan - [Brief Quest Title].md

Step 4: Present Results

Show user:

✅ Tapestry Workflow Complete!

📥 Content Extracted:
   ✓ [Content type]: [Title]
   ✓ Saved to: [filename.txt]
   ✓ [X] words extracted

📋 Action Plan Created:
   ✓ Quest: [Quest title]
   ✓ Saved to: Ship-Learn-Next Plan - [Title].md

🎯 Your Quest: [One-line summary]

📍 Rep 1 (This Week): [Rep 1 goal]

When will you ship Rep 1?

Complete Tapestry Workflow Script

#!/bin/bash

# Tapestry: Extract content + create action plan
# Usage: tapestry <URL>

URL="$1"

if [ -z "$URL" ]; then
    echo "Usage: tapestry <URL>"
    exit 1
fi

echo "🧵 Tapestry Workflow Starting..."
echo "URL: $URL"
echo ""

# Step 1: Detect content type
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
    CONTENT_TYPE="pdf"
else
    CONTENT_TYPE="article"
fi

echo "📍 Detected: $CONTENT_TYPE"
echo ""

# Step 2: Extract content
case $CONTENT_TYPE in
    youtube)
        echo "📺 Extracting YouTube transcript..."
        # [YouTube extraction code from above]
        ;;

    article)
        echo "📄 Extracting article..."
        # [Article extraction code from above]
        ;;

    pdf)
        echo "📑 Downloading PDF..."
        # [PDF extraction code from above]
        ;;
esac

echo ""

# Step 3: Create action plan
echo "🚀 Creating Ship-Learn-Next action plan..."
# [Plan creation using ship-learn-next skill]

echo ""
echo "✅ Tapestry Workflow Complete!"
echo ""
echo "📥 Content: $CONTENT_FILE"
echo "📋 Plan: Ship-Learn-Next Plan - [title].md"
echo ""
echo "🎯 Next: Review your action plan and ship Rep 1!"

Error Handling

Common Issues:

1. Unsupported URL type

  • Try article extraction as fallback
  • If fails: "Could not extract content from this URL type"

2. No content extracted

  • Check if URL is accessible
  • Try alternate extraction method
  • Inform user: "Extraction failed. URL may require authentication."

3. Tools not installed

  • Auto-install when possible (yt-dlp, reader, trafilatura)
  • Provide install instructions if auto-install fails
  • Use fallback methods when available

4. Empty or invalid content

  • Verify file has content before creating plan
  • Don't create plan if extraction failed
  • Show preview to user before planning

Best Practices

  • ✅ Always show what was detected ("📍 Detected: youtube")
  • ✅ Display progress for each step
  • ✅ Save both content file AND plan file
  • ✅ Show preview of extracted content (first 10 lines)
  • ✅ Create plan automatically (don't ask)
  • ✅ Present clear summary at end
  • ✅ Ask commitment question: "When will you ship Rep 1?"

Usage Examples

Example 1: YouTube Video (using "learn-this")

User: learn-this https://www.youtube.com/watch?v=dQw4w9WgXcQ

Claude:
🧵 Tapestry Workflow Starting...
📍 Detected: youtube
📺 Extracting YouTube transcript...
✓ Saved transcript: Never Gonna Give You Up.txt

🚀 Creating action plan...
✓ Quest: Master Video Production
✓ Saved plan: Ship-Learn-Next Plan - Master Video Production.md

✅ Complete! When will you ship Rep 1?

Example 2: Article (using "weave")

User: weave https://example.com/how-to-build-saas

Claude:
🧵 Tapestry Workflow Starting...
📍 Detected: article
📄 Extracting article...
✓ Using reader (Mozilla Readability)
✓ Saved article: How to Build a SaaS.txt

🚀 Creating action plan...
✓ Quest: Build a SaaS MVP
✓ Saved plan: Ship-Learn-Next Plan - Build a SaaS MVP.md

✅ Complete! When will you ship Rep 1?

Example 3: PDF (using "help me plan")

User: help me plan https://example.com/research-paper.pdf

Claude:
🧵 Tapestry Workflow Starting...
📍 Detected: pdf
📑 Downloading PDF...
✓ Downloaded: research-paper.pdf
✓ Extracted text: research-paper.txt

🚀 Creating action plan...
✓ Quest: Apply Research Findings
✓ Saved plan: Ship-Learn-Next Plan - Apply Research Findings.md

✅ Complete! When will you ship Rep 1?

Dependencies

This skill orchestrates the other skills, so requires:

For YouTube:

  • yt-dlp (auto-installed)
  • Python 3 (for deduplication)

For Articles:

  • reader (npm) OR trafilatura (pip)
  • Falls back to basic curl if neither available

For PDFs:

  • curl (built-in)
  • pdftotext (optional - from poppler package)

- Install: brew install poppler (macOS) - Install: apt install poppler-utils (Linux)

For Planning:

  • No additional requirements (uses built-in tools)

Philosophy

Tapestry weaves learning content into action.

The unified workflow ensures you never just consume content - you always create an implementation plan. This transforms passive learning into active building.

Extract → Plan → Ship → Learn → Next.

That's the Tapestry way.

平台分布

Codex

37.09%
按下载量换算125

Claude

32.91%
按下载量换算111

Cursor

18.55%
按下载量换算63

Gemini CLI

8.66%
按下载量换算29

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills