verification
Skill4 starsChanged 6 months agoApache-2.0View on GitHub
Run all quality gates (lint, race tests, coverage >= 90%, build, GPG signatures, docs completeness, CHANGES.md) as the mandatory final step of every superpowers plan. Interprets failures and tells Claude exactly what to fix.
47 other projects use a version of this.
Adopted by
Most recently taken up by
- neuraforge-cl-es/adaptive-engineeringtheir own version, first seen Nov 8, 2026
- facebook/docusaurustheir own version, first seen Nov 8, 2026
- maideps/ai-harness-frameworktheir own version, first seen Nov 8, 2026
- Lanqiao-Luca/ai-java-workflowtheir own version, first seen Nov 8, 2026
- Beskars-Code/Skillstheir own version, first seen Nov 6, 2026
- Gabriel-Lafrance/Skillstheir own version, first seen Nov 6, 2026
Used with
Projects with it also use evidence-driven-writing, experiment-results-planning and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Norman-burySkillevidence-driven-writing
Use when writing or revising Introduction, Related Work, background, literature synthesis, or any section where references must drive claims
Also in 3 projects that use this
Norman-burySkillexperiment-results-planning
Use when designing experiments, result tables, mock planning data, evaluation protocols, or results sections before real data are final
Also in 3 projects that use this
- +10 more from Norman-bury
Other versions47 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 47
- facebook/docusaurus★ 67ksame name
- open-metadata/OpenMetadata★ 16ksame name
- openai/plugins★ 7.8ksame name
- hi-godot/godot-ai★ 3.4ksame name
- Norman-bury/research-writing-skill★ 3.4ksame name
- Norman-bury/articlewriting-skill★ 3.4ksame name
- forcedotcom/salesforcedx-vscode★ 1ksame name
- vercel/vercel-plugin★ 328same name
- s3s-project/s3s★ 315same name
- project-numina/numina-lean-agent★ 279same name
37 more not listed
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 repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .claude/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- .cursor/rules/codegraph.mdcCursor rule
- changelogSkill
- check-licensesSkill
- release-prepSkill
- version-bumpSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 39 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
If exit code is 0 and the output ends with === ALL N GATES PASSED ===, skip to Step 3.
- Very specific: line 48
After all gates pass, count items under ## Development in CHANGES.md:
- Distinctive: line 54
If the count is 5 or more, offer:
- Distinctive: line 59
Wait for the user's answer.
- Distinctive: line 61
If the count is fewer than 5, skip this step silently.
- Distinctive: line 67
After all gates pass (and changelog is handled if applicable), run:
- Very specific: line 73
Every line starts with G - report "All commits signed.
“Common” is measured: kept by at least 6 in 10 of the 39 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
Announce at start: "I'm using the verification skill."
Purpose
This skill is the mandatory last task in every superpowers plan. It runs .scripts/verification.sh,
interprets each failed gate, and - if CHANGES.md needs compressing - offers to invoke the
changelog skill.
Step 1 - Run verification script
bash .scripts/verification.shCapture the full output. Note the exit code.
If exit code is 0 and the output ends with === ALL N GATES PASSED ===, skip to Step 3.
Step 2 - Fix each failed gate
For every FAIL line in the output, apply the fix described below, then re-run
bash .scripts/verification.sh after each batch. Repeat until all gates pass.
| Gate | What to do |
make build | Fix every compilation error shown above the gate line. Check imports, types, missing fields. |
make lint | Run make lint to see current errors. Fix each one - do not add //nolint: without a comment explaining why. Re-run until clean. |
test-race | Find the failing test(s) in the output above the gate line. Fix the root cause. Do NOT suppress the race detector with runtime.GOMAXPROCS(1) or similar hacks. |
| coverage below 90% | Open .reports/coverage-<module>.html for the listed package. Add tests for uncovered lines. Aim for lines that test real behaviour, not just coverage points. |
| GPG signatures | Do NOT re-sign automatically. Report the unsigned commits to the user, show the exact commits, and ask for explicit confirmation before running the re-sign command from CLAUDE.md. GitHub-generated "Merge pull request" commits are ignored by the gate (their web-flow key is often expired/untrusted locally and they can't be re-signed without diverging from the remote). |
CHANGES.md missing ## Development | Add the section at the top of CHANGES.md with one bullet per user-visible change introduced on this branch. |
| CHANGES.md has no bullet entries | Add bullets under ## Development - one per logical change: what changed and why, in plain English. |
| docs not updated | Identify which new or changed behaviour is undocumented. Add a section to README.md (user-facing changes) or the relevant file under docs/ (architecture/config changes). |
Step 3 - Changelog offer
After all gates pass, count items under ## Development in CHANGES.md:
sed -n '/^## Development/,/^## [^D]/{ /^## [^D]/d; p; }' CHANGES.md | grep -c "^- " || trueIf the count is 5 or more, offer:
"There are N entries under ## Development in CHANGES.md. Would you like me to run the changelog skill to compress them into a versioned release entry?"
Wait for the user's answer. Do NOT invoke the changelog skill automatically.
If the count is fewer than 5, skip this step silently.
Step 4 - Final GPG check
After all gates pass (and changelog is handled if applicable), run:
git log --format="%G? %h %s" | head -20- Every line starts with
G- report "All commits signed. Verification complete." - Any line starts with
NorB- list those commits and ask the user for confirmation before re-signing. Use the re-sign command from CLAUDE.md. - Lines whose subject begins with
Merge pull requestmay carryE(expired GitHubweb-flowkey) - ignore them. Re-signing them would diverge from the remote and serves no purpose.
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.

