skills/mav-local-verification/SKILL.md
Pre-push code quality verification — lint, typecheck, and tests run locally before pushing. Covers discovering project verification commands, run order, scope-appropriate checks, and fixing failures. Used as a dependency from workflow skills.
npx skillsauth add thermiteau/maverick-private mav-local-verificationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Run lint, typecheck, and tests locally before every push. Never push code that fails local checks.
--no-verify with git commandsdigraph verify {
"Ready to push?" [shape=diamond];
"Discover verification commands" [shape=box];
"Run lint" [shape=box];
"Lint passes?" [shape=diamond];
"Fix lint issues" [shape=box];
"Run typecheck" [shape=box];
"Typecheck passes?" [shape=diamond];
"Fix type errors" [shape=box];
"Run tests" [shape=box];
"Tests pass?" [shape=diamond];
"Fix failing tests" [shape=box];
"Push to remote" [shape=box];
"Ready to push?" -> "Discover verification commands" [label="yes"];
"Discover verification commands" -> "Run lint";
"Run lint" -> "Lint passes?";
"Lint passes?" -> "Run typecheck" [label="yes"];
"Lint passes?" -> "Fix lint issues" [label="no"];
"Fix lint issues" -> "Run lint";
"Run typecheck" -> "Typecheck passes?";
"Typecheck passes?" -> "Run tests" [label="yes"];
"Typecheck passes?" -> "Fix type errors" [label="no"];
"Fix type errors" -> "Run typecheck";
"Run tests" -> "Tests pass?";
"Tests pass?" -> "Push to remote" [label="yes"];
"Tests pass?" -> "Fix failing tests" [label="no"];
"Fix failing tests" -> "Run tests";
}
Projects use different tooling. Discover the available commands by checking these sources in order:
package.json scripts (Node.js projects):
cat package.json | jq '.scripts | keys[]' 2>/dev/null
Look for: lint, typecheck, type-check, tsc, test, test:unit, check
Makefile targets:
grep -E '^[a-zA-Z_-]+:' Makefile 2>/dev/null
Look for: lint, check, test, verify, validate
Monorepo root (if applicable):
cat package.json | jq '.scripts' 2>/dev/null
Look for workspace-level commands like test:all, lint:all, or use the package manager's workspace filter.
Common patterns if no scripts are found:
| Tool | Lint | Typecheck | Test |
|---|---|---|---|
| npm/pnpm | pnpm lint | pnpm typecheck | pnpm test |
| Turborepo | pnpm turbo lint | pnpm turbo typecheck | pnpm turbo test |
| Make | make lint | make typecheck | make test |
| Python (uv) | uv run ruff check | uv run mypy . | uv run pytest |
| Go | golangci-lint run | (built into compile) | go test ./... |
Run in this order — each stage catches different classes of issues:
Stop at the first failure. Fix it before proceeding to the next stage.
Not every change needs the full suite:
| Change type | Lint | Typecheck | Tests | |---|---|---|---| | Code changes | Yes | Yes | Yes — at minimum the affected test files | | Config/YAML only | No | No | No (unless config affects runtime) | | Documentation only | No | No | No | | New dependencies added | Yes | Yes | Yes — full suite |
For the final push before PR creation, always run the full suite regardless of change type.
development
Use when a best-practice skill needs project-specific implementation details and no project skill exists at docs/maverick/skills/<topic>/SKILL.md. Scans the codebase and generates a project-specific skill file.
testing
Create or update technical documentation for a project. Covers architecture, service interactions, data flows, and design decisions. Produces professional markdown with Mermaid diagrams.
development
How to process code review feedback — verify before implementing, push back when wrong, clarify before acting on partial understanding. Applied when receiving review from the code-reviewer agent or human reviewers.
development
Analyze a project's codebase against Maverick standard practices and write a findings report. Checks linting, unit tests, integration tests, documentation, and CI/CD. Run when onboarding an existing project or on demand.