원클릭으로
cmate-acceptance-test
Issue の受入条件を自動検証と手動確認に分け、証跡付きで検証して Go / Conditional Go / No-Go を判定する。受入テスト、受入条件の検証、マージ可否・リリース可否の判断を求められたときに使う。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Issue の受入条件を自動検証と手動確認に分け、証跡付きで検証して Go / Conditional Go / No-Go を判定する。受入テスト、受入条件の検証、マージ可否・リリース可否の判断を求められたときに使う。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
複数 Issue を並列実行するための計画を dry-run で立て、承認後にその計画を監督付きで実行する。計画では Issue 品質・依存(explicit/inferred)・file conflict を分析し、cycle や不完全 override を拒否したうえで、file 衝突の無い承認可能な Wave plan・risk・権限・実行 command を決定的な artifact として返す。実行では public commandmate で self-contained な generic worker を dispatch し、Wave barrier(前 Wave 全完了)と verification gate(versioned report の pass)で監督し、prompt 検出時は自動応答せず human へ提示して停止する。
merge 済み・不要になった git worktree を、削除可能性と証跡を dry-run で提示したうえで、clean かつ merge 証跡が十分な対象だけ安全に削除する。worktree の掃除、merge 済み worktree の削除、issue worktree の後片付けを求められたときに使う。
1つ以上のIssueについて、対象repositoryを検証し、既存branch/directory/worktreeを暗黙上書きせず、repository profile(Node/CommandMate・Rust/CommandAgent)から解決したbranch・directory・base commit・proportional baselineで衝突しない専用worktreeを作成し、証跡付きの versioned result を返す。base SHA を明示し、dependency install は明示承認時のみ、CommandMate sync は利用可能なら worktree ID を返す(optional)。実装や orchestrate を始める前の準備段階で使う。
リポジトリを read-only で走査し、構造・規約・既存実装・再利用候補・変更risk・推奨verificationを、file/line evidence 付きの検証可能な構造化結果として返す。変更に着手する前の現状把握、影響範囲の見積り、実装方針の裏取りに使う。
Refine a vague or thin GitHub Issue into an implementable specification. Reads the Issue and repository evidence read-only, produces a sectioned Issue body, a severity-ranked finding list, open questions it refuses to decide for the user, a dependency and size assessment, and a versioned result document. Use it before design or implementation starts, when an Issue is title-only, contradicts the code, overlaps another Issue, or has no checkable acceptance criteria.
Minimal reference package used to exercise the commandmate-skills release pipeline end to end. Not an official Skill and never published to the Catalog.
| name | cmate-acceptance-test |
| description | Issue の受入条件を自動検証と手動確認に分け、証跡付きで検証して Go / Conditional Go / No-Go を判定する。受入テスト、受入条件の検証、マージ可否・リリース可否の判断を求められたときに使う。 |
対象 Issue の受入条件が満たされているかを証跡 (evidence) に基づいて検証し、
可否を go / conditional_go / no_go で返す手順である。
この Skill の出力は、versioned result document(schemas/acceptance-result.v1.json)と
human-readable summary の 2 つであり、どちらか一方だけを返して終了してはならない。
判定の中心にある規則は 1 つだけである。
検証していないものを pass に丸めない。 未実行・環境依存・flaky・blocked・手動未確認は、pass でも fail でもない固有の outcome として記録し、判定に反映する。
使う場面:
使わない場面:
| 名前 | 必須 | 内容 | 欠けたときの動作 |
|---|---|---|---|
issue_ref | 必須 | Issue 番号または Issue URL | status: failure / verdict: no_go を出力して停止 |
target_ref | 必須 | 検証対象の worktree path、branch、commit | 利用者に問い合わせる。応答が得られなければ failure で停止 |
test_commands | 任意 | 実行してよい command と引数の一覧 | 自動検証を行わず、全 criterion を manual または not_run として扱う |
criteria_override | 任意 | Issue 本文の代わりに使う受入条件 | Issue 本文から抽出する |
evidence_dir | 任意 | evidence の保存先(既定 ./acceptance-evidence/) | 既定値を使う |
result_path | 任意 | result document の出力先(既定 ./acceptance-result.json) | 既定値を使う |
入力に関する強い制約:
target_ref は利用者が明示したものだけを使う。 現在の作業 directory、既存の
worktree、production の設定を「たぶんこれだろう」で対象にしない。gh issue edit などで Issue を書き換えない。classification: not_verifiable として記録する。この Skill が宣言する権限(commandmate.skill.yaml の declared_permissions)と、その用途:
| 権限 | 用途 | やらないこと |
|---|---|---|
filesystem_read | 対象 repository の source、test、設定の読み取り | 対象 repository の外の path を読まない |
filesystem_write | evidence_dir と result_path への書き込み、および §4 Step 3 で確認を得た test file の作成 | 既存 file の暗黙上書き。既存 file がある場合は必ず確認する |
process_execution | §3 の command 実行 | 宣言外 command の実行 |
network_access | Issue 本文の取得のみ | それ以外の外部送信。evidence を外部へ upload しない |
environment_read | 必要な環境変数が設定されているか否かの確認 | 値の読み出し、値の evidence への記録 |
declared_permissions は宣言であって強制ではない。この一覧を超える操作が必要になった
時点で、実行せずに利用者へ確認する。
Skill 自身が実行してよいのは、manifest の requirements.commands に宣言された
read-only な用途に限る。
gh — gh issue view <ref> --json number,title,body,labels,state のみ。git — git status、git diff、git log、git rev-parse、git show のみ。対象 project の test command(npm test、pytest など)は 入力として与えられたもの
だけを実行する。与えられていない command を推測して実行しない。実行前に、その command を
利用者へ提示して確認を取り、確認の結果を result document の confirmations に記録する。
次のいずれかに当たる command は、確認を取る前に cleanup plan を提示する(§4 Step 3):
確認が得られなかった command は実行せず、対応する criterion を not_run にする。
not_run を pass に丸めない。
issue_ref と target_ref が揃っているかを確認する。欠けていれば §5 に従って停止する。target_ref を解決し、commit SHA と branch 名を記録する(git rev-parse HEAD、
git rev-parse --abbrev-ref HEAD)。この 2 つは result document の target に入る。git status --porcelain で確認し、
target.dirty に記録する。dirty な tree での検証結果は再現できないので、
dirty のまま進める場合は summary にその旨を明示する。Acceptance Criteria)を
列挙する。id を振る(AC-01 から連番。抽出順で固定し、実行結果で並べ替えない)。status: failure / verdict: no_go を出力し、
blocking_reasons に「受入条件が定義されていない」と記録して停止する。
条件のない Issue を「問題なし」と報告してはならない。各条件について次を決める。詳細は references/test-plan.md に従う。
classification: automated(command で判定できる) /
manual(人間の観察が必要) / not_verifiable(この環境では判定できない)risk_tier: safe / confirm_required / blockedcheck(command、test、diff、manual observation のいずれか)分類の根拠を 1 行で notes に残す。分類が曖昧なものを automated に寄せない。
confirm_required の項目には cleanup plan を必ず添える。何を作り、何を戻し、
戻せなかったときに何が残るかを書く。cleanup plan を書けない操作は実行しない。confirmations に記録する(granted: true / false、理由、
cleanup plan)。確認なしに confirm_required の項目を実行しない。confirm_required の項目をすべて
not_run にして先へ進む。「対話できないから承認されたとみなす」ことはしない。確認済みの check を、plan の順に実行する。1 件ごとに evidence を作る。
evidence の必須項目と redaction 規則は
references/evidence.md に従う。
flaky の扱い: 同一 command を再実行して結果が変わった場合、成功した回を採用しない。
outcome: flaky とし、試行回数と各回の結果を evidence に残す。
中断した場合も、そこまでの evidence を保存し、未実行の check を not_run として
result document を出力する(§5)。
各 criterion の outcome を次のいずれかにする。
pass / fail / flaky / blocked / not_run / manual_pending / not_verifiable
outcome から status と verdict への写像は
references/verdict-rubric.md の決定表にそのまま従う。
決定表にない組み合わせを自分で判断しない。要約すると:
status: success = 全 criterion が pass か fail に確定 /
partial = 未確定の criterion が残った / failure = 検証を実施できなかったverdict: go = status: success かつ全 pass /
no_go = 1 件以上 fail、または status: failure /
conditional_go = fail が 0 件で、未確定項目のすべてに次 action と担当が書かれている場合のみconditional_go は「たぶん大丈夫」ではない。未確定項目が列挙され、それぞれに
次 action があることが条件である。書けないなら no_go である。
result_path に、schemas/acceptance-result.v1.json に適合する JSON を書く。
result_schema_version は 1 である。この Step は途中で失敗した場合も必ず実行する。
result document と同じ内容を、次の順で提示する。 利用者が離席から戻ったときに、これだけで状態を復元できることが要件である。
verdict)と 1 行の理由summary の雛形は references/verdict-rubric.md にある。
| 状況 | 動作 |
|---|---|
| 入力が欠けている | 推測で補わない。status: failure、verdict: no_go、blocking_reasons に不足入力を記録 |
| Issue を取得できない | 再試行は 1 回まで。失敗したら status: failure |
| 受入条件が 0 件 | status: failure(Step 1-3) |
| 確認が得られない | 当該 check を not_run、status: partial |
| command が異常終了 | それ自体は failure ではない。exit code を evidence に残し、criterion を fail か blocked に分類する(環境要因なら blocked) |
| 環境が要件を満たさない | blocked。fail に丸めない |
| 途中で中断された | そこまでの evidence を保存し、未実行を not_run として status: partial を出力 |
| result document を書けない | summary を必ず標準出力へ出し、書けなかったことを明示する |
いかなる失敗経路でも、result document と summary を出さずに終了しない。
以下がすべて真になったときにだけ、この Skill は完了したと報告してよい。
1 つでも偽なら status は success にならない。
id と classification と outcome がある。pass の criterion に、それを裏づける evidence が 1 件以上結び付いている。confirm_required の check はすべて、確認記録(confirmations)を伴っている。schemas/acceptance-result.v1.json に適合している。status と verdict が決定表と矛盾していない。conditional_go の必要条件)。対応 Agent の差、fallback、再読み込みの方法は
references/agent-compatibility.md を参照する。
version ごとの変更点・期待効果・制約は
references/changelog.md にある。
references/test-plan.md — 分類と risk tier、cleanup planreferences/evidence.md — evidence の必須項目と redactionreferences/verdict-rubric.md — 決定表と summary 雛形references/agent-compatibility.md — Agent 差異と reloadreferences/changelog.md — version 履歴・期待効果・制約schemas/acceptance-result.v1.json — result document schema