con un clic
language-verification
Use when verifying a branch with any stack's real test toolchain.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Use when verifying a branch with any stack's real test toolchain.
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
| name | language-verification |
| description | Use when verifying a branch with any stack's real test toolchain. |
One verification discipline, parametrized by stack. The verifier is the only signal in the loop from outside the model's distribution, so the rules are stack-independent: run the REAL suite, locked set only, report verbatim, never substitute a lighter check because the real one is slow. Only the command table varies per language.
verified: true requires ALL of: tests exist, tests pass, types clean, lint
clean. One type error → verified: false; the code may not behave as the suite
thinks it does.verified (X%); 50–79% →
passes-but-thinly-tested (X%); <50% → weakly-verified (X%) — collapse should weigh this branch lower; no suite → UNVERIFIED with coverage: null. Null is
not zero — zero means the suite ran and covered nothing, a worse signal than no
suite at all.Makefile/justfile targets → manifest scripts (package.json,
pyproject.toml, Cargo.toml, go.mod) → the convention defaults below. The
project's own commands always beat the table.| Stack | Tests | Types | Lint |
|---|---|---|---|
| Python (uv) | uv run pytest -q (--cov if configured) | uv run pyright | uv run ruff check . |
| TypeScript/Node | npm test / pnpm test (vitest/jest) | tsc --noEmit | eslint . |
| Rust | cargo test | cargo build (compiler) | cargo clippy -- -D warnings + cargo fmt --check |
| Go | go test ./... (-race when concurrent) | go build ./... + go vet ./... | golangci-lint run if configured |
| SQL/migrations | up→down→up round-trip on a scratch DB | schema diff empty after round-trip | sqlfluff if configured |
| C/C++/systems | ctest (with ASan/UBSan when configured) | -Wall -Werror build clean | clang-tidy if configured |
Coverage tools where they exist (--cov, c8, cargo llvm-cov, go test -cover,
gcov). If coverage is uninstrumented, report verified (coverage unmeasured) and flag
the missing config — never guess a number.
Branch b1, a mixed change (Rust crate + SQL migration):
cd "$BRANCH_PATH"
cargo build 2>&1 | tail -5 # types: clean
cargo clippy -- -D warnings # lint: clean
cargo test 2>&1 | tail -20 # 41 passed, 1 failed
First failure, captured verbatim: thread 'limits::burst_at_boundary' panicked at 'assertion failed: admitted <= 100', src/limits.rs:88. Migration round-trip on a
scratch DB: up, down, up — clean.
The report:
{"branch_id": "b1", "has_tests": true, "verified": false, "coverage": null,
"tests_run": 42, "tests_passed": 41, "tests_failed": 1,
"type_check_clean": true, "lint_clean": true,
"confidence_qualifier": "failed: burst_at_boundary admits >100",
"failure_detail": "thread 'limits::burst_at_boundary' panicked at 'assertion
failed: admitted <= 100', src/limits.rs:88"}
No softening ("it's just one test"), no skipping the slow migration check, no rounded coverage. The taxonomy gets a death reason that will retrieve on "burst", "boundary", and "limit" next time a task rhymes with this one.
ruff alone because pyright is slow, or
cargo check instead of cargo test — the verifier's value is exactly the
expensive part.notes.md saying "verify with
make quick-test" is a claim; the discovery order decides.passes-but-thinly-tested. The qualifier
protects collapse from false confidence.Use when attacking branches to find what the verifier cannot catch.
Use when flagging branch conviction or calibrating instinct against outcomes.
Use when budgeting, routing, and scaling a run to fit the ask.
Use when selecting the surviving branch on verifier evidence after collision.
Use when recording dead branches so future runs avoid re-litigating them.
Use when isolating branches in git worktrees and reconciling the survivor.