Show Me Your Work Decision Log
cursor/plugins
Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.
Forces verification commands before success claims. An agent skill from softspark/ai-toolkit.
$ npx skills add softspark/ai-toolkit --skill verification-before-completion -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install softspark/ai-toolkit verification-before-completion --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/app/skills/verification-before-completion .claude/skills/verification-before-completion && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "verification-before-completion" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/verification-before-completion into .claude/skills/verification-before-completion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-before-completion", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/softspark/ai-toolkit/tree/main/app/skills/verification-before-completionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add softspark/ai-toolkit --skill verification-before-completion -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install softspark/ai-toolkit verification-before-completion --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/app/skills/verification-before-completion .agents/skills/verification-before-completion && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "verification-before-completion" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/verification-before-completion into .agents/skills/verification-before-completion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-before-completion", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add softspark/ai-toolkit --skill verification-before-completion -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install softspark/ai-toolkit verification-before-completion --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/app/skills/verification-before-completion .cursor/skills/verification-before-completion && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "verification-before-completion" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/verification-before-completion into .cursor/skills/verification-before-completion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-before-completion", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/softspark/ai-toolkit.git --path app/skills/verification-before-completion--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add softspark/ai-toolkit --skill verification-before-completion -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install softspark/ai-toolkit verification-before-completion --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/app/skills/verification-before-completion .gemini/skills/verification-before-completion && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "verification-before-completion" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/verification-before-completion into .gemini/skills/verification-before-completion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-before-completion", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install softspark/ai-toolkit verification-before-completionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add softspark/ai-toolkit --skill verification-before-completion -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/app/skills/verification-before-completion .github/skills/verification-before-completion && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "verification-before-completion" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/verification-before-completion into .github/skills/verification-before-completion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-before-completion", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add softspark/ai-toolkit --skill verification-before-completion -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install softspark/ai-toolkit verification-before-completion --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/softspark/ai-toolkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/app/skills/verification-before-completion .opencode/skills/verification-before-completion && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "verification-before-completion" agent skill from https://github.com/softspark/ai-toolkit/tree/main/app/skills/verification-before-completion into .opencode/skills/verification-before-completion/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "verification-before-completion", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
verification-before-completionForces verification commands before success claims. An agent skill from softspark/ai-toolkit.
Verification Before Completion is an agent skill from softspark/ai-toolkit. Forces verification commands before success claims. Evidence before assertions. Triggers: complete, fixed, passing, done, ready, verified.
Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Verification before completion. The repository describes itself as: Professional-grade AI coding toolkit: 94 skills, 44 agents, multi-platform (Claude, Cursor, Windsurf, Copilot, Gemini, Cline, Roo Code, Aider, Augment, Antigravity, Codex CLI… The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d64db2b. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Verification Before Completion loads about 2.2k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 1,108 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from softspark/ai-toolkit at commit d64db2b, republished under its Apache-2.0 licence (© softspark). 1,108 words, ~2,248 tokens.
.claude/skills/verification-before-completion/SKILL.md (or your agent's skills folder).NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCEIf you haven't run the verification command in this message, you cannot claim it passes.
Claiming work is complete without verification is dishonesty, not efficiency.
BEFORE claiming any status or expressing satisfaction:
1. IDENTIFY: What command proves this claim?
2. RUN: Execute the FULL command (fresh, complete)
3. READ: Full output, check exit code, count failures
4. VERIFY: Does output confirm the claim?
- If NO: State actual status with evidence
- If YES: State claim WITH evidence
5. ONLY THEN: Make the claim
Skip any step = lying, not verifyingALWAYS before:
A prompt — yours, the user's, or another agent's — naming a file, table, column, endpoint, env var, config key, or dependency is a hint, not a fact. The name existing in text is not the same as the thing existing in the repo.
Read the file, ls/grep the path, list the table, check the lockfile. One look beats a confident guess.When search, KB lookup, or tool calls come back with nothing relevant, the correct move is to say so and stop — not to backfill the hole from training memory and present it as established fact.
<source>" is a complete, honest answer. State which source you checked and that it came up empty.| Claim | Requires | Not Sufficient |
|---|---|---|
| Tests pass | Test command output: 0 failures | Previous run, "should pass" |
| Linter clean | Linter output: 0 errors | Partial check, extrapolation |
| Build succeeds | Build command: exit 0 | Linter passing, logs look good |
| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
| Regression test works | Red-green cycle verified | Test passes once |
| New gate works (lint rule, grep check, coverage/contract test) | Seen it fail once on a planted violation, with the expected message | It passes on the current code |
| Agent completed | VCS diff shows changes | Agent reports "success" |
| Requirements met | Line-by-line checklist | Tests passing |
| No dead code (Art. VI.1) | Grep for every removed/renamed symbol: 0 references | "I cleaned up what I touched" |
| Behavior change covered (Art. VI.2) | Integration test for the API surface + unit test + docs updated | Unit test on the helper only |
| Diff is clean (Art. VI.4) | Re-read full diff: no orphaned imports, no stale docs, no skipped fixes | "I only changed what I needed" |
| Resource exists (file/table/env var/endpoint/dep) | Read/list/grep it and see it | The prompt mentioned it, or the name sounds real |
| File contents / API signature | Open the file, read the actual lines | Inferring shape from the filename or symbol name |
| Answer is grounded | A source you actually read returns it | Recalling it from training memory |
| Excuse | Reality |
|---|---|
| "Should work now" | RUN the verification |
| "I'm confident" | Confidence is not evidence |
| "Just this once" | No exceptions |
| "Linter passed" | Linter is not compiler |
| "Agent said success" | Verify independently |
| "Partial check is enough" | Partial proves nothing |
| "Different words so rule doesn't apply" | Spirit over letter |
Before you type "done", run these fast yes/no gates over your own draft. Each one has a fix — if the answer is bad, do the fix, don't ship the draft.
| Self-check | If the honest answer is "no" / "yes, I did" |
|---|---|
| Did I actually run the verification command this message, or am I asserting success from memory? | Run it now. Memory is not a test result. |
| Does every factual claim trace to output or a source I actually saw? | Cite the evidence, or cut the claim. |
| Did I invent any path, filename, symbol, table, flag, or version number? | Verify it exists, or remove it. |
| Did I quote file contents or an API signature I never opened? | Open and confirm, or stop quoting. |
| Did a search/KB lookup come back empty that I then "filled in" anyway? | Replace the fill-in with "not found in <source>". |
| Am I about to commit/push/PR on the strength of a claim I haven't proven? | Prove it first. |
Same ethos as the rest of this skill: evidence before assertions, applied to your own output one line at a time.
Tests:
CORRECT: [Run test command] [See: 34/34 pass] "All tests pass"
WRONG: "Should pass now" / "Looks correct"Regression tests (TDD Red-Green):
CORRECT: Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)
WRONG: "I've written a regression test" (without red-green verification)New gates:
CORRECT: Add gate → Run (pass) → Plant one violation in a throwaway copy or fixture → Run (MUST FAIL, expected message) → Remove the plant → Run (pass)
WRONG: "Gate added, it's green" (a gate that has never been red may be checking nothing)Requirements:
CORRECT: Re-read plan → Create checklist → Verify each → Report gaps or completion
WRONG: "Tests pass, phase complete"Agent delegation:
CORRECT: Agent reports success → Check VCS diff → Verify changes → Report actual state
WRONG: Trust agent report at face valueWhen the success criterion is behavioral or visual (a UI flow, a generated app, a multi-step interaction), a pass/fail command is not enough — the proof is the running app, observed. Use a weighted rubric instead of a single assertion:
Define the rubric BEFORE building — 3–6 criteria, each with a weight and an explicit pass bar. Example:
| Criterion | Weight | Pass bar |
|---|---|---|
| Core flow completes end-to-end | 0.40 | No error, reaches success state |
| Empty / loading / error states render | 0.25 | All three visible |
| Matches the requested layout | 0.20 | No major deviation |
| No console errors | 0.15 | Console clean |
Launch the app and observe — actually run it and capture the behavior (screenshot, console, network). Do not infer from the source.
Score with a fresh evaluator — have an independent agent grade the observed behavior against the rubric, not the implementer who wrote it (self-grading anchors high). Compute the weighted score.
Gate on the threshold — below the bar (e.g. < 0.8) the claim is NOT verified: list the failing criteria as concrete defects and iterate. At or above the bar, state the score WITH the captured evidence.
The rubric is the verification command for work that has no green/red exit code. The same Iron Law applies: observed evidence before the claim, every time.
This skill enforces Constitution Art. VI.4 (Verify Before Claiming Done). The diff re-read is not optional: before any completion claim, confirm no orphaned references, no missing test coverage for changed paths, no stale docs. A task is not done while any of those exist.
Run the command. Read the output. THEN claim the result.
This is non-negotiable.
© softspark, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in app/skills/verification-before-completion of softspark/ai-toolkit.
Open the folder on GitHubat commit d64db2b
Verification Before Completion next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Verification Before Completion this skillsoftspark/ai-toolkit | 179 | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Show Me Your Work Decision Logcursor/plugins | 10k | 9 repos | ~1.6k | Automated safety check: Pass | None | |
| PUA Looptanweai/pua | 20k | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Scope Creep Guardlennney/stop-that-shit | 2.5k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| Verification Before Completionfarm-fe/farm | 5.6k | 46 repos | ~1k | Automated safety check: Pass | MIT | |
| Incremental Implementationaddyosmani/agent-skills | 103k | 1 repos | ~2.3k | Automated safety check: Pass | MIT |
cursor/plugins
Keeps a TSV decision log for long or unattended agent runs, one row per decision with what, why, evidence and result, so a reviewer can check the work later.
tanweai/pua
Runs an unattended iterate-until-verified loop in which a user-set verify command, not the agent's own claim, decides when the task is finished.
lennney/stop-that-shit
Keeps an agent focused on the requested work by applying a five-step ladder that checks for direct solutions, real gaps and speculative defenses before adding anything.
farm-fe/farm
A skill your agent uses when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any…
addyosmani/agent-skills
Delivers a change in thin vertical slices, each implemented, tested, verified and committed before the next, using vertical, contract-first or risk-first slicing.
tanweai/pua
Pushes an agent to keep verifying and changing approach after repeated failures, using a diagnosis line, evidence-based completion and confirmation before risky edits.
softspark/ai-toolkit
Prepare or verify a project QA environment with source identity, readiness, browser access, evidence paths and owned cleanup.
softspark/ai-toolkit
Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. An agent skill from softspark/ai-toolkit.
softspark/ai-toolkit
Analyzes code quality, complexity, patterns across codebase.
softspark/ai-toolkit
Drives a brief, specification, issue or existing PR through implementation, review, tests and QA to a ready PR.
softspark/ai-toolkit
Direct technical voice for docs, README, user-facing text. An agent skill from softspark/ai-toolkit.
softspark/ai-toolkit
Detect/generate/debug CI pipeline config (GitHub Actions, GitLab CI).
Categories
Forces verification commands before success claims. An agent skill from softspark/ai-toolkit. Verification Before Completion is an agent skill from softspark/ai-toolkit. Forces verification commands before success claims.
Verification Before Completion fits situations like: tasks that involve Verification before completion.
Run `npx skills add softspark/ai-toolkit --skill verification-before-completion -a claude-code`. Or copy the skill folder (app/skills/verification-before-completion in softspark/ai-toolkit) into .claude/skills/verification-before-completion in your project. Claude Code loads it when a task matches its description.
Run `npx skills add softspark/ai-toolkit --skill verification-before-completion -a codex`. Or copy the skill folder (app/skills/verification-before-completion in softspark/ai-toolkit) into .agents/skills/verification-before-completion in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add softspark/ai-toolkit --skill verification-before-completion -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/verification-before-completion, .gemini/skills/verification-before-completion, .github/skills/verification-before-completion and .opencode/skills/verification-before-completion in your project.
SKILL.md names no scripts, command-line tools or credentials: Verification Before Completion is instructions for the agent only. Its frontmatter pre-approves these tools: Read.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Verification Before Completion is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Verification Before Completion: Show Me Your Work Decision Log (cursor/plugins, 10k stars), PUA Loop (tanweai/pua, 20k stars), Scope Creep Guard (lennney/stop-that-shit, 2.5k stars) and Verification Before Completion (farm-fe/farm, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
softspark (a GitHub user) maintains it in softspark/ai-toolkit, which has 179 GitHub stars. The repository holds 112 skills in this directory. The repository was last updated on October 7, 2026.
Source: softspark/ai-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.