agent-acceptance-gate — Claude Code skill: check before you commit
A read-only gate that reconciles parallel agent results and runs triggered checks before a commit or push. It returns PASS, CONDITIONAL PASS or FAIL with evidence.
npx skills add WenyuChiou/agent-collab-skills --skill agent-acceptance-gate -a claude-codeWhat agent-acceptance-gate does
This skill sits between "the lanes are done" and "commit or push". It inventories every planned lane, keeps missing, declined, cancelled, timed-out and failed states apart, and compares changed files against each lane's declared scope. Unexplained drift is a FAIL. A claimed success with no evidence stays unverified.
Presets fire on what the diff contains. Two or more locale variants of one file stem pull in multi-locale-mirror-sync; new catalog or listing entries pull in catalog-entry-add; a named frontier model with a benchmark number, release date or license claim pulls in fact-check-frontier-models. These are declarative review contracts under presets/, not an engine — you follow their checks by hand. Matching heading counts or line counts proves nothing about meaning, so disagreements get quoted.
The skill never commits, merges, pushes or deletes branches, and it will not turn a decline, cancellation, timeout or failure into a pass. Numeric budgets and retry limits come from the project's policy rather than from the skill itself. In harness mode an unreadable policy, plan or checkpoint is a fail-closed blocker: stop and report it. A human can approve a documented exception, but the original gate record stays as it was.
What it helps with
- reconcile several subagent results before committing
- catch drift between locale variants of one file
- confirm a lane's changed files match its declared scope
- separate an unverified success from one backed by evidence
- record a human exception without rewriting the gate result
Example prompts for the agent
- Run agent-acceptance-gate on this diff before I commit and give me the verdict with evidence
- Reconcile the lane results and list what was filtered out and why
- Run the multi-locale-mirror-sync preset over the changed locale files
How to install agent-acceptance-gate
1Skills CLI (Vercel)
npx skills add WenyuChiou/agent-collab-skills --skill agent-acceptance-gate -a claude-code2Manually: put the files in place
~/.claude/skills/agent-acceptance-gate/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/agent-acceptance-gate/
1Skills CLI (Vercel)
npx skills add WenyuChiou/agent-collab-skills --skill agent-acceptance-gate -a codex2Manually: put the files in place
.agents/skills/agent-acceptance-gate/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add WenyuChiou/agent-collab-skills --skill agent-acceptance-gate -a cursor2Manually: put the files in place
.cursor/skills/agent-acceptance-gate/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install WenyuChiou/agent-collab-skills agent-acceptance-gate2Manually: put the files in place
.github/skills/agent-acceptance-gate/SKILL.md1Skills CLI (Vercel)
npx skills add WenyuChiou/agent-collab-skills --skill agent-acceptance-gate -a gemini-cli2Platform CLI
gemini skills install https://github.com/WenyuChiou/agent-collab-skills --path skills/agent-acceptance-gateManually: put the files in place
.devin/skills/agent-acceptance-gate/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add WenyuChiou/agent-collab-skills --skill agent-acceptance-gate -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about agent-acceptance-gate
How do I install agent-acceptance-gate in Claude Code?
Run npx skills add WenyuChiou/agent-collab-skills --skill agent-acceptance-gate -a claude-code. The skill lands at ~/.claude/skills/agent-acceptance-gate/SKILL.md.
What does agent-acceptance-gate do?
It reconciles lane results, runs the presets the diff triggers, and returns PASS, CONDITIONAL PASS or FAIL with evidence. It does not commit or merge anything itself.
What is the difference between PASS and CONDITIONAL PASS?
PASS means every required check passed and no blocker remains. CONDITIONAL PASS means deterministic checks passed but a human action, a degraded optional check or a documented non-blocking condition is still open.
Source text
SKILL.md · MIT
--- name: agent-acceptance-gate description: Use when about to commit or push a diff that touches two or more locale variants of one file stem, adds catalog or listing entries, states benchmark numbers, release dates, or licenses for named frontier models, or merges output from any subagent or delegate. Reconciles the lane results, runs the matching preset, and returns PASS, CONDITIONAL PASS, or FAIL with evidence. --- # agent-acceptance-gate The read-only check between "the lanes are done" and "commit or push". It reconciles results, runs the triggered presets, and returns a verdict. It never merges, commits, retries, or turns a decline, cancellation, timeout, or failure into success. Since 0.6.0 it includes the former `agent-output-reconciler`. ## Inputs - the lane table or plan: lane ids, roles, scopes, acceptance criteria; - each lane's returned summary, evidence paths, and log paths; - the merged diff and the project's verification commands; - in harness mode, the `TaskCheckpoint` and latest `PolicyDecision`; - prior human decision records, if any. Historical provider fields may be read for migration only. Current checks use lane or task ids and roles. ## Step 0: Harness mode only Validate the plan, checkpoint, and policy before anything else. An unreadable configured policy, plan, or checkpoint is a fail-closed blocker: stop and report it. Do not infer missing policy values. ## Step 1: Reconcile 1. Inventory every planned lane. Keep missing, `null`, declined, cancelled, timed-out, degraded, and failed as distinct states. Never invent an absent result. 2. Filter unusable results out of synthesis and record what was filtered and why. A completed prose result is not `null` just because an optional structured-output step failed. 3. Compare changed files with each lane's declared scope. Record justified transitive changes separately; unexplained drift is FAIL. 4. Bind each result to its task, attempt, and baseline with the [task-content evidence review](../../docs/task-content-evidence.md). Stale or wrong-task evidence stays unverified. Account for pre-existing dirty state and parallel writers before attributing a change. File times alone cannot prove or disprove success. 5. Re-run claimed checks or verify their evidence. A "success" with no evidence is unverified. 6. List file collisions, contradictory findings, incompatible assumptions, and dependency-order violations. Report shape: [references/reconciliation_template.md](references/reconciliation_template.md). Harness mode writes it to scratch; native mode keeps it short in the conversation or PR body. ## Step 2: Presets (mandatory when triggered) | Trigger in the diff | Preset | |---|---| | two or more locale variants of one file stem | `multi-locale-mirror-sync` | | new catalog or listing entries | `catalog-entry-add` | | a named frontier model with a benchmark number, release date, or license claim | `fact-check-frontier-models` | Presets are declarative review contracts in `presets/`, not an executable engine; follow their checks. They add to independent review and source verification and never replace them. If a triggered preset cannot run, report a blocker or an explicit degraded state, never PASS. Structural parity (heading counts, line counts, ordering) is not content parity: check meaning adversarially and quote the passages that disagree. ## Step 3: Verify and decide 1. Run each lane's acceptance criteria and the merge-level verification command on the merged result. Never invent missing criteria; mark manual checks as manual. 2. Check unresolved high-severity risks and reconciliation blockers. 3. For external facts, cite authoritative sources and say whether each was verified locally. 4. Harness mode: evaluate the policy after the gate cycle and write a new immutable acceptance record. Never overwrite a prior run or human decision. 5. Native mode: put the verdict and its evidence in the conversation or the PR body. All numeric budgets and retry limits come from the canonical policy in harness mode or from the host in native mode. This skill and its presets do not copy default values. ## Verdicts - `PASS`: every required check passed and no blocker remains. Technically acceptable; not authorization to merge. - `CONDITIONAL PASS`: deterministic checks passed, but an explicit human action, a degraded optional check, or a documented non-blocking condition remains. - `FAIL`: any required criterion, scope, policy, evidence, preset, or blocker check failed. A human may approve a documented exception, but the original gate record stays unchanged. The new decision records gate, actor, decision, timestamp, rationale, and affected action hash. An override never rewrites a failed test into a passing one. Existing authorization may already cover delivery; do not ask again just because a review, session, or slice ended. A genuinely new human gate still needs a separate recorded decision bound to the specific affected action. ## Output - verdict; - per-lane status and criterion results, including filtered or missing lanes; - scope and preset results; - commands with exit codes, bounded excerpts, and artifact paths; - risks, degraded checks, and blockers; - pending or recorded human decision reference; - in harness mode, also the run ID, timestamp, plan, checkpoint, and policy references, and the action hash that any later human decision binds to. Coordination scratch is gitignored by default. Promote only an explicitly required checkpoint snapshot, shipping artifact, or acceptance record. See [references/acceptance_checklist.md](references/acceptance_checklist.md) for the verification taxonomy. ## Prohibitions - Do not run implementation agents or decide retries. - Do not mutate source, the plan, checkpoint history, or canonical memory. - Do not overwrite prior acceptance or human-decision records. - Do not treat agent consensus as evidence. - Do not commit, merge, push, release, or delete branches.
© WenyuChiou · MIT · WenyuChiou/agent-collab-skills