From specialist-agent
Generates conventional git commit messages with automatic type/scope detection from file changes/diffs, runs pre-commit validation for secrets/debug code/large files, stages changes, and executes commit.
How this skill is triggered — by the user, by Claude, or both
Slash command
/specialist-agent: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
Generate and execute conventional commits with automatic scope detection and pre-commit validation.
Generate and execute conventional commits with automatic scope detection and pre-commit validation.
Override: $ARGUMENTS
git status --porcelain
git diff --stat
git diff --cached --stat
Determine:
Type detection from file patterns:
| Changed Files | Type |
|---|---|
src/components/*, src/pages/* | feat or fix |
tests/*, *.test.*, *.spec.* | test |
docs/*, *.md | docs |
.github/*, docker*, *.yml | ci or chore |
*.config.*, tsconfig*, package.json | chore |
| Rename/move only | refactor |
| Delete only | chore |
Scope detection from paths:
src/modules/auth/* -> scope: authsrc/components/Button/* -> scope: buttonsrc/services/* -> scope: servicesType from diff content:
featfixrefactorperfFormat: type(scope): description
Rules:
feat, fix, refactor, test, docs, chore, perf, ci, style)If $ARGUMENTS provided, use it as description override but still validate format.
# Check for secrets/sensitive files
git diff --cached --name-only | grep -E '\.(env|pem|key)$'
# Check for debug artifacts
git diff --cached | grep -E '(console\.log|debugger|TODO.*HACK)'
# Check for large files
git diff --cached --stat | awk '{print $NF}' | head -5
Warn if:
.env or credential files stagedconsole.log / debugger statements in diff# Stage if not staged
git add [relevant files]
# Commit
git commit -m "type(scope): description"
If commit message needs body:
git commit -m "type(scope): description" -m "body with more details"
──── /commit ────
Type: feat
Scope: auth
Message: feat(auth): add JWT refresh token rotation
Files: 4 changed (+120 / -15)
Warnings: none
✓ Committed: abc1234
──── /commit ────
⚠ WARNINGS:
- console.log found in src/service.ts:42
- .env.local is staged (contains secrets?)
Proceed anyway? Showing commit preview:
fix(api): handle timeout in payment service
Files: 2 changed (+8 / -3)
| Excuse | Reality |
|---|---|
| "I'll write a proper message later" | You won't. The context is fresh NOW. A bad commit message is permanent. |
| "It's just a small fix, message doesn't matter" | git log is the project's history book. Every entry matters. |
| "I'll squash before merging anyway" | Squash doesn't fix the habit. Good messages help during review too. |
| "Validation slows me down" | A leaked secret or committed console.log slows the whole team down. |
npx claudepluginhub herbertjulio/specialist-agent --plugin specialist-agentManages git commit workflows: checks status and diffs, stages changes selectively, generates and validates conventional commit messages, then executes commits.
Generates Conventional Commits messages from git diffs. Stages relevant files, infers type/scope, and commits automatically.
Executes git commits with conventional commit message analysis, intelligent staging, and message generation. Use when asked to commit changes or when /commit is invoked.