verify
Skill35 starsChanged 53 days agoApache-2.0View on GitHub
Evidence-based verification before claiming completion. Use before committing, creating PRs, or claiming a task is done. Never claim success without proof.
188 other projects use a version of this.
Adopted by
Most recently taken up by
- Doist/todoist-aitheir own version, first seen Nov 9, 2026
- udecode/better-convextheir own version, first seen Nov 9, 2026
- pytorch/heliontheir own version, first seen Nov 8, 2026
- amir20/dozzletheir own version, first seen Nov 8, 2026
- Doist/todoist-clitheir own version, first seen Nov 8, 2026
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
Used with
Projects with it also use instinct-export, instinct-import 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.
TheKREATORSSkillinstinct-export
Export instincts from project/global scope to a file
Also in 3 projects that use this
TheKREATORSSkillinstinct-import
Import instincts from file or URL into project/global scope
Also in 3 projects that use this
AviadPSkillrisk-assess
Assess the risk and blast radius of a proposed code change before implementing it. Evaluates CI impact, framework-wide vs localized scope, rollback path, and identifies blindspots. Use when user says "what's the risk", "is this safe", "assess the impact", "risk assess", "blast radius", or before applying framework-wide or CI-affecting changes. Do NOT use for code quality review (use code-quality) or plan validation (use design-validator).
Also in 3 projects that use this
diego-tobalinaSkillbuild-fix
Fix build and compilation errors systematically. Run when build fails.
Also in 6 projects that use this
AaravChadhaSkillsecure
Security review with a confidence gate - a finding exists only with a concrete exploit scenario and a high/medium/low confidence rating; everything else goes to a worth-hardening list, never inflated. Sweeps five surfaces: auth gates, secrets hygiene, injection and unsafe sinks, unsafe deserialization/crypto/transport, and LLM tool-use trust boundaries. Reports only, never fixes. Use when the user asks for a security review or to check vulnerabilities, secrets, or auth.
Also in 3 projects that use this
ArvorCoSkillspecify
Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.
Also in 10 projects that use this
- +1 more from TheKREATORS
Other versions188 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 188
- react/react★ 252ksame name
- facebook/react★ 252ksame name
- garrytan/gstack★ 141ksame name
- oven-sh/bun★ 97ksame name
- anthropics/financial-services★ 41ksame name
- anthropics/financial-services-plugins★ 41ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- anthropics/claude-quickstarts★ 19ksame name
- NVIDIA-NeMo/Speech★ 19ksame name
178 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 repository23 other files it gives its agents.
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 9 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 167 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Done when: every completion claim is backed by a command that ran and its output.
- Distinctive: line 38
Use this skill before:
- Distinctive: line 68
Run EACH verification and capture ACTUAL output:
- Distinctive: line 106
Before running verifications, detect the stack and available tools:
- Distinctive: line 108
Use the Glob tool to detect the stack:
- Distinctive: line 125
Do NOT claim "tests pass" without showing the output.
- Distinctive: line 147
Do NOT defer it. Do NOT wait for the user.
- Distinctive: line 156
If this fails, report "Session state update skipped" with the error.
- Very specific: line 158
If it answers refused: a test run failed in this session after the last pass, the verdict is not a pass: a failing test run is the most …
- Distinctive: line 218
When a verification FAILS:
“Common” is measured: kept by at least 6 in 10 of the 167 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
/craftsman:verify - Evidence Before Completion
Outcome Contract
- Outcome: proof that the work is complete, or an explicit list of what is not.
- Done when: every completion claim is backed by a command that ran and its output; unverified claims are listed as unverified.
- Evidence: the commands run with their exit codes and output, never a summary of them.
You are a Quality Guardian. You NEVER claim success without EVIDENCE.
The Golden Rule
┌─────────────────────────────────────────────────────────────────┐
│ │
│ NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE │
│ │
│ ❌ "The tests should pass" │
│ ❌ "I believe this works" │
│ ❌ "This looks correct" │
│ │
│ ✅ "Tests pass: [actual output shown]" │
│ ✅ "Verified working: [evidence provided]" │
│ ✅ "Confirmed: [command output included]" │
│ │
└─────────────────────────────────────────────────────────────────┘When to Verify
Use this skill before:
- Claiming a bug is fixed
- Saying tests pass
- Asserting code is complete
- Creating a commit
- Opening a PR
- Merging to main
Process
Phase 1: Identify Verifications Needed
Based on work done, determine what to check:
## Verification Checklist
**Work completed:** [Description]
**Required verifications:**
- [ ] Unit tests pass
- [ ] Integration tests pass (if applicable)
- [ ] Type checking passes
- [ ] Linting passes
- [ ] Build succeeds
- [ ] Manual verification (if applicable)Phase 2: Execute Verifications
Run EACH verification and capture ACTUAL output:
## Verification Results
### 1. Unit Tests
**Command:** `vendor/bin/phpunit --testsuite=unit`
**Expected:** All tests pass
**Actual Output:**PHPUnit 10.5.0 ............... 15 / 15 (100%) Time: 00:01.234, Memory: 24.00 MB OK (15 tests, 42 assertions)
**Status:** ✅ PASSED
### 2. Static Analysis
**Command:** `vendor/bin/phpstan analyse`
**Expected:** No errors
**Actual Output:**[OK] No errors
**Status:** ✅ PASSED
### 3. Code Style
**Command:** `vendor/bin/php-cs-fixer fix --dry-run`
**Expected:** No changes needed
**Actual Output:**Checked all files, no changes needed.
**Status:** ✅ PASSEDAuto-Detection & Execution
Before running verifications, detect the stack and available tools:
Use the Glob tool to detect the stack:
Glob("composer.json")→ if exists, PHP_STACK=trueGlob("package.json")→ if exists, NODE_STACK=true
Auto-run available checks:
For PHP projects, attempt in order (skip if tool not found):
vendor/bin/phpunit- Unit testsvendor/bin/phpstan analyse- Static analysisvendor/bin/php-cs-fixer fix --dry-run- Code style
For Node projects, attempt in order:
npm testornpx vitest run- Testsnpx tsc --noEmit- Type checkingnpm run lintornpx eslint .- Linting
Run each command via Bash tool and capture ACTUAL output as evidence. Do NOT claim "tests pass" without showing the output.
Phase 3: Evidence Summary
## Verification Summary
| Check | Command | Status | Evidence |
|-------|---------|--------|----------|
| Unit Tests | `phpunit` | ✅ | 15/15 passed |
| PHPStan | `phpstan analyse` | ✅ | No errors |
| CS Fixer | `php-cs-fixer` | ✅ | No changes |
| Build | `composer install` | ✅ | Success |
**VERDICT:** ✅ ALL VERIFICATIONS PASSED
**Ready to:** [commit / PR / merge]MANDATORY: Mark Session Verified
IMMEDIATELY after a passing verdict, run this command. Do NOT skip this step. Do NOT defer it. Do NOT wait for the user. Execute it NOW:
bash "$(craftsman-path bin/craftsman-helper)" set-verifiedOn hosts where craftsman-path is not on PATH, run
<this plugin root>/bin/craftsman-helper set-verified using the installed
skill's path. Never use another host's wrapper or write a shared state file.
If this fails, report "Session state update skipped" with the error.
If it answers refused: a test run failed in this session after the last pass,
the verdict is not a pass: a failing test run is the most recent evidence.
Re-run the test suite until it is green (the hook restores the evidence on its
own), then report. Never work around the refusal.
This records evidence for the session. The pre-push hook warns when it is absent.
Common Verification Commands
PHP/Symfony
# Full quality check
composer run quality
# or
make quality
# Individual checks
vendor/bin/phpunit
vendor/bin/phpunit --testsuite=unit
vendor/bin/phpunit --filter=TestClassName
vendor/bin/phpstan analyse
vendor/bin/php-cs-fixer fix --dry-run --diffTypeScript/React
# Full check
npm run check
# or
npm run lint && npm run typecheck && npm test
# Individual checks
npm test
npm run test:coverage
npm run typecheck
npx tsc --noEmit
npm run lint
npm run buildPython
# Full check
make check
# or
pytest && mypy src/ && ruff check src/
# Individual
pytest
pytest --cov=src
mypy src/
ruff check src/
black --check src/Failure Handling
When a verification FAILS:
## ❌ VERIFICATION FAILED
### Failed Check: Unit Tests
**Command:** `vendor/bin/phpunit`
**Output:**FAILURES! Tests: 15, Assertions: 41, Failures: 1.
- App\Tests\Domain\UserTest::test_email_validation Failed asserting that 'invalid' matches expected 'valid@email.com'.
**Analysis:**
- **Root cause:** Email validation logic incorrect
- **File:** src/Domain/ValueObject/Email.php:23
- **Impact:** Email creation accepts invalid formats
**Required Action:** Fix before claiming completion.
**DO NOT:**
- Claim work is done
- Create a commit
- Say "tests mostly pass"
- Ignore the failureOutput Format
# Verification Report
## Context
- **Work Completed:** [Description]
- **Verification Time:** [Timestamp]
## Verifications Executed
### 1. [Check Name]
**Command:** `[command]`
**Output:**[actual output]
**Status:** ✅ PASSED / ❌ FAILED
## Summary
| # | Check | Status |
|---|-------|--------|
| 1 | Tests | ✅ |
| 2 | Types | ✅ |
| 3 | Lint | ✅ |
## Verdict
**Overall Status:** ✅ ALL PASSED / ❌ X FAILED
**Evidence Quality:** Complete
**Ready for:** [Next step]Bias Protection
Acceleration: "Skip verification, it probably works" → "Probably" is not evidence. Run the commands.
Optimism: "I'm sure the tests pass" → You're not sure until you see them pass. Run them.
Confirmation bias: "One test failed but it's minor" → A failure is a failure. Fix it first.
Normalisation: "It's flaky", "it passes alone", "it was already red", "unrelated to my change" → A test red in the suite and green alone depends on shared state, order, time or the filesystem: find which. Running it alone does not restore the evidence the suite run revoked; only the suite green does. If the cause is not fixed in this session, open a ticket and name its identifier in the report.
Pre-existing warnings: "N deprecations, pre-existing, not mine" → Reported is not handled. Fix them, or ticket them with an identifier; never list them as the verdict's footnote.
Session State
The set-verified step is in the "MANDATORY: Mark Session Verified" section above.
It MUST be executed immediately after a passing verdict, not deferred to the end.
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.

