shadscan-pre-commit について
Shadscan をエージェント管理のコミット前チェックポイントとして使うスキルです。JSON 監査スコアをタスクごとの下限と比較し、リポジトリ自動化は追加しません。
主な機能
- 01リポジトリの指示と作業ツリー状態を確認
- 02ローカルまたはパッケージマネージャー経由で JSON 監査を実行
- 03ベースラインまたは依頼に基づいてスコア下限を設定
- 04エージェント作成コミットの前に監査を再実行
- 05明示的な許可がない限り下限未満のコミットを रोक止
活用シーン
- 01コード作業による既存 Shadscan スコアの低下を防止
- 02エージェントのコミットに指定最低スコアを要求
- 03コミット前に監査結果を確認し、範囲内の問題を修正
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ theorcdev/ skills --skill shadscan-pre-commitインストール後、Claude Code で/shadscan-pre-commitを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Shadscan のプリコミット
Shadscan をエージェントが管理するチェックポイントとして使用します。このスキルが変更するのはエージェントのコミットワークフローのみであり、リポジトリの自動化は追加しません。
ワークフロー
- ファイルを変更する前に有効化します。
- リポジトリの指示と
git statusを確認します。 - パッケージマネージャーを特定し、
node_modules/.bin/shadscanが存在するか確認します。 - 無関係な変更を元に戻したり、ステージしたり、書き換えたりしないでください。
- リポジトリの指示と
- タスクのベースラインを確立します。
- ローカルバイナリがある場合は、
--jsonを付けて実行します。 - ない場合は、以下の対応するワンショットコマンドを使用します。
- JSON のトップレベルにある
scoreを読み取ります。人間向けレポートは解析しないでください。 scoreがnullの場合は、適用可能性の問題を説明して停止します。
- ローカルバイナリがある場合は、
- タスクの下限を設定します。
- タスクによる回帰を防ぐため、デフォルトではベースラインスコアを使用します。
- ユーザーがより高い整数の下限を指定した場合は、その高い値を使用します。
- ユーザーが回帰を明示的に承認しない限り、ベースラインを下回る値にしないでください。
- ベースラインと下限はタスクのコンテキスト内に保持し、設定ファイルには書き込まないでください。
- 依頼された作業と通常の検証を完了します。
- エージェントが作成するコミットの直前に必ず、以下を行います。
- 作業ツリー全体に対して、同じ JSON 監査を再実行します。
- 数値スコアがタスクの下限以上であることを必須とします。
- 監査に失敗した場合は、各指摘事項の証拠と修正方法を確認し、対象範囲内の問題を修正してから監査を再実行します。
- 合格に対象範囲外の作業が必要な場合は、停止して指摘事項を報告します。ユーザーから明示的な上書き指示がない限り、コミットしないでください。
- 監査に合格してからコミットします。通常のタスク概要とともに、ベースライン、下限、最終スコア、コミットを報告します。
ワンショットコマンド
ローカルの Shadscan バイナリが存在しない場合に限り、以下を使用します。
- pnpm:
pnpm dlx @shadscan/cli@next --json - npm:
npx --yes @shadscan/cli@next --json - Yarn:
yarn dlx --quiet --package @shadscan/cli@next shadscan --json - Bun:
bunx @shadscan/cli@next --json
検出したローカルバイナリは、node_modules/.bin/shadscan --json として直接実行するか、パッケージマネージャーのローカル実行コマンドで実行します。
ガードレール
- 依存関係をインストールしたり、
package.jsonやロックファイルを変更したりしないでください。 - Git を設定したり、リポジトリの自動化を追加したりしないでください。
- ステージ済みファイルを変更したり、Shadscan の自動修正機能を実行したりしないでください。
- ステージされた差分だけでなく、プロジェクト全体の作業ツリーを監査してください。
- 手動のコミットや、このスキルを読み込んでいないエージェントのコミットを阻止すると主張しないでください。
- ユーザーが現在の会話で明示的に上書きを指示しない限り、評価していない結果や下限未満の結果でコミットしないでください。
完了時の形式
ベースラインスコア、適用した下限、プリコミットスコア、監査コマンド、コミット、および明示的な上書きがあればその内容を含む簡潔な概要を返します。コミットが依頼されていない場合、または作成されなかった場合は、最終監査はコミットのチェックポイントではなく、参考情報として実施したものであると伝えます。
コメント
Markdown 対応