From commit
Commits current git changes with a structured, user-configurable commit message format. Use this skill whenever the user wants to commit changes, stage and commit, or write a git commit message — even if they just say "commit my changes", "make a commit", or "commit this". Also use it when the user asks to configure their commit format or preferences.
How this skill is triggered — by the user, by Claude, or both
Slash command
/commit:commitThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Commit the current git changes using the user's configured format. If no config exists, use Conventional Commits as the default and offer to save preferences.
Commit the current git changes using the user's configured format. If no config exists, use Conventional Commits as the default and offer to save preferences.
Look for a config file at .claude/commit-config.json in the repo root. If it doesn't exist, use these defaults:
{
"format": "conventional",
"auto_stage": true,
"auto_push": false
}
Config fields:
format: "conventional" | "simple" | "custom" — commit message style (see formats below)auto_stage: true | false — whether to run git add . before committingauto_push: true | false — whether to run git push automatically after a successful commit (default: false)custom_template: (only when format: "custom") — a string template, e.g. "[{type}] {subject}" or "{emoji} {subject}". Include {scope} in the template only if you want scope in your messages.Run git status --short and git diff --stat HEAD to understand what changed. If auto_stage is true and there are unstaged changes, run git add . first.
If there is nothing to commit, tell the user and stop.
Run git diff --cached (staged diff) to understand what actually changed. Focus on:
Use the configured format:
conventional (default)<type>(<scope>): <subject>
<body>
feat | fix | docs | style | refactor | perf | test | choresimple<subject>
Just a single clear line. No type prefix, no footer.
customUse the custom_template string from config. Replace {type}, {scope}, {subject}, {body}, {emoji} with appropriate values. Infer a fitting emoji if {emoji} is in the template.
Present the proposed commit message to the user clearly, then ask: "Commit with this message? (yes / edit / cancel)"
git commit -m "...", then if auto_push is true, run git pushauto_push is true)If the user invoked the skill with arguments (e.g. /commit fix the login bug), use the argument as a strong hint for the subject line or to fill in missing context. Don't ignore it.
Special argument: if the user says /commit --config, walk them through setting up or updating .claude/commit-config.json interactively, then save it.
conventional:
feat(auth): add JWT refresh token support
Tokens now auto-refresh before expiry to prevent session drops.
simple:
add JWT refresh token support
custom template "{emoji} {type}: {subject}":
✨ feat: add JWT refresh token support
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub rockingrohit9639/ai-playground --plugin commit