plugins/sanctum/skills/commit-messages/SKILL.md
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 skillsauth add athola/claude-night-market commit-messagesInstall 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.
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 -nresearch
Generate diverse solution candidates with category-spanning ideation methods and rotation. Use when stuck on a design or fighting repetitive LLM output.
tools
--- name: validate-pr description: Use when you need a diff-derived test plan for a PR: reads the diff, groups changes by area, runs targeted verifications, and proves revert-tests are genuine guards, not dead assertions. alwaysApply: false category: validation tags: - pr - validation - test-plan - diff - revert-test - evidence tools: [] usage_patterns: - diff-derived-test-plan - revert-test-quality-check - evidence-capture complexity: intermediate model_hint: standard estimated_tokens: 650
development
Contract for the project decision journal (tradeoffs and lessons-learned logs). Use when recording a decision, tradeoff, or lesson, or building a consumer hook.
development
Ramps implementation ambition a notch only after the prior increment is understood. Use when building a feature you must understand, not just ship.