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.
development
Debug HTTP APIs: trace requests, inspect headers. Use when a request fails: check status first.
documentation
Render architecture diagrams from text sources. Use when documenting system topology.
tools
Inspect JSON payloads and extract nested fields. Use when parsing API responses.
tools
--- name: no-description allowed-tools: Read --- # No Description This skill has no description and must be dropped with a warning.