From jon-skills
Create or draft a Conventional Commits compliant git commit with a meaningful body and git trailers for staged changes. Use when the user asks to commit, write a commit message, or generate a commit message.
How this skill is triggered — by the user, by Claude, or both
Slash command
/jon-skills:commitThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a Conventional Commits 1.0.0 compliant commit for staged changes.
Create a Conventional Commits 1.0.0 compliant commit for staged changes. Default to a full decision-record style message: subject, explanatory body, and git trailers. Do not create a subject-only commit unless the user explicitly asks for a one-line message.
git commit.-m flags so Git receives the body and trailers.Not-tested: trailer.Review staged changes:
git status --shortgit diff --staged --statgit diff --stagedIdentify the commit intent:
Choose the narrowest commit type and scope that match the staged changes.
Write a multi-part message:
Commit using a message file:
msg_file="$(mktemp)"
cat > "$msg_file" <<'EOF'
<type>[optional scope][!]: <description>
<body explaining intent and context>
Tested: <verification performed>
Not-tested: <known gaps, if any>
EOF
git commit --file "$msg_file"
rm -f "$msg_file"
<type>[optional scope][!]: <description>
[optional body]
[optional footer(s)]
Structure:
type is required and should be a noun such as feat or fixscope is optional and should be a short noun describing the affected area, wrapped in parentheses! immediately before the colon marks a breaking changedescription is required and should be a short imperative summary of the changebody is optional in the spec but required by this skill unless the user asks
for a one-line message; start it one blank line after the descriptionfooter(s) are optional in the spec but use trailers by default; start them
one blank line after the body and follow git trailer format such as Refs: #123BREAKING CHANGE: in a footer to describe a breaking change; BREAKING-CHANGE: is also validCommon types:
feat: new featurefix: bug fixdocs: documentation changesstyle: formatting-only changesrefactor: code restructuring without changing behaviorperf: performance improvementstest: adding or updating testsbuild: build system or dependenciesci: CI configuration changeschore: maintenance tasksrevert: revert a previous changeExamples:
feat(auth): add OAuth2 login support
Users need a first-party login path that works with the existing auth
middleware, so the provider setup is wired through the current session flow
instead of introducing a parallel callback path.
Tested: npm test -- auth
Confidence: high
Scope-risk: moderate
fix(api): handle null response from user endpoint
The API client now treats empty user payloads as missing records instead of
passing null into downstream normalization, which keeps callers on the existing
error-handling path.
Tested: npm test -- user-client
Not-tested: Live upstream API behavior
feat(config)!: drop support for legacy configuration keys
Configuration loading now rejects the retired key names so invalid settings fail
early instead of being silently interpreted as extension directives.
BREAKING CHANGE: legacy configuration keys are no longer accepted
Tested: npm test -- config
Rejected: Runtime compatibility shim | would keep ambiguous legacy behavior
Rules:
fix(tests): add unit tests for user authenticationfeat for new features and fix for bug fixes; other types are allowed but do not imply semantic version changes unless they include a breaking changeTested: exact checks runNot-tested: known gaps or "Not run" with a reasonConstraint: external constraint shaping the changeRejected: alternative considered and why it was not usedConfidence: low, medium, or highScope-risk: narrow, moderate, or broadDirective: warning for future modifiersCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub jonbito/skills