kramme-cc-workflow/skills/kramme:git:commit-message/SKILL.md
Create commit messages for branch commits. Use when committing code changes or writing commit messages. Covers plain-English commit format, a pre-commit checklist, and AI-attribution rules. Not for PR titles or merge commits, which use Conventional Commits.
npx skillsauth add abildtoft/kramme-cc-workflow kramme:git:commit-messageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Follow these conventions when creating commits. These cover branch commits only — PR titles and merge commits use Conventional Commits and are out of scope here.
Before committing, ensure you're working on a feature branch, not the main branch.
# Check current branch
git branch --show-current
If you're on main or master, ask the user to create a new branch first.
Write clear, descriptive commit messages in plain English:
Add user authentication endpoint
Implement login and logout functionality with JWT tokens.
Sessions expire after 24 hours of inactivity.
Some external guides (e.g. Addy Osmani's git-workflow-and-versioning) require type(scope): message on every commit. Reject that here. Conventional Commits are used only for PR titles (which become the merge commit on squash-merge) — not for the intermediate commits that make up a branch's history. Branch commits are narrative: they tell a reviewer the story of the change. A rigid feat:/fix:/chore: prefix forces every step into one of a handful of buckets that rarely describe the actual work. When a branch commit is a genuine step ("extract validator", "wire the reducer", "fix null-safety on input"), the prefix adds noise, not signal. Keep Conventional Commit discipline at the PR-title boundary where changelog automation actually reads it.
Before running git commit, confirm all five:
main if it were the tip.Never include AI attribution markers in commits. Do not add:
Co-Authored-By: Claude <[email protected]>Commit messages should focus solely on what changed and why, regardless of how the code was produced.
Use these uppercase markers when reasoning about commit decisions. One marker per line, no decoration:
STACK DETECTED: plain-English branch commits, husky pre-commit runs eslint + tsc.UNVERIFIED: haven't run the full test suite after the amend — only typecheck was run.NOTICED BUT NOT TOUCHING: unrelated lint warning in an adjacent file — not part of this commit.CONFUSION: commit subject says "fix", but the diff adds a new endpoint.MISSING REQUIREMENT: subject claims a bug fix, but the failing test that motivates it isn't committed yet.PLAN: commit 1 extracts the validator, commit 2 wires it into the handler, commit 3 adds the test.Lies you'll tell yourself at commit time. Each has a correct response:
git add -p.Co-Authored-By: Claude — it's honest." → No. The repo forbids AI attribution; the author of a commit is the human making the call to ship it.Pause and reshape the commit if any of these are true:
WIP, temp, fixup, or misc — the commit isn't ready.--no-verify because hooks fail; fix the hook failure first.Before returning a commit message, self-check:
tools
Requires Linear MCP. Implements one Linear issue end to end, selects applicable code-review, convention, and PR-refactor gates, runs them to bounded convergence, verifies, and optionally opens the PR and iterates on CI and review feedback until green. Use when the user wants a single Linear issue taken from implementation through a clean Pull Request. Not for implementation-only work, SIW-tracked issues, stacked PRs, existing PR updates, or post-merge rollout.
development
Reviews PR and local changes for convention drift and overcaution against documented rules and mined peer-file practice. Use for new patterns, dependencies, abstractions, or defensive complexity that departs from established practice; every finding cites evidence. Supports --inline. Not for general code quality (use kramme:pr:code-review) or spec review (use kramme:siw:spec-audit --team).
testing
Charts huge or foggy initiatives into a local `.context` decision map and resolves one typed frontier ticket per session until the work is ready for SIW or another execution workflow. Use when the route to a destination cannot fit in one agent session or parallel workspaces need coordinated planning state. Not for clear specs, ordinary issue decomposition, implementation, or Linear-native tracking.
development
Investigates a question against primary sources and saves one cited Markdown artifact. Use for reading legwork: official docs/API facts, source-code or spec checks, standards, and first-party service behavior before planning or implementation. Not for making product or architecture decisions, implementing code, broad web search, secondary blog summaries, or uncited answers.