From harness-claude
Runs typecheck, lint, and test commands with binary pass/fail results. Auto-detects via package.json, Makefile, conventions for JS/TS, Python, Go projects. Fast ~30s sanity gate after tasks.
npx claudepluginhub intense-visions/harness-engineering --plugin harness-claudeThis skill uses the workspace's default tool permissions.
> Binary pass/fail quick gate. Runs test, lint, typecheck — returns structured result. No judgment calls, no deep analysis. Pass or fail.
Runs lint, type-check, tests, and build checks for Node.js/TS, Python, Rust, Go, Java projects to verify code health after changes.
Runs verification loop: lint → typecheck → unit → integration → e2e tests for Node.js, Python, Rust, Go, Java projects. Uses custom runner if present or auto-detects ecosystem and skips missing steps.
Enforces five-step verification (identify/run/read/verify/claim) of commands like npm test/build/lint before claiming code complete, fixed, or passing. Builds trust via evidence.
Share bugs, ideas, or general feedback.
Binary pass/fail quick gate. Runs test, lint, typecheck — returns structured result. No judgment calls, no deep analysis. Pass or fail.
harness-verification for that)harness-code-review for that)| Skill | What It Does | Time |
|---|---|---|
| harness-verify (this) | Mechanical quick gate: typecheck, lint, test | ~30s |
| harness-verification | Deep audit: architecture, patterns, edge cases | ~5min |
harness-verify is the fast, deterministic gate. harness-verification is the slow, thorough audit. They serve different purposes and should not be confused.
Auto-detect project commands by inspecting the project root:
scripts.test, scripts.lint, scripts.typecheck (or scripts.tsc, scripts.type-check)test, lint, typecheck targetsnpx tsc --noEmit, mypy ., go vet ./...npx eslint ., ruff check ., golangci-lint runnpm test, pytest, go test ./...For each of the three checks (typecheck, lint, test), record either the detected command or NONE if no command can be determined.
Run all detected commands in this order: typecheck -> lint -> test.
Rules:
NONE (not detected), mark that check as SKIPPED.When harness.config.json contains a design block:
harness-accessibility in scan+evaluate mode against the project.design.strictness setting to determine severity:
strict: accessibility violations are FAIL; anti-pattern violations are WARNstandard: accessibility and anti-pattern violations are WARN; nothing blockspermissive: all design violations are INFODesign: [PASS/WARN/FAIL/SKIPPED].design block exists in config, mark Design as SKIPPED.The design check runs AFTER test/lint/typecheck. It does not short-circuit on earlier failures.
Output a structured result in this exact format:
Verification: [PASS/FAIL]
- Typecheck: [PASS/FAIL/SKIPPED]
- Lint: [PASS/FAIL/SKIPPED]
- Test: [PASS/FAIL/SKIPPED]
When design config is present, include the design line:
Verification: [PASS/FAIL]
- Typecheck: [PASS/FAIL/SKIPPED]
- Lint: [PASS/FAIL/SKIPPED]
- Test: [PASS/FAIL/SKIPPED]
- Design: [PASS/WARN/FAIL/SKIPPED]
Rules:
Verification: PASS only if all non-skipped checks passed.PASS (nothing to fail).When all non-skipped checks pass (overall Verification: PASS) and docs/roadmap.md exists:
manage_roadmap MCP tool with sync action if available, or note to the caller that a roadmap sync is recommended.done.If docs/roadmap.md does not exist, skip this step silently. If verification failed, do not sync — the roadmap should only reflect verified completions.
This skill is entirely deterministic. There are no LLM judgment calls anywhere in the process.
harness-accessibility for design constraint checking when design config existsdesign.strictness from harness.config.jsondocs/roadmap.md exists, triggers manage_roadmap sync to mark verified features as done. Only fires on overall PASS.These are common rationalizations that sound reasonable but lead to incorrect results. When you catch yourself thinking any of these, stop and follow the documented process instead.
| Rationalization | Why It Is Wrong |
|---|---|
| "The lint command is slow and the code looks clean, so I will skip it" | No skipping. If a command is detected, it runs. Period. There is no "looks clean" judgment call. |
| "The typecheck failed but it is just a missing type declaration, so I will interpret it as a pass" | The exit code is the only signal. No judgment calls. Exit code non-zero equals FAIL, always. |
| "I will fix the lint error I found and re-run, since it is a quick fix" | No file modifications. This skill is read-only plus command execution. Fixing errors is the responsibility of the skill that produced the code. |
Verification: PASS
- Types: PASS (no errors)
- Lint: PASS (0 warnings)
- Tests: PASS (42/42)
Verification: FAIL
- Types: FAIL (3 type errors in src/auth/login.ts)
- Lint: PASS
- Tests: NOT RUN
tsc not installed), mark it as FAIL. Do not attempt to install the tooling.