skills/precommit/SKILL.md
Pre-commit checks — lint:fix -> build -> test
npx skillsauth add sd0xdev/sd0x-dev-flow precommitInstall 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.
/precommit-fast)/verify)| Step | Goal | Safety | Skip if Missing | |------|------|--------|----------------| | lint-fix | Auto-fix code style issues | read-write | yes | | build | Verify compilation succeeds | read-only | yes | | test-unit | Run full test suite | read-only | yes |
Failure behavior: continue-all (run all steps, report all results)
Run pre-commit checks: lint:fix -> build -> test
Use Glob to check if .claude/scripts/precommit-runner.js exists in the project root.
node .claude/scripts/precommit-runner.js --mode full --tail 80
Detect the project ecosystem to run steps manually.
Ecosystem detection:
| Manifest | Ecosystem | Lint-fix | Build | Test |
|----------|-----------|----------|-------|------|
| package.json | Node.js | {pm} lint:fix | {pm} build | {pm} test:ci / test / test:fast / test:unit |
| pyproject.toml | Python | ruff check --fix . | — | pytest tests/unit/ |
| Cargo.toml | Rust | cargo clippy --fix | cargo build | cargo test |
| go.mod | Go | golangci-lint run --fix | go build ./... | go test ./... |
| build.gradle | Java (Gradle) | ./gradlew spotlessApply | ./gradlew build | ./gradlew test |
| pom.xml | Java (Maven) | mvn spotless:apply | mvn compile | mvn test |
| Gemfile | Ruby | bundle exec rubocop -a | — | bundle exec rspec |
For Node.js projects, auto-detect package manager from lockfile.
| Step | package.json script | If missing |
|------|---------------------|------------|
| lint:fix | lint:fix | Skip with note |
| build | build | Skip with note |
| test | test:ci → test → test:fast → test:unit | Skip with note |
After lint:fix completes, run git diff --name-only to capture auto-fixed files.
## Precommit (full)
## Results
| Step | Status | Notes |
|------|--------|-------|
| lint:fix | ✅/❌/⏭️ | skipped if no script |
| build | ✅/❌/⏭️ | skipped if no script |
| test | ✅/❌/⏭️ | skipped if no script |
## Changed Files (after lint:fix)
- <files or "(none)">
## Overall: ✅ PASS / ❌ FAIL
## Checklist
- [ ] All available checks pass
- [ ] git status reviewed
documentation
Rewrite the previous reply in Traditional Chinese
development
Monitor GitHub Actions CI runs until completion. Use when: watching CI after push, checking build status, monitoring PR checks, waiting for CI completion, user says 'watch CI', 'check CI', 'CI status', 'monitor build', or /watch-ci. Not for: pushing code (use push-ci), creating PRs (use create-pr). Output: per-run verdict (pass/fail/timeout).
development
Verification loop — lint -> typecheck -> unit -> integration -> e2e
development
Research current code state then update corresponding docs, ensuring docs stay in sync with code.