completion-gate
Skill115 starsChanged 7 days agoMITView on GitHub
Use when about to say that work is done, fixed, passing, working, deployed or ready, before committing, opening or merging a pull request, closing a task, moving to the next task, or reporting a subagent's result as finished.
We split this skill into the rules it gives an agent
11 rules. 0 are common, 11 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 35
No exceptions. No workarounds.
- Distinctive: line 51
Name the claim: Write down exactly what you are about to assert: "the login bug is fixed", "all tests pass", "the deploy uses the new …
- Distinctive: line 94
What should be different: after the change? Name the observable value (a model name in the response, a hostname in the log, a feature …
- Distinctive: line 97
Confirm the value is the new one: If you only saw a status code, you have not verified the change.
- Distinctive: line 114
Check the console: No new errors or warnings in the browser console.
- Distinctive: line 116
If you cannot run a browser in this environment, say so and list what the user should look at.
- Distinctive: line 123
Do not soften a failure into a success or inflate a partial result into a complete one.
- Distinctive: line 141
Use "should", "probably", "seems to" or "looks good" about the state of the work in place of evidence.
- Distinctive: line 142
Commit, push, open a pull request, merge or deploy without fresh verification.
- Distinctive: line 150
Run the full command now and read every count in its output.
- Distinctive: line 151
Put the evidence next to the claim, in a table when there is more than one.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Completion Gate
A claim about the state of the work is a statement of fact, and a fact needs evidence. The evidence is output you produced and read in this message: a test run, a build, a request and its response, a screenshot. If you did not run it just now, you do not know it.
The Prime Directive
NO CLAIM OF DONE, FIXED OR PASSING WITHOUT FRESH VERIFICATION OUTPUT IN THIS MESSAGENo exceptions. No workarounds. No shortcuts.
When to Use
Required, before any of these:
- Saying or implying that something works, passes, is fixed, is complete or is ready, in any wording.
- Committing, pushing, opening a pull request, merging, tagging, deploying.
- Marking a task complete, moving to the next task, or ending your turn with a summary.
- Passing on a subagent's or another model's "done" as your own statement.
- Expressing satisfaction about the result ("that did it", "all good").
Skip:
- Statements that are explicitly about what you have not verified ("I have not run the tests yet"). Those are honest and need no gate.
The Protocol
- Name the claim. Write down exactly what you are about to assert: "the login bug is fixed", "all tests pass", "the deploy uses the new database".
- Name the proof. Decide which command or observation would prove that claim, and what output would disprove it. Use the table below. A claim about behaviour needs a check of behaviour; a check that something ran is not a check that it did the right thing.
- Run it now, in full. The full test suite, not the one file you touched. The real build, not the linter. The real request against the running service, not the unit test that mocks it. Earlier runs, other sessions and a subagent's report do not count.
- Read the output. The exit code, the counts (passed, failed, skipped, warnings), the error lines and the end of the log. Skipped tests and new warnings are findings, not noise.
- Compare output to claim.
- The output supports the claim: state the claim with the evidence next to it.
- The output contradicts it: state the actual state with the evidence, and go back to work.
- The output is partial or ambiguous: say exactly what is verified and what is not.
Fill in the evidence table for any non-trivial completion and include it in the message:
Claim Command or check Result (from this message) Tests pass npm test214 passed, 0 failed, 0 skipped, exit 0 Build succeeds npm run buildexit 0, no warnings Bug fixed reproduction from the report returns 200 with the expected body; the test fails with the fix reverted Requirements met checklist against the plan, task 4 6 of 6 items checked, see below - Only now make the claim, in plain words, with no hedging and no inflation.
What Counts as Proof
| Claim | Proof | Not proof |
| Tests pass | The full suite run now, zero failures, skips explained | An earlier run; "they should pass"; one file passing |
| Lint or types clean | The tool's output now, zero errors and warnings | Your editor shows no red lines |
| Build succeeds | The build command now, exit 0 | Lint passing; the dev server starting |
| Bug fixed | The original symptom reproduced and now absent | The code changed in the place you suspected |
| Regression test works | Red with the fix reverted, green with it restored | One green run |
| Requirements met | Each requirement checked off against the written spec | The tests pass |
| Subagent finished | The diff it produced, read by you, plus your own run of the checks | Its report saying "done" |
| Deployed | The live endpoint or the deployed version string observed | The deploy command exited 0 |
Configuration Changes
A configuration change can "succeed" because some valid configuration exists, while yours is ignored. This is the silent fallback: the request returns 200, but from the old provider; the app starts, but with the default flag; the job runs, but against staging.
So verify the difference, not the absence of errors:
- What should be different after the change? Name the observable value (a model name in the response, a hostname in the log, a feature visible on the page, an identity in the auth response).
- Where can you observe it? A response body, a log line, a header, a version endpoint, a query result.
- Run the command that exposes it and read the value.
- Confirm the value is the new one. If you only saw a status code, you have not verified the change.
| Change | Not enough | Enough |
| Switch an API provider or model | HTTP 200 | The response names the new provider or model |
| Turn a feature flag on | No errors | The feature's behaviour observed |
| Point at a new environment or database | The deploy succeeded | Logs or a query show the new host |
| Rotate credentials | Authentication succeeds | The authenticated identity is the new one; the old credential is rejected |
UI Changes
Code that compiles is not a screen that works. For any change a user can see:
- Look at it. Open the page in a real browser (or a headless one you control) and capture a screenshot of the changed state. Read the screenshot; do not just save it.
- Exercise it. Click, type and submit through the changed flow, including the error and empty states.
- Check the sizes that matter. At least a phone width and a desktop width, or the breakpoints the project defines.
- Check access. Keyboard navigation reaches and operates the control; focus is visible; contrast and labels pass the project's accessibility check.
- Check the console. No new errors or warnings in the browser console.
If you cannot run a browser in this environment, say so and list what the user should look at; do not claim the UI works.
Reporting Honestly
- Report failures with their output. "3 of 214 tests fail; here are the three" is a useful message. "Mostly working" is not.
- Report what you skipped and why. "I did not run the end-to-end suite because it needs the staging database" lets the user decide.
- Report what you could not verify first, before what you could.
- Do not soften a failure into a success or inflate a partial result into a complete one.
Cognitive Traps
| Rationalisation | Truth |
| "It should work now." | "Should" is a prediction. Run it and turn it into a fact. |
| "I ran the tests a few minutes ago." | You have changed things since. Fresh means this message. |
| "The subagent said all tests pass." | Reports drift from reality. Read the diff and run the checks yourself. |
| "The linter passed, so it builds." | Linters do not compile, link or bundle. Run the build. |
| "It returned 200, so the config change works." | It returned 200 from something. Check that it was the new something. |
| "I am confident in this change." | Confidence is not evidence; it is the feeling that precedes most false claims. |
| "Running the full suite again is wasteful." | A false "done" costs the user a redirect, a rework and their trust. The suite is cheaper. |
| "My wording does not technically claim success." | If the user would read it as done, it is a claim. The rule follows the meaning, not the words. |
Guardrails
Never:
- Use "should", "probably", "seems to" or "looks good" about the state of the work in place of evidence.
- Commit, push, open a pull request, merge or deploy without fresh verification.
- Pass on another agent's success report without checking its diff and running the checks.
- Claim a configuration change works from a status code alone.
- Claim UI work is done without having seen it rendered.
- Hide a failing, skipped or unverified item.
Always:
- Name the claim and the proof before running anything.
- Run the full command now and read every count in its output.
- Put the evidence next to the claim, in a table when there is more than one.
- Lead with what could not be verified.
- Say plainly when something is done and verified, without hedging.
- Expect to be checked: on a harness with skill-scoped stop hooks, invoking this skill arms a one-shot check that reads your final message and sends an unsupported claim back to you.
Connections
godmode:test-first: supplies the red and green evidence for features and regression tests.godmode:quality-gates: supplies the lint, type, coverage, build, size and audit evidence.godmode:code-reviewandgodmode:cross-model-review: run before the final verification; their fixes are re-verified here.godmode:fault-diagnosis: when the verification fails and the cause is not obvious.godmode:delegated-execution: every subagent's "done" passes through this gate before it is accepted.godmode:merge-protocol: landing happens only after this gate passes.
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- ldaume/agentic-engineering-harness★ 2same name
- tomwangowa/agent-skills★ 2same name
- mohmaedeslam00116/waypower★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository33 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agent-briefingSkill
- codebase-conventionsSkill
- code-reviewSkill
- cross-model-reviewSkill
- delegated-executionSkill
- doctorSkill
- environment-awarenessSkill
- error-recoverySkill
- fault-diagnosisSkill
- groundingSkill
- inline-executionSkill
- intent-discoverySkill
- knowledge-captureSkill
- merge-protocolSkill
- model-routingSkill
- parallel-executionSkill
- performance-tuningSkill
- project-bootstrapSkill
- quality-gatesSkill
- rationaleSkill
- reference-firstSkill
- review-responseSkill
- security-protocolSkill
- system-designSkill
- task-planningSkill
- team-orchestrationSkill
- test-firstSkill
- ui-engineeringSkill
- ui-researchSkill
- using-godmodeSkill
- workspace-isolationSkill
- writing-skillsSkill
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.

