From sanctum
Creates well-formatted conventional commit messages from staged changes. Analyzes git diff and recent log, then drafts a message with type, scope, and subject. Includes slop word and punctuation checks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sanctum:commit-messagesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Generating conventional commit messages from staged changes
Gather context (run in parallel):
git status -sbgit diff --cached --statgit diff --cachedgit log --oneline -5leyline:sem-integration):
sem diff --staged --json for entity-level changesIf nothing is staged, tell the user and stop.
When sem output is available, use entity names (function, class, method) in the commit subject and body instead of parsing raw diff hunks. For example, "add function validate_webhook_url" instead of "add validation logic to notify.py".
Classify: Pick type (feat, fix, docs, refactor,
test, chore, style, perf, ci) and optional scope.
Draft the message:
<type>(<scope>): <imperative summary> (50 chars max)Slop check: reject these words and replace with plain alternatives:
| Reject | Use instead |
|---|---|
| leverage, utilize | use |
| seamless | smooth |
| comprehensive | complete |
| robust | solid |
| facilitate | enable |
| streamline | simplify |
| optimize | improve |
| delve | explore |
| multifaceted | varied |
| pivotal | key |
| intricate | detailed |
Also reject: "it's worth noting", "at its core", "in essence", "a testament to"
4a. Character-level slop check: load shared/output-hygiene.md
(Contract A) and strip these markers. Inline fallback if that
module is absent:
| Marker | Replace with |
|---|---|
"+" as a prose conjunction | and (keep + in versions/code) |
em-dash — | colon, period, comma, or rewrite |
-- as prose punctuation | colon or rewrite |
arrows -> / → as connectors | to / into |
smart quotes “ ” ‘ ’ | straight " and ' |
4b. Subject-matter check (Contract B): describe the change by its
reader-facing effect. Name neither the AI origin nor the specific
marker removed. Do NOT write remove AI slop, de-slop,
AI-generated content, AI phrasing, replace em-dashes, or
remove smart quotes. Test: if the subject only makes sense as "I
cleaned up AI output", rewrite it. For example docs: clarify the setup section, not style: replace em-dashes with colons.
./commit_msg.txt and preview.git commit --no-verify or -ncommit_msg.txt written to the working directory containing
the drafted conventional commit message<type>(<scope>): <summary> format and
is at most 50 characters+ as prose
conjunction, no smart quotes, no -> as prose connectornpx claudepluginhub athola/claude-night-market --plugin sanctumDrafts Conventional Commits messages for staged git changes. Proposes a type-scoped subject line, waits for user approval, then commits.
Generates Conventional Commits messages from staged git changes by analyzing git diff --cached. Determines type/scope, writes imperative subjects ≤50 chars, adds body only if why not obvious. Use for commit generation or /cavemanov-commit.
Generates one-shot Conventional Commits messages for staged git changes: feat/fix/refactor types, imperative ≤50 char subjects, optional scopes and Why explanations.