mcpField
L
ln-160-docs-skill-extractor

ln-160-docs-skill-extractor

github.com/levnikolaevichエージェントワークフロー584187 回インストール2 日前に更新
リポジトリ

ln-160-docs-skill-extractor について

プロジェクト文書から手順を探し、承認された内容を専用の作成・レビュー担当スキル経由で `.claude/commands/*.md` に変換するコーディネータースキルです。実行可能な手順と説明文書を区別します。

主な機能

  1. 01文書を優先したソース一覧の作成
  2. 02手順と説明的な節の分類
  3. 03抽出前のユーザー承認
  4. 04コマンド作成とレビューの委任
  5. 05重複の回避と原文書の維持

活用シーン

  1. 01デプロイやテスト手順のコマンド化
  2. 02既存コマンドの確認による重複防止
  3. 03報告前の生成コマンドファイルのレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-160-docs-skill-extractor

インストール後、Claude Code で/ln-160-docs-skill-extractorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
docs_quality_contract.md
markdown_read_protocol.md
meta_analysis_protocol.md
procedural_extraction_rules.md

詳細

パス: ファイルパス(references/、../ln-*)は、このスキルディレクトリを基準とします。

ln-160-docs-skill-extractor

タイプ: L2 コーディネーター カテゴリ: 1XX ドキュメントパイプライン ワーカー: ln-161-skill-creator、ln-162-skill-reviewer

プロジェクトのドキュメントをスキャンして手順を含むコンテンツを特定し、.claude/commands/*.md 配下の実行可能なスラッシュコマンドファイルに抽出します。宣言的なドキュメントは Markdown のまま残します。このスキルは手順を含むセクションをコマンド形式に変換する場合にのみ使用します。


概要

項目詳細
入力プロジェクトのドキュメント、テストドキュメント、任意のドキュメントレジストリ
出力対象プロジェクト内の .claude/commands/*.md ファイル
ワーカーln-161 がコマンドを作成し、ln-162 がレビューします
ソースポリシードキュメントを優先して抽出します。AGENTS.md と CLAUDE.md はルーティング専用です

ワークフロー

Phase 1: Discovery (route docs, build inventory)
    |
Phase 2: Classification (procedural vs declarative scoring)
    |
Phase 3: Extraction Plan (user approval)
    |
Phase 4: Delegate -> ln-161 (create commands)
    |
Phase 5: Delegate -> ln-162 (review commands)
    |
Phase 6: Report (aggregate results)

フェーズ 1:検出

必読: references/procedural_extraction_rules.md、references/markdown_read_protocol.md、references/docs_quality_contract.md を読み込みます。

何かを抽出する前に、ドキュメントを優先してインベントリを作成します。

ルーティングソース

検出のルーティングと読み取りの優先順位付けにのみ、次のファイルを使用します:

  • AGENTS.md
  • CLAUDE.md
  • 存在する場合は docs/project/.context/doc_registry.json

ルーティングソースからコマンドを抽出してはいけません。

抽出ソース

手順を含むコンテンツについて、次のソースのみをスキャンします:

  • docs/**/*.md
  • tests/README.md
  • tests/manual/**/*
  • README.md
  • CONTRIBUTING.md

また、次もスキャンします:

  • .claude/commands/*.md(コマンドの重複作成を避けるため)
検出ルール
  1. docs/project/.context/doc_registry.json が存在する場合は、次の順に優先します:
    • 正規ドキュメントを最初に
    • DOC_KIND=how-to を reference より先に
    • reference を index と explanation より先に
  2. 共通のセクション優先プロトコルに従って Markdown を読みます:
    • 大きなファイルや内容になじみのないファイルでは、まずアウトラインを使用します
    • ヘッダーマーカーと冒頭のセクションを最初に読みます
    • 手順が含まれている可能性のあるセクションのみ読み進めます
  3. 標準的なドキュメントの枠組みセクションは、抽出候補から除外します:
    • Quick Navigation
    • Agent Entry
    • Maintenance
    • SCOPE、DOC_KIND、DOC_ROLE、READ_WHEN、SKIP_WHEN、PRIMARY_SOURCES などのヘッダーマーカー
contextStore の構築
contextStore:
  project_root: {CWD}
  routing_sources:
    agents_md: true
    claude_md: true
    doc_registry: true
  existing_commands: [list of .claude/commands/*.md filenames]
  doc_inventory:
    - file: docs/project/runbook.md
      doc_kind: how-to
      doc_role: canonical
      sections:
        - header: "Deployment"
          line_range: [45, 92]
          signals: { code_blocks: 3, numbered_steps: 5, imperative_verbs: 8 }

フェーズ 2:分類

共通の手順抽出ルールを使って、候補となる各セクションを評価します。

分類条件アクション
PROCEDURALproc >= 4 かつ proc > decl * 2コマンドに抽出
DECLARATIVEdecl >= 4 かつ decl > proc * 2ドキュメントとして保持
MIXED両方とも >= 3手順を含むサブセクションのみ抽出
THIN両方とも < 3スキップ

フィルタリング:

  • 既存の .claude/commands/*.md で対応済みのセクションを除外します
  • 標準的なドキュメントの枠組みセクションを除外します
  • 複数のセクションが意味的に重複する場合は、DOC_KIND=how-to を優先します

フェーズ 3:抽出計画(ユーザー承認ゲート)

ファイルを作成する前に、分類結果をユーザーに提示します。

Found {N} procedural sections in {M} files:

| # | Source | DOC_KIND | Section | Score | Proposed Command |
|---|--------|----------|---------|-------|------------------|
| 1 | runbook.md | how-to | Deployment | P:8/D:1 | deploy.md |
| 2 | tests/README.md | index | Running Tests | P:7/D:2 | run-tests.md |

Existing .claude/commands/ (will skip): refresh_context.md, build-and-test.md

Include? (e.g., "1,2" or "all" or "all skip 2")

ユーザーが何も承認しなかった場合は、No skills to create. と表示して終了します。


フェーズ 4:ln-161 に委任(スキル作成)

承認されたセクションのみを ln-161-skill-creator に渡します。

Agent(
  description: "Create commands from procedural docs",
  prompt: "Execute skill creator.\nStep 1: Invoke:\n  Skill(skill: \"ln-161-skill-creator\")\nCONTEXT:\n{approved_sections}",
  subagent_type: "general-purpose"
)

正規化済みのペイロード:

{
  "approved_sections": [
    {
      "source_file": "docs/project/runbook.md",
      "section_header": "Deployment",
      "line_range": [45, 92],
      "command_name": "deploy.md",
      "doc_kind": "how-to",
      "doc_role": "canonical"
    }
  ]
}

収集する項目:

  • 作成されたファイルパス
  • ソースからコマンドへのマッピング
  • コマンドごとの概要

フェーズ 5:ln-162 に委任(スキルレビュー)

作成したコマンドのパスを、COMMAND モードで ln-162-skill-reviewer に渡します。

Agent(
  description: "Review created commands",
  prompt: "Execute skill reviewer in COMMAND mode.\nStep 1: Invoke:\n  Skill(skill: \"ln-162-skill-reviewer\", args: \"commands\")\nFILES: {list of created paths}",
  subagent_type: "general-purpose"
)

収集する項目:

  • ファイルごとの判定
  • 合計の pass/fix/warn 件数

フェーズ 6:レポート

作成結果とレビュー結果を集計します。

## Docs Skill Extractor -- Complete

| Metric | Count |
|--------|-------|
| Documents scanned | {N} |
| Sections analyzed | {N} |
| Procedural found | {N} |
| Commands created | {N} |
| Commands skipped (existing) | {N} |
| Review PASS | {N} |
| Review FIXED | {N} |
| Review WARN | {N} |

Created commands:
- .claude/commands/deploy.md (from runbook.md#Deployment)
- .claude/commands/run-tests.md (from tests/README.md#Running Tests)

重要なルール

  • ドキュメント優先の抽出: ドキュメントソースのみから抽出します。AGENTS.md と CLAUDE.md は参照先の特定に使用しますが、コマンドのソースにはしません。
  • セクション優先の読み取り: ファイル全体を読み取る前に、共有の Markdown 読み取りプロトコルを使用します。
  • 抽出前に分類: 手順として分類されたセクションのみを抽出します。
  • 重複の禁止: 既存の .claude/commands/*.md ですでに扱われているセクションはスキップします。
  • ユーザーの承認が必要: Phase 3 の確認前にコマンドを作成してはいけません。
  • 作成を委任: すべてのコマンドファイルの書き込みは ln-161 を通じて行います。
  • レビューを委任: すべてのコマンドの検証は ln-162 を通じて行います。
  • ドキュメントを保持: ソースドキュメントはそのまま保持します。

TodoWrite 形式(必須):

- Build docs inventory (in_progress)
- Invoke ln-161-skill-creator (pending)
- Invoke ln-162-skill-reviewer (pending)
- Aggregate report (pending)

ワーカーの呼び出し(必須)

ホストスキルの呼び出し: 委任には Skill(skill: "...", args: "...") が必須です。

  • Claude:Skill ツールを、記載どおりに呼び出します。
  • Codex:Skill ツールがない場合は、利用可能なスキルから指定されたスキルを見つけて SKILL.md を読み、args を $ARGUMENTS として扱い、そのスキルのワークフローを実行してから、結果または成果物を添えてここに戻ります。
  • ワーカーの処理をインラインで実行したり、対象スキルを実行せずにワーカーを完了扱いにしたりしてはいけません。
フェーズワーカーコンテキスト
4ln-161-skill-creatorソースのメタデータを含む、承認済みの手順セクション
5ln-162-skill-reviewerCOMMAND モードで作成されたコマンドファイルのパス

すべてのワーカー: Skill ツールを通じて呼び出します。ワーカーには必要なコンテキストのみを渡します。

完了の定義

  • 参照元を確認済み(AGENTS.md、CLAUDE.md、存在する場合はドキュメントレジストリ)
  • ドキュメント優先のソースから抽出対象の一覧を作成済み
  • 候補となるすべてのセクションを分類済み
  • 抽出計画についてユーザーの承認を取得済み
  • ln-161 が承認済みのすべてのコマンドを作成済み
  • ln-162 が作成されたすべてのコマンドをレビュー済み
  • スキャン、作成、レビューの指標を集約した最終レポートを作成済み

メタ分析

任意の参照資料:ユーザーが実行後のメタ分析またはプロトコル形式の実行振り返りを求めた場合に限り、references/meta_analysis_protocol.md を読み込みます。

スキルの種類:planning-coordinator。依頼された場合は、Phase 6 の完了後に実行します。planning-coordinator 形式でチャットに出力します。


バージョン: 1.0.0 最終更新日: 2026-03-26

コメント