configure-plugin/skills/pre-commit-standards/SKILL.md
Pre-commit hook standards and configuration. Use when configuring pre-commit hooks, checking hook compliance, or working with conventional commits.
npx skillsauth add laurigates/claude-plugins pre-commit-standardsInstall 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.
| Use this skill when... | Use configure-pre-commit instead when... |
|---|---|
| You need the canonical hook list, pinned versions, and conventional-commit conventions | You want to audit or install pre-commit hooks for a project end-to-end as an interactive workflow |
| You are checking whether a .pre-commit-config.yaml matches the documented standard | You want runtime detection of project type (frontend, infra, python) before choosing hook sets |
| Another skill needs to cite the standard hook versions or rule set | The user asked you to actually create or repair pre-commit configuration |
Standard pre-commit configuration for repository compliance.
| Hook | Version | Purpose | |------|---------|---------| | pre-commit-hooks | v6.0.0 | Core hooks (trailing-whitespace, check-yaml, etc.) | | conventional-pre-commit | v4.4.0 | Conventional commit message validation | | biome | v2.4.16 | Code formatting and linting (JS, TS, JSON) | | gruntwork pre-commit | v0.1.30 | helmlint, tflint (infrastructure only) | | actionlint | v1.7.12 | GitHub Actions validation (infrastructure only) | | helm-docs | v1.14.2 | Helm documentation (infrastructure only) | | gitleaks | v8.30.1 | Secret scanning (recommended) |
Required hooks for frontend applications:
default_install_hook_types:
- pre-commit
- commit-msg
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
exclude: ^(helm/templates/|skaffold/|k8s/).*\.ya?ml$
- id: check-json
exclude: tsconfig\.json$
- id: check-added-large-files
args: ['--maxkb=1000']
- id: check-merge-conflict
- id: detect-private-key
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v4.4.0
hooks:
- id: conventional-pre-commit
stages: [commit-msg]
- repo: https://github.com/biomejs/pre-commit
rev: v2.4.16
hooks:
- id: biome-check
additional_dependencies: ["@biomejs/[email protected]"]
# Optional: If project has Helm charts
- repo: https://github.com/gruntwork-io/pre-commit
rev: v0.1.30
hooks:
- id: helmlint
files: ^helm/
Required hooks for infrastructure (Terraform, Helm, ArgoCD):
default_install_hook_types:
- pre-commit
- commit-msg
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
args: [--allow-multiple-documents]
exclude: argocd/.*templates/|helm/[^/]+/templates/
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
- id: check-toml
- id: check-added-large-files
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v4.4.0
hooks:
- id: conventional-pre-commit
stages: [commit-msg]
- repo: https://github.com/gruntwork-io/pre-commit
rev: v0.1.30
hooks:
- id: tflint
- id: helmlint
- repo: https://github.com/rhysd/actionlint
rev: v1.7.12
hooks:
- id: actionlint
- repo: https://github.com/norwoodj/helm-docs
rev: v1.14.2
hooks:
- id: helm-docs
args:
- --chart-search-root=helm
- repo: https://github.com/gitleaks/gitleaks
rev: v8.30.1
hooks:
- id: gitleaks
Required hooks for Python projects:
default_install_hook_types:
- pre-commit
- commit-msg
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-json
- id: check-toml
- id: check-added-large-files
- id: check-merge-conflict
- id: detect-private-key
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v4.4.0
hooks:
- id: conventional-pre-commit
stages: [commit-msg]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.15
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
- repo: https://github.com/gitleaks/gitleaks
rev: v8.30.1
hooks:
- id: gitleaks
Every repository MUST have these hooks:
pre-commit-hooks (v6.0.0+)
trailing-whitespaceend-of-file-fixercheck-yamlcheck-jsoncheck-merge-conflictcheck-added-large-filesconventional-pre-commit (v4.4.0+)
conventional-pre-commit in commit-msg stage| Status | Meaning | |--------|---------| | PASS | Hook present with compliant version | | WARN | Hook present but version outdated | | FAIL | Required hook missing | | SKIP | Hook not applicable for project type |
When checking versions:
Exclude Kubernetes/Helm templates from YAML/prettier checks:
exclude: ^(helm/templates/|skaffold/|k8s/).*\.ya?ml$
Exclude ArgoCD and Helm templates:
exclude: argocd/.*templates/|helm/[^/]+/templates/
No special exclusions needed for standard Python projects.
After configuring .pre-commit-config.yaml:
pre-commit install
pre-commit install --hook-type commit-msg
Or simply:
pre-commit install --install-hooks
To update all hooks to latest versions:
pre-commit autoupdate
Then verify versions match project standards.
testing
Verify accumulated bug claims at upstream HEAD and dedup against trackers before filing issues. Use when filing upstream reports from backlogs, audit docs, or git-history findings.
documentation
Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.
tools
Suggest improvements to SKILL.md content, descriptions, or tool config from eval results. Use when raising pass rates, fixing triggering, or iterating on a skill after evaluation.
tools
deadbranch CLI for stale-branch cleanup — dry-run preview, TUI or non-interactive delete, protects main/develop/WIP. Use when asked to clean up branches, prune branches, or remove stale branches.