One-click install
npx skills add https://github.com/jabb4/dotfiles --skill commit-jabb4
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: commit
Source: https://github.com/jabb4/dotfiles/tree/main/.claude/skills/commit
Command: npx skills add https://github.com/jabb4/dotfiles --skill commit-jabb4

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve?

It turns your uncommitted and unstaged changes into publish-ready Conventional Commits while protecting you from risky git states and preventing accidental pushes to protected branches.

Core Features & Use Cases

  • Git workflow guardrails: Refuses to operate during detached HEAD or active merge/rebase/cherry-pick, and blocks committing directly on main/master without an explicit gate.
  • Safety and security checks: Runs a secret-scan workflow before any staging so you can address exposed secrets before they enter git.
  • Conventional Commit message generation with user review: Drafts Conventional Commits messages from the staged diff, supports split proposals for unrelated concerns, and requires explicit confirmation before git commit and again before git push.
  • Push policy enforcement: Never pushes from main/master, refuses forced pushes, and validates upstream tracking before publishing.

Example use case: You edited multiple files and want a clean PR-ready history. Use this skill to scan for secrets, propose one or more Conventional Commit messages grounded in your staged diff, confirm the plan, commit locally, then confirm before pushing to the remote.

Quick Start

Ask to commit your changes and push them to the remote by saying: “commit my changes”.

Frequently Asked Questions about commit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate Conventional Commits messages from staged git diffs?

You can automatically stage uncommitted changes and draft Conventional Commits messages grounded in the staged diff. It also proposes splitting unrelated concerns into multiple commits for a clean, PR-ready history.

How do I prevent accidental git pushes to main or master branches?

This skill enforces push safety by blocking direct commits on main/master without an explicit gate and refusing to push from these protected branches entirely. It also validates upstream tracking before publishing.

Can I scan for exposed secrets before staging my git changes?

Yes, this skill runs a repo-defined secret-scan workflow before any staging occurs, ensuring you can address exposed secrets before they enter the git history.

What git states prevent me from safely committing my changes?

Unsafe git states include detached HEAD, active merges, rebase, or cherry-pick operations. This skill refuses to operate during these risky states to protect your working tree.

Does this commit workflow use force pushes or bypass git hooks?

No, this commit workflow explicitly refuses forced pushes and never uses --no-verify. It requires separate user confirmation before both git commit and git push to ensure safe publishing.