Generates skills from library documentation automatically. Use when creating a skill from external documentation, fetching docs to local storage, or crawling documentation with curl. Can also be invoked directly with "ライブラリドキュメント", "/lib-docs-generator".
Scanned 9/4/2026
Install to Claude Code
npx -y skills add NeverSight/skills_feed --skill lib-docs-generator --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Lib Docs Generator?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/neversight-lib-docs-generator)More formats (shields.io, HTML) on the badges page.
---
name: lib-docs-generator
description: |
Generates skills from library documentation automatically.
Use when creating a skill from external documentation, fetching docs to local storage, or crawling documentation with curl.
Can also be invoked directly with "ライブラリドキュメント", "/lib-docs-generator".
disable-model-invocation: true
argument-hint: "[url] [スキル名]"
allowed-tools: WebFetch, WebSearch, Read, Bash, Task, Write
---
# ライブラリドキュメント生成ガイド
## 概要
ライブラリのドキュメントからスキルを自動生成する。
**方針:**
1. llms.txtがあれば → そのまま使う(リンク先はクロールしない、llms-full.txtは無視)
2. llms.txtがなければ → 自前でllms.txt形式のファイルを自動生成
3. スキル発動時 → 都度WebFetchで詳細取得(常に最新)
## 実行フロー
```
┌─────────────────────────────────────────────────┐
│ Phase 1: URL解析 │
├─────────────────────────────────────────────────┤
│ 1. /llms.txt を確認 │
│ ├── あり → curlでダウンロード │
│ │ (llms-full.txtは無視) │
│ │ → Phase 4 へ │
│ └── なし → Phase 1.5 へ │
└─────────────────────────────────────────────────┘
↓ (llms.txtなし)
┌─────────────────────────────────────────────────┐
│ Phase 1.5: URL収集 + ユーザー確認 │
├─────────────────────────────────────────────────┤
│ - サイトマップ/ナビゲーションからURL収集 │
│ - 収集URLリストを提示 │
│ - ユーザー承認を待つ │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ Phase 2: ドキュメント収集 │
├─────────────────────────────────────────────────┤
│ - 各URLをWebFetchで取得 │
│ - タイトル + 概要 + コード例 + API情報を抽出 │
│ - カテゴリ分け │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ Phase 3: docs.md生成 │
├─────────────────────────────────────────────────┤
│ - template.mdを参照 │
│ - 詳細形式で整形(概要+コード例+API情報) │
│ - 品質チェックリストを確認 │
│ - references/docs.mdとして保存 │
└─────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────┐
│ Phase 4: SKILL.md生成 │
├─────────────────────────────────────────────────┤
│ - スキルディレクトリ作成 │
│ - SKILL.md生成(WebFetch都度取得方式) │
└─────────────────────────────────────────────────┘
```
---
## Phase 1: URL解析
### llms.txtの確認(最優先)
1. `/llms.txt` をWebFetchで確認
```
WebFetch(url="https://example.com/llms.txt", prompt="Check if this is a valid llms.txt file")
```
2. **存在する場合:**
- `docs.md` として保存(`llms.md` は作らない)
```bash
mkdir -p .claude/skills/{library}/references
curl -s https://example.com/llms.txt -o .claude/skills/{library}/references/docs.md
```
- **Phase 4(ファイル生成)へ直接進む**(ユーザー確認不要)
3. **存在しない場合:**
- Phase 1.5へ進む
### llms.txtの一般的なパターン
| サイト | llms.txt URL |
|--------|--------------|
| Expo | https://docs.expo.dev/llms.txt |
| Vercel | https://vercel.com/llms.txt |
| Tamagui | https://tamagui.dev/llms.txt |
| その他 | `/llms.txt` を確認 |
---
## Phase 1.5: URL収集 + ユーザー確認
**llms.txtがない場合のみ実行**
### 1. URL収集
**サイトマップ確認:**
```bash
curl -s https://example.com/sitemap.xml -o sitemap.xml
```
**ナビゲーション解析:**
```
WebFetch(
url="https://example.com/docs",
prompt="Extract all documentation page URLs from the navigation/sidebar. Return as a list of URLs."
)
```
### 2. ユーザー確認
収集したURLリストを提示し、承認を待つ:
```
以下のURLを収集対象として検出しました:
Getting Started:
- https://example.com/docs/getting-started
- https://example.com/docs/installation
API Reference:
- https://example.com/docs/api/hooks
- https://example.com/docs/api/components
...
このリストで収集を開始してよろしいですか?
除外したいURLや追加したいURLがあれば教えてください。
```
---
## Phase 2: ドキュメント収集
**目的:** 各URLから包括的な情報を抽出(概要、コード例、API情報を含む)
### 取得する情報
各URLから以下を抽出:
1. **基本情報**
- ページタイトル
- 概要(最初の1-2文)
2. **主要コンテンツ**
- セクション見出し
- 重要な説明文(箇条書き)
3. **コード例**
- 基本的な使用例(最初のコードブロック)
- インポート文
4. **API情報**(APIリファレンスページの場合)
- 関数/コンポーネント名
- パラメータと型
- 戻り値
### WebFetchプロンプト(詳細版)
```
WebFetch(
url="[URL]",
prompt="Extract the following from this documentation page:
1. Page title
2. Brief description (1-2 sentences)
3. Main content summary (key points as bullet list)
4. First code example with imports
5. API signatures if present (function name, parameters, return type)
Format as structured markdown."
)
```
### 並列取得
ページ数が多い場合はTaskエージェントを並列起動:
```
Task(subagent_type="Explore", prompt="以下のURLから詳細情報を抽出: [URLリストA]")
Task(subagent_type="Explore", prompt="以下のURLから詳細情報を抽出: [URLリストB]")
```
### カテゴリ分け
URLパターンで自動分類:
| パターン | カテゴリ |
|----------|----------|
| `/getting-started`, `/quickstart`, `/intro` | Getting Started |
| `/installation`, `/setup` | Getting Started |
| `/api`, `/reference` | API Reference |
| `/concepts`, `/fundamentals` | Core Concepts |
| `/guides`, `/how-to` | Guides |
| `/examples`, `/tutorials` | Examples |
| `/advanced`, `/configuration` | Optional |
---
## Phase 3: docs.md生成
### 生成手順
1. **収集情報の整理**
- Phase 2で取得した全情報を整理
- 重複・無効URLを除外
- 情報の欠落がないか確認
2. **カテゴリ分類**
- URLパターンと内容に基づいて分類
- Getting Started / Core Concepts / API Reference / Guides / Examples
3. **構造化**
- 各ページごとにサブセクションを作成
- 概要 → 主要ポイント → コード例 → API情報 の順で記載
4. **品質チェック**
- 下記チェックリストを確認
5. **保存**
- `references/docs.md` として保存
### template.mdを参照
[templates/docs.md](templates/docs.md) を参照して、詳細な出力形式で整形する。
### 出力形式(詳細版)
```markdown
# {Library}
> {ライブラリの概要を1-2文で}
## Getting Started
### Installation
- **URL**: https://...
- **概要**: インストール方法
- **手順**:
- npm install {package}
- 設定ファイルの作成
### Quick Start
- **URL**: https://...
- **概要**: 基本的な使い方
- **コード例**:
```tsx
import { useQuery } from '@tanstack/react-query'
function Example() {
const { data } = useQuery({ queryKey: ['todos'], queryFn: fetchTodos })
}
```
## API Reference
### useQuery
- **URL**: https://...
- **概要**: データ取得用フック
- **シグネチャ**: `useQuery(options: UseQueryOptions): UseQueryResult`
- **主要パラメータ**:
- `queryKey`: クエリの一意識別子
- `queryFn`: データ取得関数
- **コード例**:
```tsx
const { data, isLoading, error } = useQuery({
queryKey: ['user', userId],
queryFn: () => fetchUser(userId),
})
```
```
### 品質チェックリスト
生成後、以下を確認:
- [ ] **必須セクション**: Library名、Description、Getting Started が含まれている
- [ ] **URL検証**: 全URLがアクセス可能
- [ ] **コード例**: 主要機能にコード例がある
- [ ] **API情報**: API Referenceページにはシグネチャがある
- [ ] **重複なし**: 同じ内容が複数回出現していない
- [ ] **網羅性**: 主要なドキュメントページが含まれている
### 良い例・悪い例
**良い例:**
```markdown
### useQuery
- **URL**: https://tanstack.com/query/latest/docs/react/reference/useQuery
- **概要**: サーバーからのデータ取得・キャッシュ・再検証を行うフック
- **シグネチャ**: `useQuery(options): UseQueryResult`
- **主要パラメータ**:
- `queryKey: QueryKey` - クエリの一意識別子
- `queryFn: QueryFunction` - データ取得関数
- **コード例**:
```tsx
const { data, isLoading } = useQuery({
queryKey: ['todos'],
queryFn: fetchTodos,
})
```
```
**悪い例:**
```markdown
- [useQuery](URL): フック
```
### 保存
```bash
# references/docs.md として保存
Write to: .claude/skills/{library}/references/docs.md
```
---
## Phase 4: SKILL.md生成
### ファイル構成
```
{library}/
├── SKILL.md # メインスキルファイル
└── references/
└── docs.md # llms.txt形式(リンク集 + 概要)
```
### SKILL.mdテンプレート
[templates/skill.md](templates/skill.md) を参照して、SKILL.mdを生成する。
プレースホルダーを実際の値に置き換える:
- `{library}`: スキル名(小文字、ハイフン区切り)
- `{Library}`: ライブラリの表示名
- `{package-name}`: メインパッケージ名
- `{日本語キーワード}`: 日本語での呼び出しキーワード
### descriptionの書き方
**ルール:**
- 1024文字以内
- 英語(最終行の日本語キーワード部分を除く)
- 三人称・動詞で始める
**トリガー条件を含める:**
1. import文のパターン: `imports "package-name"`
2. ワイルドカード: `any "@tanstack/*" packages`
3. ユーザーの質問パターン: `asks about {Library}`
4. 関連キーワード: 主要なAPI名、関数名、コンポーネント名
**良い例:**
```yaml
description: |
Provides documentation for TanStack Query (React Query).
Use when working with code that imports "useQuery", "useMutation", "@tanstack/react-query", or any "@tanstack/query-*" packages.
Use when the user asks about data fetching, caching, or shows code with React Query hooks.
Can also be invoked directly with "React Query", "TanStack Query", "データフェッチ".
```
---
## 生成されるスキルの動作
```
スキル発動時:
1. references/docs.md を読む
2. 質問に関連するセクション/URLを特定
3. WebFetchで該当URLの詳細を取得
4. 回答を生成
```
**メリット:**
- スキル生成が高速(全文クロール不要)
- 常に最新情報(都度Fetch)
- ストレージ節約
- llms.txtありなしで同じ使い勝手
---
## クロールのベストプラクティス
技術的な詳細は [crawling-guide.md](references/crawling-guide.md) を参照。
---
## トラブルシューティング
### SPAサイトで取得できない
- 静的なドキュメントページを探す
- GitHubリポジトリのドキュメントを確認
- 代替ドキュメントソース(MDN、DevDocs等)を検討
### 構造が複雑
- 手動でdocs.mdを調整
- 目次を追加して参照しやすくする
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!