athola/commit-messages
Generates conventional commit messages from staged changes. Use when committing and needing a well-formatted message. Do not use for full PR prep; use pr-prep.
npx skills add https://github.com/athola/claude-night-market --skill commit-messages
git status -sbgit diff --cached --statgit diff --cachedgit log --oneline -5leyline:sem-integration):sem diff --staged --json for entity-level changes
If 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".
feat, fix, docs, refactor,test, chore, style, perf, ci) and optional scope.
<type>(<scope>): <imperative summary> (50 chars max)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 containingthe drafted conventional commit message
<type>(<scope>): <summary> format andis at most 50 characters
utilize, seamless, comprehensive, robust, etc.) appear in the
message
+ as proseconjunction, no smart quotes, no -> as prose connector
"nothing staged" without producing a commit message
Take athola/commit-messages from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.