PreCommit
PreCommit
A comprehensive skill for managing pre-commit hooks - the framework for multi-language pre-commit hook management that automates code quality, formatting, linting, and security scanning.
Quick Reference
| Command | Description |
|---|---|
pre-commit install |
Install git hooks |
pre-commit run --all-files |
Run all hooks on all files |
pre-commit autoupdate |
Update hooks to latest versions |
pre-commit run <hook-id> |
Run specific hook |
Workflow Routing
| Workflow | Trigger | File |
|---|---|---|
| Setup | "setup pre-commit", "initialize hooks", "create config" | Workflows/Setup.md |
| AddHooks | "add hook", "add linting", "add formatter", "add security" | Workflows/AddHooks.md |
| Troubleshoot | "fix pre-commit", "hook failing", "debug hooks" | Workflows/Troubleshoot.md |
| CIIntegration | "CI pipeline", "GitHub Actions", "GitLab CI" | Workflows/CIIntegration.md |
| CustomHook | "create custom hook", "local hook", "write hook" | Workflows/CustomHook.md |
Documentation
| Document | Purpose |
|---|---|
QuickStartGuide.md |
Installation and first-time setup |
HooksReference.md |
Comprehensive hook catalog by language/purpose |
ConfigurationGuide.md |
Advanced configuration options |
SecurityHooks.md |
Secret detection and security scanning |
Tools
| Tool | Purpose |
|---|---|
Tools/PreCommitManager.ts |
CLI for managing pre-commit configurations |
Tools/HookGenerator.ts |
Generate .pre-commit-config.yaml templates |
Tools/HookValidator.ts |
Validate hook configurations |
Examples
Example 1: Setup pre-commit for a new project
User: "Setup pre-commit for my Python project"
→ Invokes Setup workflow
→ Creates .pre-commit-config.yaml with Python hooks (black, isort, flake8)
→ Runs pre-commit install
Example 2: Add Terraform hooks
User: "Add Terraform validation hooks"
→ Invokes AddHooks workflow
→ Adds terraform_fmt, terraform_validate, terraform_docs hooks
→ Configures tflint and checkov integration
Example 3: Add security scanning
User: "Add secret detection to pre-commit"
→ Invokes AddHooks workflow
→ Adds gitleaks, detect-secrets, trufflehog hooks
→ Configures appropriate exclusion patterns
Example 4: Debug failing hook
User: "My eslint pre-commit hook is failing"
→ Invokes Troubleshoot workflow
→ Checks hook configuration and dependencies
→ Provides fix recommendations
Supported Hook Categories
- Python: black, isort, flake8, mypy, bandit, pyupgrade
- JavaScript/TypeScript: prettier, eslint, biome
- Infrastructure: terraform, terragrunt, helm, kustomize
- Kubernetes: kubeconform, kubeval, checkov
- Security: gitleaks, detect-secrets, trufflehog, trivy
- General: yamllint, jsonlint, shellcheck, markdownlint
More from julianobarbosa/claude-code-skills
obsidian-vault-management
Creates, edits, and manages Obsidian vault content including notes, templates, daily notes, and dataview queries. Use when working with markdown files in an Obsidian vault, creating notes, writing templates, building dataview queries, or organizing knowledge management content.
189neovim
Comprehensive guide for this Neovim configuration - a modular, performance-optimized Lua-based IDE. Use when configuring plugins, adding keybindings, setting up LSP servers, debugging, or extending the configuration. Covers lazy.nvim, 82+ plugins across 9 categories, DAP debugging, AI integrations, and performance optimization.
153markitdown-skill
Guide for using Microsoft MarkItDown - a Python utility for converting files to Markdown. Use when converting PDF, Word, PowerPoint, Excel, images, audio, HTML, CSV, JSON, XML, ZIP, YouTube URLs, EPubs, Jupyter notebooks, RSS feeds, or Wikipedia pages to Markdown format. Also use for document processing pipelines, LLM preprocessing, or text extraction tasks.
153obsidian
>-
137zabbix
Zabbix monitoring system automation via API and Python. Use when: (1) Managing hosts, templates, items, triggers, or host groups, (2) Automating monitoring configuration, (3) Sending data via Zabbix trapper/sender, (4) Querying historical data or events, (5) Bulk operations on Zabbix objects, (6) Maintenance window management, (7) User/permission management
132researching-web
Search the web using Perplexity AI. Use when needing to search, look up, research, find current information, best practices, compare technologies, or answer factual questions about tools and libraries.
116