verify
Verification loop — lint -> typecheck -> unit -> integration -> e2e
Skill by sd0xdev
Chalk Labs
Need help deploying verify?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/sd0xdev-verify
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/verify
Tools it pre-approves 19
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash(node:*),Bash(pnpm:*),Bash(yarn:*),Bash(npm:*),Bash(npx:*),Bash(git:*),Bash(python*:*),Bash(pytest:*),Bash(ruff:*),Bash(mypy:*),Bash(cargo:*),Bash(go:*),
Show 7 more
Bash(golangci-lint:*),Bash(./gradlew:*),Bash(mvn:*),Bash(bundle:*),Read,Grep,Glob
What's inside
- Skill name
verify- Description
- Verification loop — lint -> typecheck -> unit -> integration -> e2e
- License
- MIT
- Allowed tools
- Bash(node:*),, Bash(pnpm:*),, Bash(yarn:*),, Bash(npm:*),, Bash(npx:*),, Bash(git:*),, Bash(python*:*),, Bash(pytest:*),, Bash(ruff:*),, Bash(mypy:*),, Bash(cargo:*),, Bash(go:*),, Bash(golangci-lint:*),, Bash(./gradlew:*),, Bash(mvn:*),, Bash(bundle:*),, Read,, Grep,, Glob
- Instructions
- 131 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (1)
- SKILL.md
SKILL.md (first lines)
# Verification Loop
## Trigger
- Keywords: verify, run tests, check, lint, typecheck, verification
## When NOT to Use
- Pre-commit gate (use `/precommit` or `/precommit-fast`)
- Test coverage review (use `/codex-test-review`)
- Running a single specific test (run directly)
## Commit Context
Claude Code 2.1.286 and later tell Claude to run a skill named `verify` before a commit. The gate
that binds a commit is `/precommit` (`rules/auto-loop.md`), so when `/verify` runs as that
pre-commit check it neither repeats a precommit that already passed nor stands in for one that did
not:
1. Read the gate state: `node scripts/review-state.js check --format=json`, installed copy first
(`.claude/scripts/review-state.js`).
2. `precommit.passed` is exactly `true` → report "Precommit already passed at the current code
digest; no new checks executed" and stop. Emit no sentinel and write no verdict note.
3. Anything else — `passed` false, no `precommit` slot, output that does not parse as JSON, or no
checker found → run `/precommit`. Its own report and evidence contract apply; `/verify` adds no
verdict of its own.
`passed` is content-addressed — noted, at the current tree digest, with verdict `pass` — so no
separate freshness check is needed. Run any other way, `/verify` performs the steps below unchanged.
## Workflow Steps
| Step | Goal | Safety | Skip if Missing |
|------|------|--------|----------------|
| lint | Check code style (read-only) | read-only | yes |
| typecheck | Static type checking (full only) | read-only | yes |
| test-unit | Run unit test suite | read-only | yes |
| test-integration | Run integration tests (full only) | read-only | yes |
| test-e2e | Run end-to-end tests (full only) | read-only | yes |
**Failure behavior**: continue-all (run all steps, report all results)
## Task
### Step 1: Check for runner script
Use Glob to check if `.claude/scripts/verify-runner.js` exists in the project root.
- **Found** → run: `node .claude/scripts/verify-runner.js $ARGUMENTS`
- If runner succeeds, use its output and skip to the Output section.
- If runner **fails**, treat as a real verification failure (do not silently fallback).
- **NOT found** → skip to Step 2 (do NOT attempt to run the runner).
### Step 2: Fallback (no runner script)
If the runner was not found in Step 1, detect the project ecosystem to run steps manually.
**Ecosystem detection** (check project root for manifest files):
| Manifest | Ecosystem | Lint | Typecheck | Test |
|----------|-----------|------|-----------|------|
| `package.json` | Node.js | `{pm} lint` | `{pm} typecheck` | `{pm} test:unit` |
| `pyproject.toml` | Python | `ruff check .` | `mypy .` | `pytest` |
| `Cargo.toml` | Rust | `cargo clippy` | _(implicit)_ | `cargo test` |
| `go.mod` | Go | `golangci-lint run` | `go vet ./...` | `go test ./...` |
| `build.gradle` | Java | `./gradlew spotlessCheck` | _(implicit)_ | `./gradlew test` |
For Node.js projects, auto-detect package manager from lockfile.
**`$ARGUMENTS` == "fast"**: lint + unit only
**Otherwise (full)**: lint -> typecheck -> unit -> integration -> e2e
| Step | package.json script | If missing |
|------|---------------------|------------|
| lint | `lint` | Skip with note |
| typecheck | `typecheck` | Skip with note |
| unit | `test:unit`, fallback to `test` | Skip with note |
| integration | `test:integration` | Skip (requires explicit path) |
| e2e | `test:e2e` | Skip (requires explicit path) |
### Graceful Skip Rules
| Scenario | Behavior |
|----------|----------|
| No `lint` script | Skip, log "no lint script — skipped" |
| No `typecheck` script | Skip, log "no typecheck script — skipped" |
| No `test:unit` or `test` script | Skip, log "no test script — skipped" |
| No `package.json` | Report error, cannot run checks |
## Output
The last line is `## Verify:`, never `## Overall:`. `## Overall:` is the precommit runner's
sentinel alone (`rules/auto-loop.md` § Gate Sentinels), so a verification report is never read as
a precommit verdict.
For **fast** mode:
```markdown
## Verify (fast)
| Step | Status | Notes |
|------|--------|-------|
| lint | ✅/❌/⏭️ | |
| unit | ✅/❌/⏭️ | |
## Verify: ✅ PASS / ❌ FAIL
```
For **full** mode:
```markdown
## Verify (full)
| Step | Status | Notes |
|------|--------|-------|
| lint | ✅/❌/⏭️ | |
| typecheck | ✅/❌/⏭️ | |
| unit | ✅/❌/⏭️ | |From sd0xdev/sd0x-harness, MIT.
More from sd0xdev/sd0x-harness
- 0.713score
debug
sd0xdev
Interactive debugging workflow with hypothesis-driven probe loop.
SkillAFreshness: A★ 194Claude Code - 0.713score
contract-decode
sd0xdev
EVM contract error and calldata decoder.
SkillAFreshness: A★ 194Claude Code - 0.713score
codex-brainstorm
sd0xdev
Adversarial brainstorming via Claude+Codex debate.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
best-practices
sd0xdev
Industry best practices conformance audit with mandatory adversarial debate.
SkillAFreshness: A★ 194Claude Code - 0.713score
codex-cli-review
sd0xdev
Code review via Codex CLI with full disk access.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
codex-explain
sd0xdev
Explain complex code via Codex exec.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
ask
sd0xdev
Context-aware Q&A with auto context gathering.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
claude-health
sd0xdev
Claude Code config health check + plugin sync.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
code-explore
sd0xdev
Pure Claude code investigation.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
code-investigate
sd0xdev
Dual-perspective code investigation.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
codex-architect
sd0xdev
Codex architecture consulting.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
deep-explore
sd0xdev
Multi-wave parallel code exploration orchestrator.
SkillAFreshness: A★ 194Claude Code +9
Signals
- Stars
- 194
- Forks
- 26
- Open issues
- 5
- Last commit (this folder)
- Oct 3, 2026 (1 month ago)
- Last release
- Oct 6, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/sd0xdev/sd0x-harness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from sd0xdev
- 0.713score
code-investigate
sd0xdev
Dual-perspective code investigation.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
code-explore
sd0xdev
Pure Claude code investigation.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
ask
sd0xdev
Context-aware Q&A with auto context gathering.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
best-practices
sd0xdev
Industry best practices conformance audit with mandatory adversarial debate.
SkillAFreshness: A★ 194Claude Code - 0.713score
claude-health
sd0xdev
Claude Code config health check + plugin sync.
SkillAFreshness: A★ 194Claude Code +9 - 0.713score
codex-architect
sd0xdev
Codex architecture consulting.
SkillAFreshness: A★ 194Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get verify running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
verify skill. Agent Mart. https://agentmart.dev/skills/sd0xdev-verify (last updated 2026-10-24)