commit-discipline
Ensures clean, reviewable git history by enforcing one-concern-per-commit and specific message formatting.
Install
mkdir -p .claude/skills/commit-discipline-harrymcdonagh && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16875" && unzip -o skill.zip -d .claude/skills/commit-discipline-harrymcdonagh && rm skill.zipInstalls to .claude/skills/commit-discipline-harrymcdonagh
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when committing work in Athena, when staged changes span more than one concern, or when writing a commit message — before running git commit.Key capabilities
- →Enforce one concern per commit
- →Use conventional commit message style
- →Cite governing ADRs in commit messages
- →Split entangled work by staging files or hunks
- →Create separate commits for drive-by fixes
- →Verify each commit stands alone
How it works
The skill guides the user to create atomic commits with conventional messages, ensuring one concern per commit and proper citation of Architectural Decision Records (ADRs), by providing rules for splitting work and message formatting.
Inputs & outputs
When to use commit-discipline
- →split staged changes into separate commits
- →write conventional commit message
- →reference adr in commit
About this skill
Commit Discipline
Overview
House rule: one concern per commit. Do not entangle unrelated changes. Every commit in the log is one reviewable decision — an ADR acceptance, a feature increment, a fix — and later ADRs cite commits by hash as evidence (e.g. "commit 3687d8d" in ADR-0012). An entangled commit breaks that audit trail.
Message style (match the existing log)
Conventional commits, lowercase, imperative, with a scope in parentheses when one module owns the change; a one-line summary that states the decision, not the diff. Real examples:
feat(research): COMPARE mode, mocked build — cited side-by-side, no ranking (ADR-0012)
docs(adr): accept ADR-0012 — COMPARE mode, cited side-by-side over a named set
perf(find): widen FIND recall knobs for the 84-company corpus
fix(edgar): robust section bounds — pipe headings, page headers, prose citations
chore: silence alembic path_separator deprecation warning
- Prefixes:
featfixchoredocsrefactortestperf - Common scopes:
research,edgar,ingest,qa,adr,db,api,domain,retrieval,reference,repair - Cite the governing ADR (and section) in the summary or body when the commit implements one.
- ADR acceptance is its own
docs(adr): accept …commit, separate from the implementation commit.
Splitting entangled work
git statusandgit difffirst — know what's actually in the tree; leave other sessions' in-progress files (e.g. apps/web) alone.- Stage by path for file-level splits:
git add <files-for-concern-A>. - Stage by hunk when one file mixes concerns:
git add -p <file>(interactive-iis unavailable in Claude Code;-pworks). - Commit concern A; repeat for concern B. Verify each commit stands alone
(
git show --stat). - Drive-by fixes discovered mid-task get their own commit, not a ride-along.
Red flags
- "and" doing heavy lifting in the summary line ("add X and fix Y").
git add ./git add -Awhen the tree contains unrelated changes.- A
featcommit that also reformats untouched files or tweaks docs. - Committing a migration in the same commit that accepts its ADR.
When not to use it
- →When staged changes are already atomic
- →When not using conventional commit standards
- →When an audit trail is not required
Limitations
- →Requires conventional commit prefixes and scopes
- →Prohibits 'and' in summary lines for multiple concerns
- →Requires ADR acceptance to be a separate commit
How it compares
This skill enforces a strict 'one concern per commit' rule with conventional messaging and ADR citation, creating a clear audit trail and improving reviewability, unlike ad-hoc commit practices.
Compared to similar skills
commit-discipline side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| commit-discipline (this skill) | 0 | 1mo | No flags | Intermediate |
| run-nx-generator | 5 | 3mo | Review | Intermediate |
| git-commit | 11 | 7mo | Review | Beginner |
| morph-search | 9 | 7mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
run-nx-generator
nrwl
Run Nx generators with prioritization for workspace-plugin generators. Use this when generating code, scaffolding new features, or automating repetitive tasks in the monorepo.
git-commit
github
Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping
morph-search
parcadei
Fast codebase search via WarpGrep (20x faster than grep)
upgrading-expo
sickn33
Upgrade Expo SDK versions
continue-implementation
LibPDF-js
Continue implementing a spec from a previous session
fix-dependabot-prs
bannzai
dependabotから上がってきた複数のPRを一括で解決し、まとめPRを作成する。dependabotのPR対応を依頼された時に使用。