
Skill SeekersでURLやローカルドキュメントからClaude Codeのスキルを生成してみる
はじめに
データ事業本部のkobayashiです。
Claude Codeにはスキル(Skills)という機能があり、特定のドメイン知識やワークフローをマークダウンファイルとして定義することで、Claude Codeの振る舞いをカスタマイズすることができます。
しかし、スキルファイルを手動で作成するのは手間がかかりますし、特に外部ライブラリやフレームワークのドキュメントをスキル化したい場合、大量の情報を整理して構造化する必要があります。
今回はSkill Seekersというツールを試してみました。Skill SeekersはURLやローカルディレクトリなど様々なソースからClaude Codeのスキルファイルを自動生成してくれるツールです。
Skill Seekersとは
Skill Seekersは各種ドキュメントソースを構造化されたナレッジアセットに変換し、Claude Code Skillsをはじめとする複数のAIプラットフォーム向けにエクスポートするPythonツールです。
主な特徴としては以下になります。
- 多様な入力ソース: URL、GitHubリポジトリ、ローカルディレクトリ、PDF、Word、EPUB、Jupyter Notebook、OpenAPI仕様書など17種類以上のソースに対応
- 自動ソース検出: 入力を自動的に判別し、適切な処理ルートにルーティング
- AI強化: OpenAIやAnthropic APIなど複数のAIプロバイダーを使って構造化されたスキルファイルを自動生成
- 複数プラットフォーム対応: Claude Code Skills以外にもGemini、OpenAI/Custom GPT、LangChain、LlamaIndexなど16種類のターゲットにエクスポート可能
- MCP統合: MCPサーバーとしても動作し、Claude Codeから自然言語で操作可能
対応する入力ソース
Skill Seekersは以下のような多様な入力に対応しています。
| ソースタイプ | 入力例 |
|---|---|
| ドキュメントWebサイト (URL) | https://docs.django.com/ |
| GitHubリポジトリ | facebook/react |
| ローカルディレクトリ | ./my-project |
manual.pdf |
|
| Word (.docx) | report.docx |
| EPUB | book.epub |
| Jupyter Notebook (.ipynb) | notebook.ipynb |
| OpenAPI/Swagger (.yaml) | openapi.yaml |
| PowerPoint (.pptx) | presentation.pptx |
| 動画 (YouTube/ローカル) | YouTube URL / .mp4ファイル |
| Confluence wiki | API経由 |
| Notion | API経由 |
つまり、URLを指定してWebドキュメントからスキルを生成することも、ローカルのディレクトリやファイルを指定してスキルを生成することも可能です。
処理の仕組み
Skill Seekersの処理フローは以下の5段階で構成されています。
- Ingest(取り込み):
SourceDetectorが入力を自動判別し、適切なスクレイパーにルーティング - Analyze(解析): ソースタイプに応じた処理(Web: SPA対応の3層探索、GitHub: ASTパース、PDF: テキスト/コード/テーブル抽出)
- Structure(構造化): カテゴリ別リファレンスファイルの生成、メタデータ付与
- Enhance(AI強化): OpenAIやAnthropic APIなどのAIプロバイダーを使って構造化された
SKILL.mdファイルを自動生成 - Export(エクスポート): 指定したターゲットプラットフォーム向けにパッケージング
これらの内部処理は、CLIでは以下の4コマンドに対応しています。
create: 1〜3(取り込み・解析・構造化)を一括実行enhance: 4(AI強化)を実行package: 5(エクスポート)としてパッケージングinstall-agent: 生成したスキルをClaude Code等にインストール
Skill Seekersを使ってみる
それでは早速Skill SeekersでClaudeのスキルを作成してみます。
環境
今回使用した環境は以下の通りです。
Python 3.13.9
skill-seekers 3.5.0
インストール
pipでインストールできます。
$ uv pip install skill-seekers
用途に応じてオプション依存関係もインストールできます。
# SPA対応(playwright)が必要な場合
$ uv pip install "skill-seekers[browser]"
# 動画処理が必要な場合
$ uv pip install "skill-seekers[video]"
# 全部入り
$ uv pip install "skill-seekers[all]"
Skillsの作成手順
Skill Seekersでのスキル作成は4つのステップで構成されています。スキル生成の全体的な流れは以下のようになります。
# Step 1: ソースの取り込み・解析・構造化
$ skill-seekers create <source>
# Step 2: AI強化でSKILL.mdを生成
$ skill-seekers enhance output/<skill-name>/
# Step 3: パッケージング
$ skill-seekers package output/<skill-name> --target claude
# Step 4: Claude Codeにインストール
$ skill-seekers install-agent output/<skill-name> --agent claude
| ステップ | コマンド | 説明 |
|---|---|---|
| Step 1 | create |
URLやリポジトリなどのソースを取り込み、解析・構造化してリファレンスファイルを生成する。ソースタイプは自動検出される |
| Step 2 | enhance |
AIプロバイダー(OpenAI、Anthropic等)を使い、リファレンスファイルから構造化されたSKILL.mdを生成する。APIコストが発生するためStep 1とは分離されている |
| Step 3 | package |
生成したスキルを指定プラットフォーム向けにパッケージング。品質チェック(スコアリング)も同時に実行される |
| Step 4 | install-agent |
パッケージをClaude Codeのスキルディレクトリ(~/.claude/skills/)にインストールする |
では各ステップを実際に実行してみます。
[STEP 1]スキルを生成する
URLからスキルを生成する
skill-seekers createコマンドにURLを指定するだけで、Webドキュメントからスキルを生成できます。
$ skill-seekers create https://dev.classmethod.jp/articles/pytest-tavern/
INFO: Detected source type: web
INFO: Routing to web scraper...
INFO: Swift patterns loaded successfully: 431 patterns for language detection
🔍 Checking for llms.txt at https://dev.classmethod.jp/articles/python-sql-sqlglot/...
✅ Found 1 llms.txt variant(s)
📥 Downloading standard...
✓ llms.md (6194 chars)
💾 Saved llms.md
📄 Parsing llms.md for skill building...
✓ Cleaned 9 URLs to 9 unique URLs (anchors stripped, will validate during crawl)
🔗 Found 9 URLs in llms.txt (9 unique), starting BFS crawl...
📋 1 URLs added to crawl queue after filtering
============================================================
SCRAPING: dev
============================================================
Base URL: https://dev.classmethod.jp/articles/python-sql-sqlglot/
Output: output/dev_data
https://dev.classmethod.jp/articles/python-sql-sqlglot/
✅ Scraped 1 pages (1 saved)
============================================================
BUILDING SKILL: dev
============================================================
Loading scraped data...
✓ Loaded 1 pages
Categorizing pages...
✓ Created 1 categories
Generating quick reference...
✓ Extracted 0 patterns
Creating reference files...
✓ other.md (1 pages)
✓ index.md
Creating SKILL.md...
✓ SKILL.md (enhanced with 1 examples)
✅ Skill built: output/dev/
================================================================================
🤖 Traditional AI Enhancement (LOCAL mode, level 2)
================================================================================
usage: skill-seekers-enhance [-h] [--target PLATFORM] [--api-key KEY] [--dry-run] [--agent AGENT] [--agent-cmd CMD] [--interactive-enhancement] [--background] [--daemon] [--no-force] [--timeout SECONDS] skill_directory
skill-seekers-enhance: error: unrecognized arguments: --enhance-level 2
⚠ Enhancement failed, but skill was still built
📦 Package your skill:
skill-seekers-package output/dev/
ソースは自動検出されるため、URLを渡せばWebスクレイピング、owner/repo形式ならGitHub解析、ローカルパスならディレクトリ解析と、適切な処理が自動的に選択されます。
GitHubリポジトリからスキルを生成する
GitHubリポジトリはowner/repo形式で指定します。
$ skill-seekers create facebook/react
GitHubソースの場合、AST(抽象構文木)パースによるコード解析が行われ、Python、JavaScript、TypeScript、Java、C++、Goなどの言語に対応しています。
GitHubソースでのエラーについて(2026年4月時点)
実際にfacebook/reactで試してみたところ、以下のエラーが発生しました。
$ skill-seekers create facebook/react
INFO: Detected source type: github
INFO: Routing to github scraper...
Starting GitHub scrape for: facebook/react
Fetching repository: facebook/react
Repository fetched: facebook/react (244378 stars)
Extracting README...
README found: README.md
Extracting code structure...
Detecting programming languages...
Unexpected error during scraping: unsupported operand type(s) for +: 'int' and 'str'
Error: unsupported operand type(s) for +: 'int' and 'str'
これはGitHub APIのget_languages()レスポンスに、言語のバイト数(int)だけでなく"url"のようなメタデータキー(string)が含まれるケースがあり、sum(languages.values())の実行時にintとstringの加算でTypeErrorが発生するものです。
この問題はIssue #322として報告されており、developmentブランチでは修正済みですが、記事執筆時点のリリースバージョン(v3.4.0)にはまだ含まれていません。修正版を利用するにはdevelopmentブランチからインストールする必要があります。
$ pip install git+https://github.com/yusufkaraaslan/Skill_Seekers.git@development
ローカルディレクトリからスキルを生成する
ローカルのプロジェクトディレクトリを指定することもできます。
$ skill-seekers create ./my-project
これにより、自分のプロジェクトのコードベースからスキルを生成できます。社内ライブラリやプライベートなプロジェクトのドキュメント化にも活用できます。
ローカルファイルからスキルを生成する
PDF、Word、EPUBなどのローカルファイルもそのまま指定できます。
# PDFから生成
$ skill-seekers create project-doc.pdf
# Wordドキュメントから生成
$ skill-seekers create project-report.docx
生成されるファイル構造
スキル生成が完了すると、以下のようなファイル構造が出力されます。
output/<skill-name>/
├── SKILL.md # メインのスキルファイル(AI強化済み)
├── references/ # カテゴリ別リファレンスドキュメント
├── scripts/ # 関連スクリプト
└── assets/ # アセット
SKILL.mdがClaude Codeのスキルとして読み込まれるメインファイルです。
[STEP 2]AI強化でSKILL.mdを生成する(enhance)
createコマンドでソースの取り込み・解析・構造化まで完了したら、enhanceコマンドでAI強化処理を行い、構造化されたSKILL.mdを生成できます。
$ skill-seekers enhance output/dev
🤖 Enhancement mode: API (openai)
============================================================
ENHANCING SKILL: output/dev
Platform: OpenAI ChatGPT
============================================================
📖 Reading reference documentation...
✓ Read 3 reference files
✓ Total size: 8,686 characters
ℹ Found existing SKILL.md (1972 chars)
🤖 Asking GPT-4o to enhance SKILL.md...
Input: 12,233 characters
✓ Generated enhanced SKILL.md (2338 chars)
💾 Backed up original to: SKILL.md.backup
✅ Saved enhanced SKILL.md
✅ Enhancement complete!
Next steps:
1. Review: output/dev/SKILL.md
2. If you don't like it, restore backup: output/dev/SKILL.md.backup
3. Package your skill:
skill-seekers package output/dev/ --target openai
enhanceコマンドはAIプロバイダー(OpenAI、Anthropic API等)を使って、取り込んだリファレンスドキュメントから構造化されたスキルファイルを自動生成します。上記の実行例ではGPT-4oが使用されていることが確認できます。コード例、使用パターン、ベストプラクティスなどが含まれた実用的なスキルファイルが出力されます。
なお、createコマンドは取り込みから構造化までを一括で行いますが、AI強化(enhance)は別途実行する必要があります。これはenhanceの実行にAI APIのコストが発生するため、意図的に分離された設計になっています。
[STEP 3]Claude Code Skillsとしてパッケージングする
生成されたスキルをClaude Code向けにパッケージングするにはpackageコマンドを使います。
$ skill-seekers package output/<skill-name> --target claude
============================================================
QUALITY CHECK
============================================================
============================================================
QUALITY REPORT: dev
============================================================
Quality Score: 85.0/100 (Grade: B)
⚠️ WARNINGS (3):
[enhancement] Only 0 sections found - SKILL.md may be too basic (SKILL.md)
[content] Found 5 code blocks without language tags (SKILL.md)
[content] Missing "When to Use This Skill" section (SKILL.md)
✓ GOOD! No errors, but some warnings to review.
============================================================
Continue with packaging? (y/n): y
📦 Packaging skill: dev
Target: Claude AI (Anthropic)
Source: output/dev
Output: output/dev.zip
✅ Package created: output/dev.zip
Size: 5,980 bytes (5.8 KB)
📂 Opening folder: output
╔══════════════════════════════════════════════════════════╗
║ NEXT STEP ║
╚══════════════════════════════════════════════════════════╝
📤 Upload to Claude: https://claude.ai/skills
1. Go to https://claude.ai/skills
2. Click "Upload Skill"
3. Select: output/dev.zip
4. Done! ✅
[STEP 4]Claude Codeにインストールする
生成したスキルをClaude Codeにインストールするにはinstall-agentコマンドを使います。
$ skill-seekers install-agent output/<skill-name> --agent claude
📋 Installing skill: dev
Agent: claude
✅ Installation complete!
Skill 'dev' installed to claude
Location: ~/.claude/skills/dev
Restart Claude Code to load the new skill.
これにより、ユーザーホームのClaude Codeのスキルディレクトリにスキルファイルが配置され、以降のClaude Codeセッションで利用可能になります。
設定ファイルによる詳細な制御
より細かい制御が必要な場合は、JSON設定ファイルを使ってスクレイピングの挙動をカスタマイズできます。
{
"name": "my-skill",
"description": "My custom skill",
"sources": [
{
"url": "https://docs.example.com/",
"selectors": {
"main_content": "article.main",
"title": "h1",
"code_blocks": "pre code"
},
"url_patterns": {
"include": ["/docs/", "/api/"],
"exclude": ["/blog/", "/changelog/"]
}
}
],
"categories": ["getting-started", "api-reference", "guides"],
"max_pages": 50,
"rate_limit": 1.0
}
$ skill-seekers scrape --config configs/my-skill.json --max-pages 50
設定ファイルではHTMLセレクタの指定、URL パターンによるフィルタリング、カテゴリ分類、レート制限などを制御できます。
他のプラットフォーム向けエクスポート
Skill SeekersはClaude Code以外にも多くのプラットフォームに対応しています。
| ターゲット | コマンド |
|---|---|
| Claude AI Skill | --target claude |
| Google Gemini | --target gemini |
| OpenAI / Custom GPT | --target openai |
| LangChain | --target langchain |
| LlamaIndex | --target llama-index |
| Markdown | --target markdown |
# Gemini向け
$ skill-seekers package output/my-skill --target gemini
# LangChain向け
$ skill-seekers package output/my-skill --target langchain
公式skill-creatorとの比較
Claude Codeのスキルを作成するツールとしては、Anthropic公式のskill-creatorプラグインも存在します。ここでは両者の違いを整理します。
アプローチの違い
両者は「スキルを作る」という目的は同じですが、アプローチが根本的に異なります。
| 観点 | 公式 skill-creator | Skill Seekers |
|---|---|---|
| アプローチ | 対話形式で一からスキルを設計 | 既存のドキュメント/コードからスキルを自動変換 |
| 入力 | 自然言語での要件説明 | URL、リポジトリ、ファイルなど17種類以上のソース |
| 動作環境 | Claude Codeセッション内 | 外部CLIツール(Python) |
| 出力対象 | Claude Code Skills専用 | Claude Code、Gemini、OpenAI等16種類のプラットフォーム |
| AI利用 | Claude Code自身が生成 | OpenAI/Anthropic API等で別途AI強化処理 |
| 検証ツール | quick_validate.pyで事前検証 |
qualityコマンドで品質メトリクス計測 |
使い分け
公式skill-creatorが向いているケース:
- 独自のワークフローや規約をスキルとして定義したい場合
- 「デプロイ手順」「コードレビュー基準」など、自分の頭の中にある知識をスキル化したい場合
- Claude Codeの中だけで完結させたい場合
Skill Seekersが向いているケース:
- 外部ライブラリやフレームワークの公式ドキュメントをまるごとスキル化したい場合
- GitHubリポジトリのコードベースからリファレンススキルを自動生成したい場合
- PDF、Word、EPUBなどの既存ドキュメントをスキルに変換したい場合
- Claude Code以外のプラットフォーム(Gemini、OpenAI等)でも同じナレッジを使いたい場合
- 大量のドキュメントを一括でスキル化する必要がある場合
つまり、公式skill-creatorは「自分の知識や要件からスキルを設計する」ツールであり、Skill Seekersは「既存のドキュメントやコードをスキルに変換する」ツールです。用途に応じて使い分ける、あるいは組み合わせて活用することができます。
まとめ
URLやローカルディレクトリなど様々なソースからClaude Codeのスキルを自動生成できる「Skill Seekers」を試してみました。createでソースを取り込み、enhanceでAI強化、packageでパッケージング、install-agentでインストールという4ステップでスキルを作成でき、手動でスキルファイルを構造化する手間を大幅に削減できます。特にWebドキュメントやGitHubリポジトリ、PDF等の既存ドキュメントからスキルを生成できる点は、公式のskill-creatorとは異なるアプローチで便利だと感じました。
Claude Codeのスキルを効率的に作成したい方や、既存のドキュメント資産をスキルとして活用したい方はぜひ試してみてください。
最後まで読んで頂いてありがとうございました。







