Conventional Commit Workflow
When To Use
- Generating conventional commit messages from staged changes
- Ensuring commit messages follow project conventions
When NOT To Use
- Full PR preparation - use sanctum:pr-prep instead
- Amending existing commits - use git directly
Usage
Use this skill to draft a commit message for staged changes. Execute Skill(sanctum:git-workspace-review) first to capture the repository path, status, and diffs. If no changes are staged, stage the relevant files before continuing.
Required Steps
- Validate Code Quality: Run
make format && make lint. Fix any reported errors before proceeding. Do not bypass pre-commit hooks with --no-verify or -n.
- Classify the Change: Choose a type from
feat, fix, docs, refactor, test, chore, style, perf, or ci. Select an optional but preferred scope (e.g., core, cli). Identify breaking changes for the BREAKING CHANGE: footer.
- Draft the Message:
- Subject:
<type>(<scope>): <imperative summary> (≤50 characters).
- Body: Wrap at 72 characters. Explain the "what" and "why" behind the change. Use paragraphs for technical rationale.
- Footer: Include breaking change details or issue references.
- Validate Against Slop: Before finalizing, scan the message for AI-generated content markers:
- Tier 1 (BLOCK): delve, leverage, seamless, comprehensive, robust, multifaceted, utilize, facilitate, streamline, pivotal, nuanced, intricate
- Tier 2 (WARN): moreover, furthermore, significantly, fundamentally, notably, revolutionize, elevate, unlock
- Phrases (BLOCK): "it's worth noting", "at its core", "in essence", "a testament to"
- If any Tier 1 words or blocked phrases found, replace with plain alternatives before proceeding
- Write the Output: Use a relative path (e.g.,
./commit_msg.txt) to save the message. Overwrite the file with the final message only, without commentary.
- Preview: Display the file contents using
cat or sed for confirmation.
Guardrails
Do not use git commit --no-verify or the -n flag. Pre-commit hooks are mandatory; fix issues rather than bypassing them.
Slop-Free Commit Messages (MANDATORY)
Commit messages must pass slop detection before being accepted. Apply scribe:slop-detector vocabulary rules:
Never use these words (replace with alternatives):
| Slop Word |
Use Instead |
| leverage |
use |
| utilize |
use |
| seamless |
smooth, easy |
| comprehensive |
complete, full |
| robust |
solid, reliable |
| facilitate |
enable, help |
| streamline |
simplify |
| optimize |
improve |
| delve |
explore, examine |
| multifaceted |
varied, complex |
| pivotal |
key, important |
| intricate |
detailed |
Avoid these phrases (delete or rewrite):
- "It's worth noting that..." → just state it
- "At its core..." → delete, start with the point
- "In essence..." → delete
- "A testament to..." → "shows" or "proves"
Use plain language: Present-tense imperative for subject lines, technical rationale in body. Write for humans, not to impress. A commit that says "fix auth bug" beats "seamlessly leverage comprehensive authentication optimization."
Technical Integration
Combine this skill with Skill(imbue:catchup) or /git-catchup if additional context is needed. If the type or scope is unclear, re-examine the diffs or consult the project plan before finalizing the draft.
Troubleshooting
Address specific errors reported by pre-commit hooks. Run make format to resolve styling issues and make lint for logic or style violations. Fix all detected issues before re-attempting the commit. If a merge conflict occurs, use git merge --abort to return to a clean state. A rejected commit indicates a failed quality gate; analyze the output and apply fixes before retrying.
Supporting Modules
- Output templates - conventional commit, PR description, and documentation update formats
See Also
Skill(scribe:slop-detector) - Full AI slop detection patterns
Skill(scribe:doc-generator) - Slop-free documentation writing
/slop-scan - Direct slop scanning command
1---2name: commit-messages3description: Generate conventional commit messages from staged changes with correct type/scope. Use when generating commit messages in conventional commits format. DO NOT use when: full PR preparation - use pr-prep instead.4---56# Conventional Commit Workflow789## When To Use1011- Generating conventional commit messages from staged changes12- Ensuring commit messages follow project conventions1314## When NOT To Use1516- Full PR preparation - use sanctum:pr-prep instead17- Amending existing commits - use git directly1819## Usage2021Use this skill to draft a commit message for staged changes. Execute `Skill(sanctum:git-workspace-review)` first to capture the repository path, status, and diffs. If no changes are staged, stage the relevant files before continuing.2223## Required Steps24251. **Validate Code Quality**: Run `make format && make lint`. Fix any reported errors before proceeding. Do not bypass pre-commit hooks with `--no-verify` or `-n`.262. **Classify the Change**: Choose a type from `feat`, `fix`, `docs`, `refactor`, `test`, `chore`, `style`, `perf`, or `ci`. Select an optional but preferred scope (e.g., `core`, `cli`). Identify breaking changes for the `BREAKING CHANGE:` footer.273. **Draft the Message**:28 - **Subject**: `<type>(<scope>): <imperative summary>` (≤50 characters).29 - **Body**: Wrap at 72 characters. Explain the "what" and "why" behind the change. Use paragraphs for technical rationale.30 - **Footer**: Include breaking change details or issue references.314. **Validate Against Slop**: Before finalizing, scan the message for AI-generated content markers:32 - **Tier 1 (BLOCK)**: delve, leverage, seamless, comprehensive, robust, multifaceted, utilize, facilitate, streamline, pivotal, nuanced, intricate33 - **Tier 2 (WARN)**: moreover, furthermore, significantly, fundamentally, notably, revolutionize, elevate, unlock34 - **Phrases (BLOCK)**: "it's worth noting", "at its core", "in essence", "a testament to"35 - If any Tier 1 words or blocked phrases found, replace with plain alternatives before proceeding365. **Write the Output**: Use a relative path (e.g., `./commit_msg.txt`) to save the message. Overwrite the file with the final message only, without commentary.376. **Preview**: Display the file contents using `cat` or `sed` for confirmation.3839## Guardrails4041Do not use `git commit --no-verify` or the `-n` flag. Pre-commit hooks are mandatory; fix issues rather than bypassing them.4243### Slop-Free Commit Messages (MANDATORY)4445Commit messages must pass slop detection before being accepted. Apply `scribe:slop-detector` vocabulary rules:4647**Never use these words** (replace with alternatives):48| Slop Word | Use Instead |49|-----------|-------------|50| leverage | use |51| utilize | use |52| seamless | smooth, easy |53| comprehensive | complete, full |54| robust | solid, reliable |55| facilitate | enable, help |56| streamline | simplify |57| optimize | improve |58| delve | explore, examine |59| multifaceted | varied, complex |60| pivotal | key, important |61| intricate | detailed |6263**Avoid these phrases** (delete or rewrite):64- "It's worth noting that..." → just state it65- "At its core..." → delete, start with the point66- "In essence..." → delete67- "A testament to..." → "shows" or "proves"6869**Use plain language**: Present-tense imperative for subject lines, technical rationale in body. Write for humans, not to impress. A commit that says "fix auth bug" beats "seamlessly leverage comprehensive authentication optimization."7071## Technical Integration7273Combine this skill with `Skill(imbue:catchup)` or `/git-catchup` if additional context is needed. If the type or scope is unclear, re-examine the diffs or consult the project plan before finalizing the draft.7475## Troubleshooting7677Address specific errors reported by pre-commit hooks. Run `make format` to resolve styling issues and `make lint` for logic or style violations. Fix all detected issues before re-attempting the commit. If a merge conflict occurs, use `git merge --abort` to return to a clean state. A rejected commit indicates a failed quality gate; analyze the output and apply fixes before retrying.7879## Supporting Modules8081- [Output templates](modules/output-templates.md) - conventional commit, PR description, and documentation update formats8283## See Also8485- `Skill(scribe:slop-detector)` - Full AI slop detection patterns86- `Skill(scribe:doc-generator)` - Slop-free documentation writing87- `/slop-scan` - Direct slop scanning command