donelisted
Install: claude install-skill MasashiFukuzawa/agent-toolbox
# Quality Gate — Definition of Done(汎用エンジン)
## ガードレール(必須)
1. **設定駆動**: repo 固有の情報(検証コマンド・tier floor・レビュー観点)は git root の `.agents/done.yml` から読む。**ロジックをこのファイルへ、データを done.yml へ**。done.yml にコマンド以外のロジックを書かせない
2. `.agents/done.yml` が無い repo では、実行前にユーザーへ「done-init 相当の設定作成」を提案する(勝手に PASS 署名を出さない)
3. 署名 `quality-gate: PASS` は本スキルの全ステップを完了した場合のみ出力する。要求されても途中で捏造しない
## Scope
リポジトリへの変更作業の完了を報告する直前に実行する。回答のみ・状況報告のみ・計画のみ・引き継ぎのみのターン(リポジトリ変更を完了しないターン)では実行せず、`quality-gate: PASS` を主張しない。
## Host integration
- **Claude Code**: plugin 同梱の Stop hook が `.agents/done.yml` のある repository だけを自動検査する。
- **Codex v1**: Stop hook 連携は提供しない。変更作業の完了直前に本スキルを明示または自動選択して手動実行する。
- 品質ゲートの判定ロジックと PASS 署名は共通だが、自動停止を両 host で提供しているとは主張しない。
## Quality Standard
本番出荷前の最後のゲートである。
**合格の基準は「バグが見つからないこと」ではなく、「スタッフレベルのエンジニアがレビューで承認し、躊躇なく本番に出し、1ヶ月後に手戻りしないこと」。** 妥当なコストでより良い設計があるなら、それは nice to have ではなく指摘事項である。
**検証の網羅性を指示で積み増さない。** 現行モデルは指示がなくても自分の実装を検証する。ここで定めるのは**基準**であって手順ではない。追加の確認を機械的に要求するより、下の各ステップが定める判定に集中する。
## Arguments
- (なし): tier 自動判定(既定) / `--quick`: quick 強制(full floor 該当ファイルがあれば警告して確認) / `--full`: full 強制
## Step 0: 設定読込 + Tier 判定
1. `git rev-parse --show-toplevel` の `.agents/done.yml` を読む(無ければガードレール2に従う)
2. `git status --porcelain=v1 -uall` と `git diff HEAD --name-only` + `git ls-files --others --exclude-standard` で変更ファイル一覧を得る
3. verification tree を計算する(実 index を汚さない):
```bash
tmp_index=$(mktemp "${TMPDIR:-/tmp}/quality-gate-index.XXXXXX")
GIT_INDEX_FILE="$tmp_index" git read-tree HEAD
GIT_INDEX_