Skip to content
Development
Skill

/configuring-git-hygiene

Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks

From plugin
cc-thingz
3828 skills6 agents

Claude Code

$ npx -y skills add alexei-led/cc-thingz --skill configuring-git-hygiene --agent claude-code

SKILL.md

configuring-git-hygiene.SKILL.md
description: 'Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks
  secret scanning, .gitignore rules, local git config, and guardrails. Use when setting
  up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation,
  core.hooksPath, .gitignore, or git config best practices. NOT for creating commits
  (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating
  worktrees (use using-git-worktrees).'
name: configuring-git-hygiene

Configure Git Hygiene

Set up project-local hygiene that stays fast enough to keep enabled. Stop if the directory is not a git repo.

Ask first

Propose the plan (current facts, files and config to change, verification, risks) and get approval before you:

  • write, replace, or merge into a hook file;
  • set a `git config` value (local or global) or run `chmod`;
  • run `git rm --cached`;
  • install a tool, or choose whether a hook fails or skips when a tool is missing.

If the repo is dirty, show `git status --short` and ask before hook or config edits.

When asked for a plan, give the whole plan in one answer. If you have not inspected the repo yet, make the inspection commands below its first step, mark current state as unverified, and still lay out the hook, Gitleaks, or `.gitignore` changes from the policy and how you will verify them.

Inspect

git status --short
git config --show-origin --get core.hooksPath || true
git config --show-origin --list | rg '^(file:.*\s+)?(user\.|commit\.|tag\.|pull\.|fetch\.|rerere\.|core\.hooksPath|includeIf\.)' || true
git ls-files .gitignore .pre-commit-config.yaml .gitleaks.toml 2>/dev/null || true
ls -la .git/hooks .githooks scripts/git-hooks 2>/dev/null || true

Policy

  • Extend the existing hook framework. Without one, use `pre-commit`, then a project-local `core.hooksPath` directory (`git config --local core.hooksPath scripts/git-hooks`).
  • Pre-commit runs only on staged or affected files: format, lint, touched-config validation, staged Gitleaks scan. No full tests, full builds, installs, or network calls.
  • Pre-push runs the full build, test, type, and lint validation, plus a broader secret scan when practical.
  • Run Gitleaks with `--redact`, and keep secret values out of chat and external tools.
  • Hooks never auto-commit or restage files unless the repo already does.
  • A hook that blocks legitimate work gets tuned; `--no-verify` is not the fix.
  • `.gitignore` patterns come from real artifacts and stay narrow.

Details by topic:

  • Hook scripts and pre-push input → [hooks.md](references/hooks.md)
  • Gitleaks commands, missing tool, false positives → [gitleaks.md](references/gitleaks.md)
  • `.gitignore` and untracking files → [gitignore.md](references/gitignore.md)

Verify

  • Hooks path: `git config --local --get core.hooksPath`, then run the hook directly on safe fixture input.
  • Gitleaks: a staged or repo scan with `--redact`, when installed.
  • `.gitignore`: `git check-ignore -v <path>` and `git ls-files <path>`.
  • Hook scripts: the project's shell lint, format, and test gates.

Done when the relevant build/test/lint checks pass on what you changed, or you name each check that did not run and why.

Output

GIT HYGIENE CONFIG
Scope: hooks | gitleaks | gitignore | config | guardrails
Status: PROPOSED | APPLIED | BLOCKED
Current state: <facts from git config/files>
Plan: <change and why>
Changes: <file/config edited>
Verification: <command> — pass/fail/not run
Next: <install tool, run hook, or push validation>
Read more
@alexei-led
Ships withcc-thingz

Portable skills, agents, hooks, and Pi-native extensions for Claude Code, Codex CLI, GitHub Copilot, Cursor, Grok, and Pi. Gemini is retired.

3828 skills6 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
38
Star history of alexei-led/cc-thingz on GitHub, a chart by star-history.com

Other skills on cc-thingz.

releasing-code

releasing-code

Prepare, publish, or repair a software release and write its release notes. Use for cutting a versioned release or editing…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about configuring-git-hygiene.

Which coding agents can use configuring-git-hygiene?
configuring-git-hygiene installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.