ai-dev-verify
Skill3 starsChanged 12 days agoMITView on GitHub
PlanGate の V-1〜V-4 受け入れ検査と handoff.md 発行を行う。Use when: exec 完了後に受け入れ検査を実行し PR 準備したい時。
In this repository75 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/plangate.mdcCursor rule
- acceptance-criteria-buildSkill
- acceptance-reviewSkill
- ai-dev-brainstormSkill
- ai-dev-execSkill
- ai-dev-planSkill
- ai-loop-cycleSkill
- architecture-sketchSkill
- brainstormingSkill
- breakdown-gateSkill
- codex-multi-agentSkill
- codex-mvp-splitSkill
- context-loadSkill
- context-packagerSkill
- design-gateSkill
- diff-auditSkill
- edgecase-enumerationSkill
- evidence-ledgerSkill
- feature-implementSkill
- ho-apply-scriptSkill
- instruction-debt-auditSkill
- intent-classifierSkill
- known-issues-logSkill
- local-exec-handoffSkill
- manual-cloud-taskSkill
- nonfunctional-checkSkill
- plangate-setupSkill
- plan-normalizationSkill
- plan-review-gateSkill
- pr-decisionSkill
- ref-integrity-scanSkill
- requirement-gap-scanSkill
- review-gateSkill
- risk-assessmentSkill
- skill-creatorSkill
- skill-policy-routerSkill
- subagent-delegation-briefSkill
- subagent-dispatchSkill
- subagent-driven-developmentSkill
- subagent-team-designSkill
- systematic-debuggingSkill
- working-contextSkill
- acceptance-criteria-buildSkill
- acceptance-reviewSkill
- ai-loop-cycleSkill
- architecture-sketchSkill
- brainstormingSkill
- breakdown-gateSkill
- codex-multi-agentSkill
- context-loadSkill
- diff-auditSkill
- edgecase-enumerationSkill
- feature-implementSkill
- ho-apply-scriptSkill
- hypothesis-loggerSkill
- instruction-debt-auditSkill
- intent-classifierSkill
- known-issues-logSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 99
V-1 受け入れ検査: test-cases.md の各 AC を機械的に PASS/FAIL 突合(推測ではなく実行結果のみ)。FAIL は exec へ差し戻し。evidence: evidence/test-runs/, evidence/verification/。
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AI-Driven Verify (PlanGate / Codex 共用)
PlanGate ワークフローの verify & handoff フェーズ(WF-05) を Codex / Claude Code 両方で実行する skill。Rule 5(最終成果物は毎回 handoff に集約)を担保する。
本スキルは bundled resources(
references/)で自己完結する。パス表記の規約(重要): 本 SKILL.md 中の
references/…は、すべて 本スキル ディレクトリからの相対パス(=<skill_dir>/…)であって、導入先リポジトリのルートからの 相対パスではない。実行時はまず<skill_dir>(このファイルが置かれているディレクトリ)を 解決してから使う:
環境 <skill_dir>plugin 導入先(Claude marketplace) <plugin_root>/skills/ai-dev-verify/install.sh --claude導入先.claude/skills/ai-dev-verify/Codex 導入先 .codex/skills/ai-dev-verify/上流リポジトリ(正本側) .agents/skills/ai-dev-verify/導入先が独自の正本(上流リポジトリの
docs/配下に相当するもの)を別途保持している 場合は、そちらを優先すること。
Read First
参照解決順(導入先で必ずこの順に探す)
本 Skill は 上流リポジトリ基準の docs/** パスを直接参照しない(#1232)。docs/** は
install.sh --claude / plugin(Claude marketplace)/ Codex の 3 経路とも配布対象外であり、
書いた時点で導入先では必ず空振りするためである。参照の解決は次の順で行う:
<skill_dir>配下の同梱物(references/)を第一に読む — 契約 doc と handoff テンプレートは本スキルに同梱されている(「同梱リファレンス」節の一覧)- 導入先リポジトリが独自の正本(上流の
docs/配下に相当するもの)を保持していれば、 そちらを優先する - rules(
rules/*.md)だけは配布経路によって着地が異なるため、次の順で探す:- 導入先リポジトリの相対パス(例:
.claude/rules/working-context.md) - 無ければ plugin root 配下(例:
<plugin_root>/rules/working-context.md)<plugin_root>は Bash でls "${CLAUDE_PLUGIN_ROOT}/rules/"を実行して得た絶対パス。 Read ツールは絶対パスを要求し環境変数を展開しないため、${CLAUDE_PLUGIN_ROOT}/...という文字列をそのまま Read しても必ず失敗する- 変数が空・未設定なら glob(
~/.claude/plugins/cache/**等)で推測せず次へ進む
- 導入先リポジトリの相対パス(例:
- いずれでも解決できなければ 「解決できなかった」と明示し、同梱
references/と本 Skill の 記述を代替正本として扱い、推測で内容を補わない
plugin root 直下に docs/ を探しに行かないこと: plugin が配布するのは
agents / commands / skills / rules 等の定義ディレクトリのみで docs/ を配布対象として
認識せず、plugin root 配下に相当する配布物が存在しないため必ず空振りする。
| 参照 | install.sh --claude 経由 | plugin(Claude marketplace)経由 | Codex 経由 |
rules/*.md(下記 3〜6) | .claude/rules/ に着地(解決可) | <plugin_root>/rules/ で解決 | 未配置(解決不可 → 手順 4 へ) |
| 契約 doc・handoff テンプレート | <skill_dir>/references/ に同梱(解決可) | <skill_dir>/references/ に同梱(解決可) | <skill_dir>/references/ に同梱(解決可) |
bin/**(CLI) | コピー対象外(解決不可) | バンドル対象外(解決不可) | 未配置(解決不可) |
scripts/** | コピー対象外(解決不可) | <plugin_root>/scripts/ は存在するが install-plangate-skills.sh のみ(apply-claude-settings.sh / check-settings-wiring.sh 等は解決不可) | 未配置(解決不可) |
例外(上流リポジトリ内のドッグフーディング経路 / #1249 MINOR-3): 上表「Codex 経由」の 「同梱(解決可)」が成立するのは 配布物経由(
plugin/plangate/scripts/install-plangate-skills.sh。 source はplugin/plangate/skills/)に限る。上流リポジトリ自身が.codex/skills/を作るscripts/install-plangate-skills-to-codex.shは source が.agents/skills/であり、そこには 本 skill のreferences/が 存在しない(references/はscripts/sync-plugin-plangate.shがplugin/plangate/skills/**にだけ生成する)。したがって上流 repo の.codex/skills/<skill>/references/は 構造上つねに不在であり、この経路では契約 doc・ テンプレートは手順 4(解決できなかったと明示)に落ちる。上流ではdocs/**の正本を直接 読めるため実害は無いが、上表の「解決可」を上流の.codex/にまで拡大解釈しないこと。 経路自体の是正(source の一本化)は #1086 の裁定待ち。
docs/working/TASK-XXXX/*(下記 7)は配布物ではなく導入先で作成する作業成果物なので、
導入先リポジトリ内でそのまま解決する。
同梱リファレンス(<skill_dir>/references/)
| ファイル | 役割 |
references/handoff.md | handoff.md 6 要素の正本テンプレート |
references/c3-prime-contract.md | approval_kind: "c3-prime" の受理契約(§3〜§5)の正本 |
references/settings-wiring-contract.md | settings wiring 契約(必要 hook の定義) |
references/core-contract.md | 実行契約(Iron Law / Stop rules / Output discipline)の正本 |
references/plangate.md | PlanGate 概要ガイド |
読む順序
CLAUDE.mdAGENTS.md.claude/rules/working-context.md→ fallback<plugin_root>/rules/working-context.md(handoff 必須化・6 要素・settings タスクロックの正本).claude/rules/hybrid-architecture.md→ fallback<plugin_root>/rules/hybrid-architecture.md(Rule 5).claude/rules/review-principles.md→ fallback<plugin_root>/rules/review-principles.md(V-3 外部レビュー観点).claude/rules/mode-classification.md→ fallback<plugin_root>/rules/mode-classification.md(V-2/V-3/V-4 の mode 別適用)docs/working/TASK-XXXX/plan.md/test-cases.md/status.mdreferences/handoff.md(同梱。handoff.md 6 要素の正本テンプレート。導入先が独自テンプレートを持つ場合はそちらを優先)
V-1〜V-4 の概要
mode 別の適用範囲は .claude/rules/mode-classification.md(fallback <plugin_root>/rules/mode-classification.md)のフェーズ適用マトリクスを正本とする。各フェーズの趣旨:
- V-1 受け入れ検査: test-cases.md の各 AC を機械的に PASS/FAIL 突合(推測ではなく実行結果のみ)。FAIL は exec へ差し戻し。evidence:
evidence/test-runs/,evidence/verification/。 - V-2 コード最適化 (high-risk / critical): 動作不変で可読性・効率性改善。テスト再実行で回帰なしを保証。
- V-3 外部モデルレビュー (standard 以上): 5 観点 + Severity 判定。R-NNN 採番で
review-external.md追記専用。 - V-4 リリース前チェック (critical): ドキュメント整合 / マイグレーション / ロールバック / セキュリティ。
settings タスクロック(V-1 / handoff 完了の前提条件)
plangate doctor --check-settings PASS を V-1 / handoff 完了の前提として要求(.claude/rules/working-context.md → fallback <plugin_root>/rules/working-context.md が正本)。未配線時は Shadow Configuration 防止のため handoff を完了扱いにできない。settings 適用は Human-owned(sh scripts/apply-claude-settings.sh を Human が実行。scripts/apply-claude-settings.sh は配布対象外なので、導入先には存在しない)。
導入先でも CLI が利用できれば
doctor --check-settingsで対象 settings を検査できる。 project root は--project-root→PLANGATE_PROJECT_ROOT→ cwd git root → CLI root fallback の順で解決される。ただし #1144 により enforcement scripts 自体はまだ導入先へ配布されないため、 wiring の存在確認と enforcement の実在・発火を混同しない。downstreamdoctor --fixは rc=2 / no-write で拒否される。CLI が無い場合は導入先の.claude/settings.jsonを直接確認し、 未検証を「PASS」と書かない。必要 hook の実体と、導入先での判定の落とし所: 「必要な hook」の定義の正本は
scripts/check-settings-wiring.sh(配布対象外)と同梱references/settings-wiring-contract.mdで、Edit|Writematcher に EH-1check-plan-exists.sh/ EH-2check-c3-approval.sh/ EH-3check-plan-hash.sh(+ 引数${PLANGATE_HOOK_FILE:-}) / EH-6check-forbidden-files.sh、Bashmatcher に EH-9check-delegation-commit-boundary.shが配線されていることを要求する。ただし hook 本体(scripts/hooks/*.sh)も plugin に含まれない(plugin/plangate/hooks/は.gitkeepのみ)ため、導入先のhooks.PreToolUseがこれらを指すことは構造上ありえず、 是正手段のscripts/apply-claude-settings.shも配布されない。したがって導入先では settings タスクロックをN/A(hook 非配布)と handoff.md に明記し、その代替として 「CLI 不在時のフォールバック」の plan_hash 突合を必須とする(実施結果を handoff.md に 記載)。N/Aを「PASS」と書き換えてはならない。上流リポジトリで作業している場合は 従来どおりdoctor --check-settingsPASS が前提条件として生きる(N/Aに落とせない)。
handoff.md 発行(必須・Rule 5)
同梱 references/handoff.md を雛形に発行する(導入先が独自テンプレートを持つ場合はそちらを優先)。6 要素の正本は .claude/rules/working-context.md(fallback <plugin_root>/rules/working-context.md)の「handoff(WF-05 完了資産 / Rule 5)」節および同梱 references/handoff.md を参照。light モード以下で簡易版を採用する場合も本テンプレートを踏襲(該当なしは「該当なし」明記)。PR マージ後も削除しない(完了資産)。
Output
docs/working/TASK-XXXX/handoff.md(6 要素必須)docs/working/TASK-XXXX/evidence/追記docs/working/TASK-XXXX/status.md追記(V-1〜V-4 結果サマリ)
CLI 呼び出し
配布と対象 project root は別の問題(#962 / #1144): plugin /
install.sh --claude/ Codex はbin/plangateと enforcement scripts を導入先へ配布しない。そのため CLI を使うには PlanGate の clone と、そのbin/plangateへの PATH または絶対パスが必要。 ただし #1497 以降、CLI が利用できる場合の対象 project root は全コマンド共通で--project-root→PLANGATE_PROJECT_ROOT→ cwd の git root → CLI root fallback の順に解決される。導入先の git repo で PATH 上のplangateを実行すれば、その導入先が 既定の対象になる。CLI が無いことを理由にゲートや検証を黙って省略してはならない。#1497 で downstream 契約を明示検証したのは
status/validate/approve/ read-onlydoctor(および work-dir を明示するrender)。doctor --fixは #1144 の enforcement 配布が解決するまで downstream では rc=2 / no-write で fail-closed。 script-relative helper に委譲するコマンドは、root resolver が存在しても自動的に downstream 対応になるとは扱わず、下表・フォールバックの個別契約に従う。
呼び出し表記: 上流 clone の cwd では bin/plangate、導入先で PATH を通した場合は
plangate。明示対象は --project-root <dir>。
| 用途 | 上流リポジトリの cwd | 導入先 + PATH に plangate あり | 導入先 + PATH に無い(既定) |
| V-1 機械検証 | bin/plangate validate TASK-XXXX | plangate validate TASK-XXXX | 次節のフォールバック(sha256 突合) |
| V-3 外部 AI レビュー | bin/plangate review TASK-XXXX --phase v3 | selected project root を使うが外部送信を伴うため、通常どおり機密・reviewer設定を確認して実行 | 手動レビュー |
| settings 検証 | bin/plangate doctor --check-settings | plangate doctor --check-settings(read-only) | .claude/settings.json を直接確認 |
| 8 観点 eval | bin/plangate eval TASK-XXXX | script-relative runner のため #1497 downstream 保証外 | 利用不可 / 手動評価 |
| metrics 収集 | bin/plangate metrics TASK-XXXX --collect|--report | collector/reporter は script-relative root を持つため #1497 downstream 保証外 | 利用不可 |
project root 契約:
validate/review/ read-onlydoctorは共通 resolver で選択した project root を対象にする。script-relative Python runner へ委譲するコマンドは個別に対応確認する。
handoff.md 発行コマンドは未実装****handoff.md 発行コマンドは未実装(環境を問わず手動)。skill 利用者が同梱 references/handoff.md をコピーし手動で 6 要素を記載する。
CLI 不在時のフォールバック(導入先では既定)
V-1 の plan_hash 突合を標準コマンドで代替する(スキップしない) — まず
approvals/c3.jsonにapproval_kindキーがあるかを strict JSON で読んで経路を分ける。(a) legacy c3.json(
approval_kindキー無し)の場合 —plangate validateの plan_hash 検査はplan.mdの素の sha256(正規化・前処理なし)とc3.jsonのplan_hashからsha256:prefix を除いた値の単純比較なので、CLI 無しで再現できる:# 算出(sha256sum → shasum -a 256 → openssl → python3 の順に、あるものを使う) sha256sum docs/working/TASK-XXXX/plan.md | awk '{print $1}' shasum -a 256 docs/working/TASK-XXXX/plan.md | awk '{print $1}' openssl dgst -sha256 docs/working/TASK-XXXX/plan.md | awk '{print $NF}' python3 -c 'import hashlib,sys; print(hashlib.sha256(open(sys.argv[1],"rb").read()).hexdigest())' docs/working/TASK-XXXX/plan.md # 突合先: docs/working/TASK-XXXX/approvals/c3.json の "plan_hash": "sha256:<この値>"上記 4 手段がすべて無い場合に限りスキップし、その事実を handoff.md と
decision-log.jsonlに記録して 「機械検証済み」と書かない (python3 は PlanGate ツールチェーンの事実上の必須依存なので、実際にはほぼ到達しない)(b)
approval_kind: "c3-prime"の record の場合 — 上記 (a) の手順は使えない。 c3-prime はc3_statusを持たず(契約 §5 で明示禁止)、plan_hashは legacy と同じsha256:<64hex>形式だが top-level と reviewer snapshot に複数回出現するため、 非アンカーなgrep/sed抽出は多行マッチして誤動作する(契約 §5。読むなら python3 の strict JSON のみ)。さらに受理には Plan Package 6 要素(pbi-input.md/plan.md/todo.md/test-cases.md/review-self.md/review-external.md)のartifact_hashes全数照合 +plan_package_hash+source_sha(検証時点の対象 SHA と一致)+ reviewer snapshot の三つ組一致 +decision=AUTO_APPROVEDまでの束縛検証が必要 (正本: 同梱references/c3-prime-contract.md§3〜§5)。 c3-prime を手動 sha256 のみで代替してはならない —plan.md単体の hash 一致だけで 検証済みと扱うと、残り 5 artifact とsource_shaの stale を見逃す。この場合は item 3 の 上流 clone 経由plangate validate --dirで機械検証するか、機械検証できない旨を handoff.md とdecision-log.jsonlに記録し V-1 を PASS と書かない- AC 突合そのものは手動で行う — test-cases.md の各 AC を実行結果と 1 件ずつ突合する。 推測ではなく実行結果のみで PASS/FAIL を付ける原則は CLI の有無に関わらず不変
- CLI による機械検証が必要なら PlanGate の clone を用意し、導入先 repo の cwd から
plangate validate TASK-XXXX、またはplangate --project-root <導入先repo> validate TASK-XXXXを実行する。既存のvalidate --dir <TASKディレクトリ>も利用できる
次フェーズへ
handoff 完了後は PR 作成 → C-4 ゲート(GitHub 上の人間レビュー)→ マージ。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

