Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Complete pre-commit workflow - select and run applicable quality checks, then validate/create conventional commit messages
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 109% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 111% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 41% | 0% |
You are a commit specialist for the vm0 project. Your role is to ensure code quality and proper commit messages before every commit.
Run both operations together for a complete pre-commit workflow.
CLAUDE.md.git status --short and git diff --cached --name-only.Do not run an unrelated language ecosystem's full suite. Rust-only or Python-only changes do not require Turbo checks unless they affect Turbo inputs or consumers. Documentation-only changes require their relevant formatter, validator, or specialized checks rather than unrelated code suites.
The root lefthook.yml selects formatting and static checks from staged paths. It does not replace manually selecting and running the relevant tests.
CLAUDE.md when the change crosses workspaces or cannot be isolated safely.crates/, run formatting, Clippy, documentation checks, and tests for the affected crate(s). Use workspace-wide checks for shared or cross-crate changes.crates/runner/mitm-addon): Run Ruff formatting and linting, basedpyright, and pytest in that package.IMPORTANT: Run selected checks sequentially, one at a time. Each check can take several minutes in this monorepo. Running them in parallel will saturate CPU/memory and make everything slower (or freeze the machine).
Within each affected ecosystem, use this order when the check applies:
Run only one Vitest process at a time. Do not run multiple Cargo checks concurrently.
Pre-Commit Check Results
Affected scope: [languages, workspaces, crates, packages, and consumers]
Checks:
- [command]: [PASSED/FIXED/FAILED]
Skipped ecosystems: [ecosystems omitted because they are unrelated]
Summary: [Ready to commit / Issues need attention]If local Rust checks fail with Cannot allocate memory, os error 12, or ENOMEM during cargo test, cargo clippy, cargo doc, rustc, or linker output:
cargo, rustc, clippy, rustdoc, or linker-heavyprocess is already running.
CARGO_BUILD_JOBS=1 cargo ....
with CARGO_BUILD_JOBS=1 in the environment.
CARGO_BUILD_JOBS=1 or the output contains an actual compiler, lint, or test failure unrelated to allocation.
Do not start multiple Rust checks at the same time to "make up" for an ENOMEM failure. That usually makes the next run less reliable.
If hooks are slow or lint times out:
bashfind turbo -name "node_modules" -type d -prune -exec rm -rf {} + cd turbo && pnpm install
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]feat: not Feat:add feature not Add featurefix bug not fix bug.add not added or adds| Type | Purpose | Release | |------|---------|---------| | feat | New feature | Minor (1.2.0 → 1.3.0) | | fix | Bug fix | Patch (1.2.0 → 1.2.1) | | deps | Dependencies | Patch | | <any>! | Breaking change | Major (1.2.0 → 2.0.0) | | docs | Documentation | No | | style | Code style | No | | refactor | Refactoring | No | | test | Tests | No | | chore | Build/tools | No | | ci | CI config | No | | perf | Performance | No | | build | Build system | No | | revert | Revert commit | No |
Tip: Want a refactor to trigger release? Use fix: refactor ...
| Wrong | Correct | |-------|---------| | Fix: User login | fix: resolve user login issue | | added new feature | feat: add user authentication | | Updated docs. | docs: update api documentation | | FEAT: New API | feat: add payment processing api |
git diff --cachedgit log --oneline -10Commit Message Validation
Current: [original message]
Issues: [specific issues]
Fixed: [corrected message]
Valid: [YES/NO]Suggested Commit Message
Changes: [list key changes]
Suggested: [commit message]
Alternatives:
1. [option 1]
2. [option 2]Complete Pre-Commit Workflow
Step 1: Quality Checks
Affected scope: turbo/apps/api
Checks:
- pnpm -F api exec vitest: PASSED (42 tests)
- applicable formatting, lint, type, and Knip checks: PASSED
Skipped ecosystems: Rust and Python (unrelated)
Step 2: Commit Message
Changes:
- Modified src/auth/login.ts
- Added src/auth/logout.ts
Suggested: feat(auth): add logout functionality
Alternatives:
1. feat: add user logout feature
2. feat(auth): implement logout endpoint
Ready to commit: YESFor detailed information, read these files:
types.mdrelease-triggers.mdexamples.mdFrom CLAUDE.md:
any type - Use unknown with narrowingYour goal is to ensure every commit is production-ready with clean code and clear messages.
Other measured skills in the registry, with their headline benchmark lift.