Skip to content
Skill Authoring
Skill

/git-hooks-setup

Implement Git hooks using Husky, pre-commit, and custom scripts. Enforce code quality, linting, and testing before commits and pushes.

From plugin
useful-ai-prompts
309200 skills
Install
$ npx -y skills add aj-geddes/useful-ai-prompts --skill git-hooks-setup --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/git-hooks-setup

Context preview

The summary Claude sees to decide when to auto-load this skill.

Implement Git hooks using Husky, pre-commit, and custom scripts. Enforce code quality, linting, and testing before commits and pushes.

SKILL.md

git-hooks-setup.SKILL.md
name: git-hooks-setup
description: >
  Implement Git hooks using Husky, pre-commit, and custom scripts. Enforce code
  quality, linting, and testing before commits and pushes.

Git Hooks Setup

Table of Contents

  • [Overview](#overview)
  • [When to Use](#when-to-use)
  • [Quick Start](#quick-start)
  • [Reference Guides](#reference-guides)
  • [Best Practices](#best-practices)

Overview

Configure Git hooks to enforce code quality standards, run automated checks, and prevent problematic commits from being pushed to shared repositories.

When to Use

  • Pre-commit code quality checks
  • Commit message validation
  • Preventing secrets in commits
  • Running tests before push
  • Code formatting enforcement
  • Linting configuration
  • Team-wide standards enforcement

Quick Start

Minimal working example:

#!/bin/bash
# setup-husky.sh

# Install Husky
npm install husky --save-dev

# Initialize Husky
npx husky install

# Create pre-commit hook
npx husky add .husky/pre-commit "npm run lint"

# Create commit-msg hook
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit "$1"'

# Create pre-push hook
npx husky add .husky/pre-push "npm run test"

# Create post-merge hook
npx husky add .husky/post-merge "npm install"

Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents | |---|---| | [Husky Installation and Configuration](references/husky-installation-and-configuration.md) | Husky Installation and Configuration | | [Pre-commit Hook (Node.js)](references/pre-commit-hook-nodejs.md) | Pre-commit Hook (Node.js) | | [Commit Message Validation](references/commit-message-validation.md) | Commit Message Validation | | [Commitlint Configuration](references/commitlint-configuration.md) | Commitlint Configuration, Pre-push Hook (Comprehensive) | | [Pre-commit Framework (Python)](references/pre-commit-framework-python.md) | Pre-commit Framework (Python) | | [Secret Detection Hook](references/secret-detection-hook.md) | Secret Detection Hook, Husky in package.json |

Best Practices

✅ DO

  • Enforce pre-commit linting and formatting
  • Validate commit message format
  • Scan for secrets before commit
  • Run tests on pre-push
  • Skip hooks only with `--no-verify` (rarely)
  • Document hook requirements in README
  • Use consistent hook configuration
  • Make hooks fast (< 5 seconds)
  • Provide helpful error messages
  • Allow developers to bypass with clear warnings

❌ DON'T

  • Skip checks with `--no-verify`
  • Store secrets in committed files
  • Use inconsistent implementations
  • Ignore hook errors
  • Run full test suite on pre-commit
Read more
Ships withuseful-ai-prompts

488 production-ready AI prompts, all following a standardized template with validated quality gates. Transform ChatGPT, Claude, and other AI assistants into expert consultants.

Get the whole plugin