plugins/dev/skills/commit/SKILL.md
Automatically analyzes code changes and creates git commits with conventional commit messages when the user indicates they want to save their work, commit changes, or says 'commit this', 'save my changes', 'let's commit'. Auto-detects commit type, scope, and ticket reference from branch name.
npx skillsauth add coalesce-labs/catalyst commitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are tasked with creating git commits using conventional commit format for the changes made during this session.
Analyze what changed:
git status to see current changesgit diff --cached to see staged changes (if any)git diff to see unstaged changesgit diff --name-only and git diff --cached --name-onlyAuto-detect conventional commit components:
Type detection (suggest to user):
*.md files in docs/: suggest docs*test*, *spec*): suggest testpackage.json, *.lock files: suggest build.github/workflows/: suggest cifeat or fix based on contextfeat, fix, refactor, chore, docs, style,
perf, test, build, ciScope detection (suggest to user):
agents/*.md → agentscommands/*.md → commandsscripts/* → scriptsdocs/*.md → docs.claude/ → claudeExtract ticket reference:
git branch --show-current{PREFIX}-{NUMBER} (e.g., ENG-123, PROJ-456)Generate conventional commit message:
Format:
<type>(<scope>): <short summary>
<body - optional but recommended>
<footer - ticket reference>
Rules:
Refs: TICKET-123 if ticket in branch nameExample:
feat(commands): add conventional commit support to /commit
Updates the commit command to automatically detect commit type
and scope from changed files, following conventional commits spec.
Extracts ticket references from branch names for traceability.
Refs: ENG-123
Present plan to user:
<type>(<scope>): <summary>"Execute commit:
git add <specific-files> (NEVER use -A or .)git log --oneline -n 1git show --stat HEADReads from .catalyst/config.json:
{
"catalyst": {
"commit": {
"useConventional": true,
"scopes": ["agents", "commands", "scripts", "docs", "config"],
"autoDetectType": true,
"autoDetectScope": true,
"requireBody": false
},
"project": {
"ticketPrefix": "PROJ"
}
}
}
Types that appear in CHANGELOG:
feat - New featurefix - Bug fixperf - Performance improvementrevert - Revert previous commitInternal types:
docs - Documentation onlystyle - Formatting, no code changerefactor - Code restructuring, no behavior changetest - Adding/updating testsbuild - Build system or dependenciesci - CI/CD configurationchore - Maintenance tasksFeature:
feat(agents): add codebase-pattern-finder agent
Implements new agent for finding similar code patterns across
the codebase with concrete examples and file references.
Refs: ENG-456
Fix:
fix(commands): handle missing PR template gracefully
Previously crashed when thoughts/shared/pr_description.md was
missing. Now provides clear error with setup instructions.
Refs: ENG-789
Documentation:
docs(scripts): add README for setup scripts
Documents all scripts in scripts/ directory with usage examples
and explains when to use each setup method.
Refs: ENG-012
Chore (no ticket):
chore(config): update conventional commit scopes
Adds new scopes for agents and commands directories.
testing
Phase-agent that fixes a failing verify verdict so the pipeline self-heals instead of stalling to needs-human (CTL-653). Reads `${ORCH_DIR}/workers/<ticket>/verify.json`, fixes the `findings[]` (every severity:"high" plus the regression_risk drivers) directly via Edit/Write, commits the remediation, and emits `phase.remediate.complete.<ticket>`. The scheduler's router then re-dispatches `verify` to re-check (the verify⇄remediate cycle, cap 3). Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.
development
Phase agent for the verify step of the 9-phase orchestrator pipeline (CTL-450). NEW skill — has no canonical wrapper. Runs read-only adversarial verification against the implement-phase diff: tsc, tests, lint, security scan, reward-hacking scan, code review, test coverage, silent-failure hunt. Writes ${ORCH_DIR}/workers/<TICKET>/verify.json then emits phase.verify.complete.<ticket>. Reads phase-implement.json as its prior-phase artifact. NEVER writes application code — only test files allowed. Spawned via phase-agent-dispatch via slash command — hence `user-invocable: true`.
tools
--- name: phase-triage description: Phase agent that triages a Linear ticket — expands acronyms, classifies (feature/bug/docs/refactor/chore), identifies dependencies, estimates scope, writes triage.json, and posts a triage analysis comment to Linear. Triage completion is signaled by that comment plus the local triage.json — there is no `triaged` label. Emits phase.triage.complete.<TICKET> on success and phase.triage.failed.<TICKET> on error. Dispatched by the phase-agent orchestrator (CTL-452)
testing
Phase agent for the review step of the 9-phase orchestrator pipeline (CTL-450). Wraps the /review skill (gstack) — explicitly skips /ultrareview per user decision. Reads verify.json from the prior phase, runs /review against the diff, writes ${ORCH_DIR}/workers/<TICKET>/review.json, and creates a remediation commit for any HIGH-severity finding that has a deterministic fix. Emits phase.review.complete.<ticket>. Spawned via phase-agent-dispatch via slash command — hence `user-invocable: true`.