commit-discipline
Skill0 starsChanged 3 months agoMITView on GitHub
Enforces clean, meaningful Git history in learning projects. Encourages atomic commits, logical grouping of changes, clear commit messages and disciplined staging while respecting learning-guard.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- robinbril/claude-code-harnesstheir own version, first seen Nov 1, 2026
- dfedoryshchev/weftworkstheir own version, first seen Oct 13, 2026
- applypack/applypacktheir own version, first seen Aug 27, 2026
- zaidmukaddam/skillstheir own version, first seen Aug 17, 2026
- ayush-singh-0601/commit-discipline-mcptheir own version, first seen Aug 11, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- applypack/applypack★ 30same name
- zaidmukaddam/skills★ 18same name
- dfedoryshchev/weftworks★ 5same name
- robinbril/claude-code-harness★ 3same name
- ayush-singh-0601/commit-discipline-mcp★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository8 other files it gives its agents.
- assignment-modeSkill
- codegraphSkill
- debug-modeSkill
- health-reviewSkill
- learning-guardSkill
- teacherSkill
- assignment-defendSkill
- spikeSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 16 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 4 edited versions we read keep these.
16
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 10
Create a clean Git history that serves as project documentation and supports future review, debugging and learning.
- Distinctive: line 12
Every commit should represent one meaningful step in the project's evolution.
- Distinctive: line 29
Avoid mixing unrelated changes.
- Distinctive: line 48
Prefer fewer high-quality commits over many small ones.
- Distinctive: line 73
If the previous commit has not been shared and the new change clearly belongs with it, consider amending instead of creating another commit.
- Distinctive: line 79
Prefer Conventional Commits when appropriate:
- Distinctive: line 91
use the imperative mood ("add", "fix", "extract").
- Distinctive: line 92
keep the title concise (ideally ≤72 characters).
- Distinctive: line 95
Add a commit body only when additional context would help future readers.
- Distinctive: line 103
Do not repeat the title.
- Distinctive: line 111
Avoid git add . unless every modified file belongs to the same commit.
- Distinctive: line 117
Create a commit when:
- Distinctive: line 121
before switching to a substantially different task.
- Distinctive: line 123
Prefer committing at stable checkpoints where:
- Distinctive: line 129
If the user explicitly asks for a commit, do not ask for confirmation again.
- Distinctive: line 131
If they do not, suggest that the work is ready to commit when appropriate.
“Common” is measured: kept by at least 6 in 10 of the 4 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Commit Discipline
Purpose
Create a clean Git history that serves as project documentation and supports future review, debugging and learning.
Every commit should represent one meaningful step in the project's evolution.
Commit Philosophy
One Logical Change
Each commit should have one clear purpose.
Prefer:
- one feature;
- one bug fix;
- one refactoring;
- one styling improvement.
Avoid mixing unrelated changes.
Atomic Commits
Each commit should be:
- atomic;
- understandable;
- reversible;
- independently meaningful.
Someone reading the history should understand why the project changed.
Preserve Signal
Prefer fewer high-quality commits over many small ones.
Avoid micro-commits for:
- formatting;
- small renames;
- isolated style tweaks;
- trivial cleanup.
Unless those changes are the actual purpose of the commit.
Before Committing
Review the staged changes.
Check that they:
- belong to the same logical change;
- contain no accidental files;
- contain no temporary debugging code;
- contain no commented-out experiments;
- contain no placeholder implementations.
If the previous commit has not been shared and the new change clearly belongs with it, consider amending instead of creating another commit.
Commit Messages
Prefer Conventional Commits when appropriate:
feat:fix:refactor:style:docs:test:chore:
Rules:
- use the imperative mood ("add", "fix", "extract");
- keep the title concise (ideally ≤72 characters);
- prioritize clarity over strict convention.
Add a commit body only when additional context would help future readers.
The body should explain:
- why the change was made;
- important trade-offs;
- migration notes (if relevant).
Do not repeat the title.
Staging
Stage only files related to the current logical change.
Avoid git add . unless every modified file belongs to the same commit.
When to Commit
Create a commit when:
- the user explicitly requests it;
- a logical unit of work is complete;
- before switching to a substantially different task.
Prefer committing at stable checkpoints where:
- the project builds;
- the completed work is coherent;
- the change can be reviewed independently.
If the user explicitly asks for a commit, do not ask for confirmation again.
If they do not, suggest that the work is ready to commit when appropriate.
Examples
Good:
feat: add product filtering by categoryfix: correct mobile padding on checkout pagerefactor: extract product search hookstyle: improve ProductCard spacing and hover states
Avoid:
updatefixsmall fixwip- multiple commits that together represent one logical change
Collaboration
Respect learning-guard at all times.
Commits must never become a way to bypass the user's responsibility for writing production code.
Maintain a clean history so that health-review can better identify project evolution, regressions and learning progress.
Never add:
Co-authored-by- AI signatures
- generated attribution
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

