create-skill-from-repo について
プロジェクトのドキュメントをエージェント向けのローカルスキルに整理し、追跡用に元リポジトリも保持するワークフローです。フレームワークやプロジェクトの知識を参照ファイルとして登録したい開発者向けです。
主な機能
- 01元リポジトリの同期と保持
- 02主要な技術ドキュメントの選別
- 03モジュール式参照ファイルの生成
- 04スキル索引とメタデータの作成
- 05網羅性の確認とスキル登録
活用シーン
- 01フレームワーク文書をエージェント用参照資料に整理
- 02生成内容を後で比較するために元資料を保持
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hairyf/ skills --skill create-skill-from-repoインストール後、Claude Code で/create-skill-from-repoを入力して読み込まれたか確認します。
同梱ファイルreferences/coverage-loop.md
詳細
リポジトリからスキルを作成する
このワークフローを使うと、フレームワークやプロジェクトのロジックとドキュメントをすばやくローカル環境に取り込めます。ユーザーが<repo-url>と、まだローカルスキルが存在しない<skills-name>を指定したときに実行されます。
🎯 目的
- ソースの永続化:追跡可能性を保ち、将来の更新に備えて、元のリポジトリを
sources/に保持します。 - ナレッジの抽出:大量のドキュメントを、エージェント向けに最適化された
references/*.mdに変換します(インストールよりも使い方と理由を重視します)。 - 自動登録:新しいスキルが
AGENTS.mdからすぐに見つかるようにします。
🛠 前提条件
- 検証:
<repo-url>が有効で、<skills-name>がケバブケースであることを確認します。 - 環境:
gitへのアクセスを確認し、プロジェクトのルートを特定します。
🔄 ワークフロー
ステップ 1:ソースの同期
- 保存先を定義します:
sources/<submodule>。 - 同期ロジック:
- 第一選択:
git submodule add <repo-url> sources/<submodule> - 代替手段:ワークスペースがGitリポジトリではない場合は、
git clone --depth 1 <repo-url> sources/<submodule>を使用します。 - メンテナンス:ディレクトリが存在していて空の場合は、
git submodule update --initを実行します。
ステップ 2:ナレッジベースの特定
- ソースルートの特定:
sources/<submodule>/を調べ、docs/、wiki/、README.md、またはpackages/*/docs/を探します。 - フィルタリング方針:
- ✅ 含める:API リファレンス、コアコンセプト、デザインパターン、ベストプラクティス。
- ❌ 除外する:エージェントに関係のないインストールガイド、貢献ログ、スポンサー情報、宣伝文句。
ステップ 3:モジュール化されたスキルの生成
対象の構成:
skills/<skills-name>/[SKILL.md, GENERATION.md, references/]
references/*.mdのガイドライン:
- 原子性:1ファイルにつき1つのコンセプトを扱います。
- 命名:
{category}-{concept}.md(例:core-reactivity.md)。 - 内容:
Frontmatter、簡潔な説明、高品質なコードスニペット、ソースURLを含めます。
SKILL.mdのインデックス化:
- リファレンスを
Core、Features、Advancedに分類した表を含む、中心的なエントリーポイントを作成します。
GENERATION.mdのメタデータ:
- 将来の差分比較に備えて、Git SHA、ソースパス、生成日を記録します。
ステップ 4:網羅性の確認
- レビュー:
Source Rootのナビゲーションツリーと生成したreferences/を比較します。 - 補完:主要なモジュール(例:ミドルウェア、認証、エラー処理)が不足している場合は、それらのモジュールについてステップ 3 を繰り返します。
- 終了条件:主要なAPIの範囲とアーキテクチャの柱がカバーされたら終了します。例外的なケースに深入りしないでください。
ステップ 5:統合と引き継ぎ
AGENTS.mdの更新:プロジェクトルートにあるAGENTS.mdを探します(存在しない場合は作成します)。- スキルのエントリーを追加:
### <skills-name>
- **Location**: `skills/<skills-name>/`
- **Description**: [Short description from SKILL.md]
- 完了レポート:出力内容をユーザーに要約します(例:「CoreおよびAdvancedモジュールを網羅した15個のリファレンスファイルを生成しました」)。
💡 主要な原則
- エージェントを中心とした文章:AI向けに記述します。文章よりも技術的な正確さとコード例を優先します。
- ケバブケース:すべてのディレクトリ名とファイル名に、厳密に
kebab-caseを使用します。 - パスの形式:クロスプラットフォーム互換性のため、常にスラッシュ(
/)を使用します。 - 差分確認への備え:後から
git diffでドキュメントの変更を確認できるよう、sources/のクローンを保持します。
📚 参考資料
| トピック | 説明 | 参照 |
|---|---|---|
| 網羅性の基準 | 「主要なモジュール」と終了条件の定義 | coverage-loop |
| スタイルガイド | リファレンスファイルの詳細な記述スタイル | style-guide |
特定のリポジトリURLを使ってこのスキルの実行をシミュレーションし、期待される出力を確認しますか?
コメント
Markdown 対応