mcpField
D
decodie-verify

decodie-verify

github.com/owenbushテスト・品質1245 回インストール9 週間前に更新
リポジトリ

decodie-verify について

decodie-verify は、リポジトリ内の `.decodie/index.json` にある学習エントリーと参照先のソースコードが一致するか確認するスキルです。不一致を古い状態として示し、検証済みのエントリーには現在のコミット SHA を記録します。

主な機能

  1. 01参照ファイルとアンカーの確認
  2. 02不一致エントリーの古い状態への更新
  3. 03検証済みコミット SHA の記録
  4. 04パスによる対象の絞り込み
  5. 05インデックスの指定フィールドのみ更新

活用シーン

  1. 01コード変更後の学習参照の確認
  2. 02指定ディレクトリに関するエントリーの検証

インストール

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

$npx skills add https://github.com/owenbush/decodie-skill --skill decodie-verify

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

詳細

Decodie — 検証モード

.decodie/index.json 内のすべての学習エントリーについて、参照先のソースコードと一致していることを確認し、一致しないエントリーを古いものとしてマークします。確認済みのエントリーには現在のコミット SHA を記録します。

このモードでは .decodie/index.json のみを変更します。セッションファイル、ソースコード、.decodie/ 外のファイルは変更しません。

有効化

任意のパス引数を解析します。

  • パスが指定されていない場合は、すべてのエントリーを検証します。
  • パスが指定されている場合は、sources(または references[].file)がそのパスと重なるエントリーのみを検証します。ディレクトリの場合、そのディレクトリで始まるソースファイルがあるエントリーが対象になります。
  • パスが存在しない場合は、エラーを報告して停止します。

セットアップ

  1. .decodie/ が存在することを確認します。存在しない場合は、「.decodie/ ディレクトリが見つかりません — 検証するものはありません。」と表示して停止します。
  2. .decodie/index.json を読み込みます。空の場合は、「検証するエントリーがありません。」と表示して停止します。
  3. 現在のコミット SHA を取得します。
    git rev-parse HEAD
    
    Git リポジトリでない場合は警告を表示して続行します(アンカーのチェックは実行しますが、verified_sha は設定できません)。

検証プロセス

対象の各エントリーについて:

  1. ソースファイルを解決します。 sources を優先し、なければ一意な references[].file の値を使用します。後者の場合は、sources フィールドを補完します。

  2. 各参照 { file, anchor, anchor_hash } を確認します。

    • ファイルが見つからない場合 → 参照は失敗です。
    • ファイルが存在する場合 → リテラル文字列 anchor を検索します。見つかった場合は SHA-256 ハッシュを再計算し、先頭 8 桁の 16 進数が anchor_hash と一致することを確認します。
  3. 結果を判定します。

    • すべての参照が解決できた場合 → stale: false、verified_sha = HEAD SHA。
    • いずれかの参照が失敗した場合 → stale: true、verified_sha は変更しません。
  4. index.json に書き戻します。 その他のフィールドと並び順は保持します。

レポート

Decodie verify
  Verified:  N entries (verified_sha -> <short-sha>)
  Stale:     M entries
  Skipped:   K entries (out of scope)
  Backfilled sources on: B entries

古いエントリーがある場合は、一覧表示します。

Stale entries:
  - entry-1711540000-a1b2 -- references/0: src/lib/foo.ts (anchor not found)
  - entry-1711540123-c3d4 -- references/1: src/lib/bar.ts (file missing)

重要な注意事項

  • エントリー内容は追記のみです。 更新できるのは sources、verified_sha、stale のみです。
  • 冪等です。 変更がない状態で 2 回実行すると、何も変更されません。
  • パスはフィルターです。 対象外のエントリーはスキップされ、クリアされません。
  • Git の履歴は書き換えません。 git rev-parse で HEAD を読み取るだけです。

コメント