configure-pre-commit

/configure:pre-commit

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "configure-pre-commit" with this command: npx skills add laurigates/claude-plugins/laurigates-claude-plugins-configure-pre-commit

/configure:pre-commit

Check and configure pre-commit hooks against project standards.

When to Use This Skill

Use this skill when... Use another approach when...

Setting up or validating pre-commit hooks Project doesn't use pre-commit framework (use git hooks directly)

Checking compliance with project standards Just running hooks manually (use pre-commit run command)

Installing project-type-specific hooks Hooks are already properly configured

Migrating to pre-commit framework Simple project with no quality checks needed

Updating hook configurations for detected tools Need to disable pre-commit entirely

Context

  • Pre-commit config: !find . -maxdepth 1 -name '.pre-commit-config.yaml'

  • Project standards: !find . -maxdepth 1 -name '.project-standards.yaml'

  • Project type in standards: !grep -m1 "^project_type:" .project-standards.yaml

  • Has terraform: !find . -maxdepth 2 ( -name '*.tf' -o -type d -name 'terraform' ) -print -quit

  • Has helm: !find . -maxdepth 2 -type d -name 'helm' -print -quit

  • Has package.json: !find . -maxdepth 1 -name 'package.json'

  • Has pyproject.toml: !find . -maxdepth 1 -name 'pyproject.toml'

Parameters

Parse from $ARGUMENTS :

  • --check-only : Report status without offering fixes

  • --fix : Apply all fixes automatically without prompting

  • --type <type> : Override project type detection (frontend , infrastructure , python )

Execution

Execute this pre-commit compliance check:

Step 1: Detect project type

  • Read .project-standards.yaml for project_type field if it exists

  • If not found, auto-detect:

  • infrastructure: Has terraform/ , helm/ , argocd/ , or *.tf files

  • frontend: Has package.json with vue/react dependencies

  • python: Has pyproject.toml or requirements.txt

  • Apply --type flag override if provided

Step 2: Check configuration file

  • If .pre-commit-config.yaml is missing: report FAIL, offer to create from template

  • If it exists: read and parse the configuration

Step 3: Verify hook versions against latest releases

CRITICAL: Before flagging outdated hooks, verify latest releases using WebSearch or WebFetch:

  • pre-commit-hooks: GitHub releases

  • conventional-pre-commit: GitHub releases

  • biome: GitHub releases

  • ruff-pre-commit: GitHub releases

  • gitleaks: GitHub releases

Step 4: Analyze compliance

Compare existing configuration against project standards (from pre-commit-standards skill):

Required Base Hooks (All Projects):

  • pre-commit-hooks v5.0.0+ with: trailing-whitespace, end-of-file-fixer, check-yaml, check-json, check-merge-conflict, check-added-large-files

  • conventional-pre-commit v4.3.0+ with commit-msg stage

Frontend-specific:

  • biome (pre-commit) v0.4.0+

  • helmlint (if helm/ directory exists)

Infrastructure-specific:

  • tflint , helmlint (gruntwork v0.1.29+)

  • actionlint v1.7.7+

  • helm-docs v1.14.2+

  • gitleaks v8.22.1+

Python-specific:

  • ruff-pre-commit v0.8.4+ (ruff, ruff-format)

  • gitleaks v8.22.1+

Step 5: Generate compliance report

Print a report in this format:

Pre-commit Compliance Report

Project Type: [type] ([detected|override]) Config File: .pre-commit-config.yaml ([found|missing])

Hook Status: [hook-name] [version] [PASS|WARN|FAIL] ([details])

Outdated Hooks:

  • [hook]: [current] -> [standard]

Overall: [N] issues found

Step 6: Apply fixes (if requested)

If --fix flag is set or user confirms:

  • Missing config file: Create from standard template for detected project type

  • Missing hooks: Add required hooks with standard versions

  • Outdated versions: Update rev: values to standard versions

  • Missing hook types: Add default_install_hook_types with pre-commit and commit-msg

After modification, run pre-commit install --install-hooks to install hooks.

Step 7: Update standards tracking

Update or create .project-standards.yaml :

standards_version: "2025.1" project_type: "[detected]" last_configured: "[timestamp]" components: pre-commit: "2025.1"

Agentic Optimizations

Context Command

Check if pre-commit installed command -v pre-commit >/dev/null 2>&1 && echo "installed" || echo "missing"

Validate config syntax pre-commit validate-config .pre-commit-config.yaml 2>&1

List configured hooks grep -E '^\s+- id:' .pre-commit-config.yaml 2>/dev/null | sed 's/.id:[[:space:]]//'

Check hook versions pre-commit autoupdate --freeze 2>&1

Quick compliance check /configure:pre-commit --check-only

Auto-fix configuration /configure:pre-commit --fix

Flags

Flag Description

--check-only

Report status without offering fixes

--fix

Apply all fixes automatically without prompting

--type <type>

Override project type detection (frontend, infrastructure, python)

Error Handling

  • No git repository: Warn but continue (pre-commit still useful)

  • Invalid YAML: Report parse error, offer to replace with template

  • Unknown hook repos: Skip (do not remove custom hooks)

  • Permission errors: Report and suggest manual fix

See Also

  • /configure:all

  • Run all compliance checks

  • /configure:status

  • Quick compliance overview

  • pre-commit-standards skill - Standard definitions

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

ruff-linting

No summary provided by upstream source.

Repository SourceNeeds Review
General

imagemagick-conversion

No summary provided by upstream source.

Repository SourceNeeds Review
General

jq json processing

No summary provided by upstream source.

Repository SourceNeeds Review