extract について
extractは、Gauntletのコードベースナレッジベースを構築または再構築するスキルです。AST抽出とAIによる説明を組み合わせ、関連項目を相互参照し、既存の注釈を保持します。
主な機能
- 01ASTからコード項目を抽出
- 02自然言語による項目の詳細説明
- 03関連モジュール間の相互参照
- 04既存の注釈の統合
- 05カテゴリ別件数とカバレッジ不足の報告
活用シーン
- 01コードベースのナレッジベース作成
- 02コード変更後のナレッジベース再構築
- 03モジュール間の関連項目の特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill extractインストール後、Claude Code で/extractを入力して読み込まれたか確認します。
詳細
コードベースの知識を抽出する
.gauntlet/knowledge.json のナレッジベースを構築または再構築します。
使用しない場合
- パーサーでは把握できない暗黙知(
gauntlet:curateを使用) - コードグラフの構築(
gauntlet:graph-buildを使用)
手順
-
対象ディレクトリを特定する:現在の作業ディレクトリ、 またはユーザーが指定したパスを使用します
-
AST 抽出を実行する:抽出スクリプトを実行します
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/extractor.py <target-dir> -
AI による拡充:抽出した各エントリーについて、ビジネスロジック、データフロー、 アーキテクチャ上の役割、設計理由を自然言語で説明するよう
detailフィールドを拡充します -
相互参照:インポート、共通の型、データフローパスを照合し、 モジュール間で関連するエントリーをリンクします
-
アノテーションと統合する:
.gauntlet/annotations/にある既存のキュレーション済みエントリーを保持します -
保存する:
.gauntlet/knowledge.jsonに書き込みます -
報告する:カテゴリ別の概要、カバレッジの不足箇所、難易度の分布を表示します
完了条件
- スキルの完了後に
.gauntlet/knowledge.jsonが存在し、有効な JSON であること。.gauntlet/annotations/のエントリーが統合され、上書きされていないこと - レポートに全 7 カテゴリ(business_logic、architecture、data_flow、api_contract、pattern、dependency、error_handling)のエントリー数が示され、カバレッジの不足箇所が特定されていること
- 抽出された各エントリーに、自然言語による説明を含む
detailフィールドがあること(生の AST ノード名だけではないこと) - インポート、共通の型、またはデータフローパスを共有するモジュール間に、相互参照リンクが存在すること
カテゴリの優先順位
- business_logic(重み 7)
- architecture(重み 6)
- data_flow(重み 5)
- api_contract(重み 4)
- pattern(重み 3)
- dependency(重み 2)
- error_handling(重み 1)
コメント
Markdown 対応