plano/.claude/skills/precommit/SKILL.md

1.9 KiB

name description
precommit Run pre-commit hooks and fix any failures. Use when the user asks to run pre-commit, fix CI, fix clippy, fix formatting, or when preparing code for a PR.

Fix Pre-commit Failures

Run pre-commit and fix all failures before committing or pushing.

Run it

cd /Users/ahafeez/dev/plano && pre-commit run --all-files

Requires ["all"] sandbox permissions (jemalloc build needs temp dir access).

Hooks and how to fix each

check-yaml

YAML syntax errors. Fix the YAML file directly. Excludes config/envoy.template*.

end-of-file-fixer / trailing-whitespace

Auto-fixed by the hook. Just re-stage the files and re-run.

cargo-fmt

cd crates && cargo fmt --all

Then re-stage changed files.

cargo-clippy

Runs cargo clippy --locked --all-targets --all-features -- -D warnings.

Common fixes:

  • collapsible_match: Collapse if inside a match arm into a guard clause. Add a fallthrough arm if the guard makes the match non-exhaustive.
  • dead_code: Remove unused fields/functions, or add #[allow(dead_code)] if intentional.
  • unused_imports: Remove the import.
  • clippy::too_many_arguments: Add #[allow(clippy::too_many_arguments)].

Important: Clippy runs on the full workspace including hermesllm, common, llm_gateway, prompt_gateway — not just brightstaff. Pre-existing warnings in other crates will fail CI too. Fix them.

cargo-test

cd crates && cargo test --lib

Fix failing tests. If a test fails due to your change, update the test. If it's pre-existing, still fix it.

gitleaks

Hardcoded secrets detected. Remove the secret, use env vars instead.

black

Python formatting. Auto-fixes on first run. Re-stage and re-run.

Workflow

  1. Run pre-commit run --all-files
  2. For each failure: fix the issue
  3. Stage fixes with git add
  4. Run pre-commit run --all-files again until all pass
  5. Then commit