Verification
CLI scaffolding tool that generates tailored .claude/ workflow infrastructure for Claude Code projects
npx -y skills add sefaertunc/Worclaude --skill verificationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Domain-specific verification beyond tests, closing the feedback loop for web, API, CLI, data
SKILL.md
5.0 KB, as published. Nobody here has run it
Verification
Note: The bash examples below are reference snippets. If you enable
disableSkillShellExecutionin Claude Code settings (v2.1.101+), any inline shell execution from skills is blocked. These fenced examples are safe to read; copy-paste them into your terminal to run.
Beyond Unit Tests
Unit tests verify code logic. Verification confirms the feature actually works in its real environment. Both are necessary. Neither alone is sufficient.
The /verify command runs automated checks, but domain-specific verification often requires manual steps or specialized tooling.
Closing the Feedback Loop
Every change needs a feedback loop: make a change, verify it worked, then move on. The loop must be closed BEFORE committing.
Bad workflow: change code -> commit -> move to next task -> discover it's broken Good workflow: change code -> verify -> commit -> move to next task
Web Application Verification
After changing UI or API behavior:
- Start the dev server
- Navigate to the affected page/endpoint
- Test the happy path manually
- Test at least one error path
- Check browser console for errors/warnings
- Verify responsive behavior if UI changed
For API changes:
# Test the endpoint directly
curl -X POST http://localhost:3000/api/resource \
-H "Content-Type: application/json" \
-d '{"field": "value"}'
# Check response status and body
API Verification
Test beyond the happy path:
- Valid request with all fields
- Valid request with minimum fields
- Invalid request (missing required field)
- Invalid request (wrong types)
- Authentication failures
- Rate limiting behavior
- Concurrent request handling (if relevant)
Use curl, httpie, or the project's API test suite. Automate what you can, but do at least one manual check of the actual running server.
CLI Verification
After changing CLI behavior:
- Run the command with typical arguments
- Run with edge case arguments (empty, very long, special characters)
- Run with invalid arguments (verify error messages are helpful)
- Test piping and redirection if applicable
- Verify exit codes
# Test normal usage
my-cli init --name "test project"
# Test error handling
my-cli init # missing required flag
# Test edge cases
my-cli init --name "" # empty string
Data Pipeline Verification
After changing data transformations:
- Run with sample input data
- Verify output schema matches expectations
- Check row counts (input vs output)
- Spot-check specific records for correctness
- Test with empty input
- Test with malformed input
Build Verification
The full verification suite (triggered by /verify):
npm test/pytest/cargo test— unit and integration testsnpm run build/ equivalent — compilation and bundlingnpm run lint/ equivalent — style and static analysis- Type checking if applicable (
tsc --noEmit,mypy, etc.) - Domain-specific checks from above
All five must pass. If any fails, stop and fix before continuing.
When Verification Reveals Problems
If verification fails:
- Don't panic. Read the error carefully.
- Check if it's a pre-existing issue or something you introduced.
- If you introduced it, fix it before committing.
- If it's pre-existing, document it and decide whether to fix now or file it.
Verification Gate Types
Different situations call for different gate behaviors:
- Pre-flight: Validate preconditions before starting. Deterministic checks only (file exists, env var set, branch clean). Fail fast if not met.
- Revision: Evaluate output quality, loop back with feedback. Maximum 3 iterations before escalating to user.
- Escalation: Surface unresolvable issues to the user. Pause work, present options clearly, wait for input.
- Abort: Terminate to prevent damage. Preserve current state, report what happened and why, suggest recovery steps.
Use pre-flight for anything that can be checked cheaply up front. Use revision for quality gates that may need iteration. Escalate when you've exhausted your ability to resolve. Abort only when continuing would make things worse.
Gotchas
- "Tests pass" is not the same as "it works." A test suite can have 100% coverage and still miss real-world failures. Always do at least one real verification.
- Don't skip verification because "it's a small change." Small changes cause production outages too.
- Browser console errors are free bug reports. Check them.
- If verification is painful, invest in making it easier. A script that starts the server, runs checks, and reports results saves cumulative hours.
- Flaky tests must be fixed or quarantined. A test suite that sometimes fails trains people to ignore failures.