Run the project's full verification gate — typecheck, lint, tests — in one go. Use after any code change before committing, or when the user asks "is it green?" / "can I ship this?" / "verify" / "run checks".
Installs into .claude/skills of the current project.
Are you the author of Verify?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/lukas-grigis-verify)
---
name: verify
description: Run the project's full verification gate — typecheck, lint, tests — in one go. Use after any code change before committing, or when the user asks "is it green?" / "can I ship this?" / "verify" / "run checks".
when_to_use: After editing any TypeScript file, before committing, or when the user explicitly asks to verify. CLAUDE.md mandates this exact sequence must pass before every commit.
allowed-tools: Bash
---
# Verify
Run the project's verification gate as a single command:
```!
pnpm typecheck && pnpm lint && pnpm test
```
All three MUST pass. If any step fails, report which one, show the error, and stop — don't move on until the failure is
addressed.
## Why these three, in this order
1. **`pnpm typecheck`** — `tsc` (`noEmit` set in `tsconfig.json`). Fastest feedback; catches most issues.
2. **`pnpm lint`** — ESLint. Includes the Clean Architecture layer fence (
`domain → business → integration → application`), the no-class fence (outside `domain/value/error/`), the no-barrels
fence, and the sibling-isolation rules under `integration/ai/<concept>/`. A layer violation shows up here.
3. **`pnpm test`** — vitest (`vitest run`). The full suite, including flow step-order integration tests that lock the architectural shape.
Running them chained with `&&` short-circuits on the first failure, which is what we want.
## Not a replacement for
- `pnpm format:check` / `pnpm format` — Prettier. The pre-commit hook handles staged files; run `format:check` manually
for a full sweep before opening a PR.
- `pnpm deadcode` — knip. One-off audit; symbols intentionally exported are whitelisted via `@public` JSDoc tag +
`knip.json#tags: ["-public"]`.
- `pnpm build` — `tsup` + `tsx scripts/build-assets.ts`. Only needed before publishing to npm; CI verifies the bundle
from arbitrary cwd.