config/ai/claude/claudecode/skills/commit-writer/SKILL.md
Use when the user needs a git commit message for staged changes.
npx skillsauth add pixelastic/oroshi commit-writerInstall 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.
Generate one commit message in Conventional Commits format. Output only the message — no explanations, no analysis, no code blocks.
Goal: isolate the single most significant change in the diff.
Read the diff. If it touches multiple unrelated areas, pick ONE most significant change. Ignore the rest.
Goal: produce a subject line that stands alone.
Format: type(scope): description
Types: feat, fix, refactor, perf, test, docs, style, chore
git log should understand the change without the diff✓ feat(auth): add password reset via email link
✓ fix(api): prevent race condition on concurrent writes
✗ fix: stuff
✗ updated auth module to use JWT instead of sessions because sessions were causing issues with the new load balancer setup
Goal: state the concrete impact in plain prose.
Skip the body only when the change is purely mechanical with no context to add: typo fix, dependency version bump, branch merge, whitespace-only. If in doubt, write it.
2 sentences max. What problem is solved, what is now possible, what is prevented.
Never enumerate. "Replaces X with Y, letting Z" describes mechanism, not impact — rewrite as the outcome.
✓ Prevents GUI errors from polluting terminal output
✓ Replaces manual alias workarounds — hook rewriting now handles proxying automatically
✓ Removes retry hack made obsolete by the official API's built-in backoff
✓ Renames variable to reflect its actual scope, reducing future misread risk
✗ Deleted legacy auth.js
✗ Added lodash dependency
✗ Updated config file
Goal: emit the message and nothing else.
Plain text only. No attribution, no code blocks, no preamble, no explanation.
| Rationalization | Reality | |---|---| | "I should explain my choice" | Output the message. Nothing else. | | "The body should cover all changes" | One impact. Ignore the rest. | | "This is complex, the body needs to be thorough" | 2 sentences max. Always. | | "A code block makes it clearer" | Code blocks break automation. Plain text only. | | "The subject is self-explanatory, no body needed" | Only skip for purely mechanical changes (typo, version bump, merge). Everything else has a why. |
tools
Turn the current conversation context into a PRD and publish it to the project issue tracker. Use when user wants to create a PRD from the current context.
tools
Break a plan, spec, or PRD into independently-grabbable issues using tracer-bullet vertical slices. Use when user wants to convert a plan into issues, create implementation tickets, or break down work into issues.
documentation
Use when user says "sidequest" or "handoff" — compact conversation context into a document for a fresh agent to pick up.
development
Use when the user wants to nail down domain terms, resolve terminology ambiguities, or build a shared language for a module or repo. Drills vocabulary one question at a time and writes to the project GLOSSARY.md.