Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Pre-merge verification gate. Build, test, and lint must all pass before marking done or shipping.
.claude/skills/hashgraph-online-verify/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -22% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 0% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -23% | 0% |
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE. "I tested it" without output is an unverified claim.
/go subagent reports "done"/ship creates a PRbash# Detect and run the project's build command npm run build # or: go build ./... | cargo build | make
Must exit 0. If it fails, fix before proceeding.
bash# Run the project's test suite npm test # or: go test ./... | pytest | cargo test
Must exit 0. If tests fail, invoke debug skill.
bash# Run linter if configured npm run lint # or: golangci-lint run | ruff check | cargo clippy
Warnings are OK. Errors must be fixed.
bashnpx tsc --noEmit # TypeScript mypy . # Python
console.log / print debug statements leftTODO or FIXME introduced without explanation| Excuse | Rebuttal | What to do instead | |--------|----------|-------------------| | "Tests pass locally" | Did you actually run them? Trust the output, not your memory. | Run npm test right now. Show the output. | | "I only changed one file" | One file can break the entire build. Imports propagate. | Full build + test. Every time. No exceptions. | | "Lint warnings aren't errors" | Warnings become errors. Fix them before they multiply. | Zero warnings policy. Fix now or suppress with justification. | | "CI will catch it" | CI feedback is 5-10 min delayed. Catch it locally in seconds. | Run verify locally before pushing. CI is the safety net, not the test. |
Before reporting "ready", show ALL of these:
tsc --noEmit or equivalent)Each check needs actual command output. "I ran it" without output = not verified.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 15,078 | 14,391 | -5% | 1 | 1 | 0% | 207 | 846 | +309% | 0 | 0 | — |
case-02 | fail→pass | 14,597 | 9,048 | -38% | 1 | 1 | 0% | 1,448 | 1,270 | -12% | 0 | 0 | — |
case-03 | fail→pass | 14,205 | 8,764 | -38% | 1 | 1 | 0% | 1,593 | 1,243 | -22% | 0 | 0 | — |
case-04 | pass→pass | 18,125 | 11,981 | -34% | 1 | 1 | 0% | 1,685 | 1,831 | +9% | 0 | 0 | — |
case-05 | fail→pass | 16,703 | 14,642 | -12% | 1 | 1 | 0% | 1,883 | 1,877 | -0% | 0 | 0 | — |
case-06 | pass→pass | 15,814 | 10,596 | -33% | 1 | 1 | 0% | 1,441 | 1,448 | +0% | 0 | 0 | — |
case-07 | pass→pass | 10,700 | 7,271 | -32% | 1 | 1 | 0% | 1,703 | 1,616 | -5% | 0 | 0 | — |
case-08 | pass→pass | 11,466 | 5,105 | -55% | 1 | 1 | 0% | 1,449 | 1,368 | -6% | 0 | 0 | — |
case-09 | fail→pass | 20,229 | 8,754 | -57% | 1 | 1 | 0% | 1,880 | 2,190 | +16% | 0 | 0 | — |
case-10 | fail→pass | 25,242 | 10,867 | -57% | 1 | 1 | 0% | 2,867 | 2,205 | -23% | 0 | 0 | — |
case-11 | fail→pass | 10,562 | 12,625 | +20% | 1 | 1 | 0% | 1,700 | 1,718 | +1% | 0 | 0 | — |
case-12 | pass→pass | 13,969 | 6,018 | -57% | 1 | 1 | 0% | 1,387 | 1,466 | +6% | 0 | 0 | — |
case-13 | fail→pass | 10,103 | 4,647 | -54% | 1 | 1 | 0% | 757 | 1,493 | +97% | 0 | 0 | — |
case-14 | fail→pass | 17,501 | 10,308 | -41% | 1 | 1 | 0% | 1,696 | 1,631 | -4% | 0 | 0 | — |
case-15 | fail→pass | 14,710 | 9,210 | -37% | 1 | 1 | 0% | 1,425 | 1,337 | -6% | 0 | 0 | — |
case-16 | pass→pass | 13,624 | 4,370 | -68% | 1 | 1 | 0% | 1,503 | 1,431 | -5% | 0 | 0 | — |
case-17 | pass→pass | 12,041 | 10,384 | -14% | 1 | 1 | 0% | 1,184 | 1,383 | +17% | 0 | 0 | — |
case-18 | pass→pass | 18,051 | 5,705 | -68% | 1 | 1 | 0% | 2,008 | 1,586 | -21% | 0 | 0 | — |
case-19 | fail→pass | 10,740 | 9,050 | -16% | 1 | 1 | 0% | 1,722 | 1,358 | -21% | 0 | 0 | — |
case-20 | fail→pass | 13,957 | 4,597 | -67% | 1 | 1 | 0% | 1,350 | 1,383 | +2% | 0 | 0 | — |
case-21 | pass→pass | 8,959 | 3,624 | -60% | 1 | 1 | 0% | 1,512 | 1,300 | -14% | 0 | 0 | — |
case-22 | pass→pass | 19,923 | 11,059 | -44% | 1 | 1 | 0% | 2,069 | 1,647 | -20% | 0 | 0 | — |
case-23 | pass→fail | 13,671 | 9,331 | -32% | 1 | 1 | 0% | 2,135 | 845 | -60% | 0 | 0 | — |
case-24 | pass→pass | 27,939 | 13,024 | -53% | 1 | 1 | 0% | 2,305 | 2,876 | +25% | 0 | 0 | — |
case-25 | pass→pass | 19,652 | 30,071 | +53% | 1 | 1 | 0% | 3,505 | 5,436 | +55% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 23 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +40 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.