recon について
Reconは、Gitリポジトリを把握し、証拠付きの簡潔なレポートをリポジトリ外に保管するスキルです。既存マップの閲覧、修正、再構築に対応し、リポジトリの識別とコミット差分も確認します。
主な機能
- 01リポジトリマップの閲覧・修正・再構築
- 02worktree間でのリポジトリ識別
- 03コミット差分と未コミットパスの追跡
- 04証拠付きセクションの保存
- 05中断したマッピング作業の再開
活用シーン
- 01保存済みリポジトリマップの確認
- 02未知のコードベースの記録
- 03コミット変更後のマップ更新
- 04中断したマッピング作業の再開
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ prathamdby/ skills --skill reconインストール後、Claude Code で/reconを入力して読み込まれたか確認します。
同梱ファイルreferences/mapping.md
詳細
Recon
ルートとメモリ
デフォルトでは、既存のメモリにパッチを適用し、それ以外の場合はコールドマップを作成します。「既存のレポートを読む」または「保存済みのマップを表示する」はreadを選択し、更新や再構築は行いません。「更新」「再構築」「一から」は再構築を選択します。名前が指定された領域を重点的に扱います。read/rebuild または rebuild/patch の指示が競合する場合は BLOCKED です。
<anchor> はこのスキルの絶対ディレクトリとして解決します。メモリは対象リポジトリの外にある <anchor>/memory/ に保存します。リポジトリのルート、HEAD、変更のあるパス、Git の実際の絶対 common directory を解決します。共有チェックアウトのキーは <label>-<hash8>.md です。common directory を SHA-256 でハッシュし、先頭から8桁を使います。.git の場合、label は親ディレクトリのベース名、それ以外の場合は自身のベース名です。
まずそのキーを試し、次に現在のルートと git worktree list --porcelain で得たプライマリチェックアウトのルートをハッシュしたレガシーキーを試します。各候補について、フロントマターの repo が同じ common directory を指していることを確認します。SHA が一致するだけでは、リポジトリの同一性は確認できません。同一性を検証できない場合は BLOCKED です。共有キーを優先します。複数のレガシー候補で head が異なる場合は、明示的にパスを指定する必要があります。指定されたレポートのパスにも、同じ同一性チェックを適用する必要があります。
フロントマター:repo(プライマリチェックアウトのルート)、完全なコミット head、ISO 形式の updated。
セクション:Layout、Entry points、Modules、Data flows、Commands、Conventions、Gotchas、Evidence。すべての主張に根拠を付記します。各セクションの箇条書きは最大10項目、全体で最大200行です。検証後、同じディレクトリに .tmp を書き込み、アトミックに名前を変更します。
1. 特定
route | memory | stored head | HEAD | dirty | current | pending | terminal を記録します。
readの場合、既存のメモリだけを開きます。ディレクトリ、台帳、スナップショットは作成しません。
map/rebuild の場合は、各項目の処理後にアトミックな名前変更で台帳を <memory>.ledger に保存し、成功時に削除します。ルートと候補が確定したら完了です。
2. 読み取りまたはマッピング
Read: 保存済みのマップを、スナップショットのパス/日付/head、対象範囲、変更のオーバーレイとともに返します。保存された head と HEAD を比較し、古いメタデータや解決できないメタデータがあれば開示します。ただし、修復したり、主張を更新するためにソースを調査したりしません。レポートがない場合は NO_REPORT とし、検索したパスを示します。保存済みのマップと制約事項を提示し、ファイルに変更がない状態で READ を完了とします。
Map: コールド/再構築の調査、またはコミット済みのウォームドリフトには references/mapping.md を使用します。head がない、または解決できない場合はコールドパスを使用します。検証済みのレガシーメモリは再利用しますが、新しいスナップショットは共有キーに書き込みます。レガシーファイルは変更しません。すべてのセクションに根拠があるか None found であり、制限を守り、保存された head が現在の HEAD と一致したら完了です。
3. 再開とレポート
中断後は HEAD と変更されたパスを再計算し、台帳に差異があれば該当する作業を最初からやり直します。最初の保留項目から再開します。マップをスレッド内に提示し、セクションを「再構築」「パッチ適用済み」「代表例のみ」として分類します。パス、対象範囲、ドリフト、未検証領域、変更のオーバーレイを明記します。ウォームマップの末尾には Drift since last recon を記載します。各主張の対象範囲が開示されたら完了です。
終端状態:READ、NO_REPORT、SUCCESS、BLOCKED。書き込み時、保存する head は必ず実在するコミットを指します。メモリはマップであり、インベントリや履歴ではありません。