commit-curator
Skill1 starsChanged 5 months agoMITView on GitHub
Groups uncommitted changes into logical commits with messages that match the repo's existing style. No more "wip" or "fix stuff" commits. Trigger phrases: commit, git commit, ship this, push these changes. Skip when: - Working tree is clean (git status shows nothing) - User pasted a specific commit message ("commit with 'feat: add x'") - In the middle of an active rebase/merge /commit — invoke the curator on current working tree.
- Reads credentials
In this repository12 other files it gives its agents.
- context-compactorSkill
- cost-trackerSkill
- decision-recorderSkill
- mcp-finderSkill
- permission-auditorSkill
- prd-builderSkill
- prompt-matcherSkill
- pr-reviewerSkill
- repo-onboarderSkill
- scope-clarifierSkill
- skill-matcherSkill
- tdd-flowSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 7 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
3
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 16
Run git status and git diff --staged + git diff (unstaged)
- Distinctive: line 20
Test additions for a new feature → bundle with the feature, OR separate commit if tests came first
- Distinctive: line 22
Read recent git log -10 --oneline to detect message style (conventional commits, plain, prefix-based, gitmoji)
- Very specific: line 51
If recent commits use feat:, fix:, chore:, docs:, refactor: → conventional
- Distinctive: line 52
If recent commits use sentence case ("Add rate limit middleware") → plain
- Distinctive: line 53
If they use emoji prefixes → match it
- Distinctive: line 54
If short, mostly imperative → match length
- Very specific: line 58
Never commits .env, files matching .gitignore, large binaries
- Very specific: line 59
If a file is staged with secrets (regex scan for AWS_KEY, sk-ant, etc.), refuse and warn
- Distinctive: line 60
Never force-push, never amend without explicit user say-so
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
commit-curator
Groups uncommitted changes into logical commits with messages that match the repo's existing style. No more "wip" or "fix stuff" commits.
When to activate
Trigger phrases: commit, git commit, ship this, push these changes.
Skip when:
- Working tree is clean (
git statusshows nothing) - User pasted a specific commit message ("commit with 'feat: add x'")
- In the middle of an active rebase/merge
Process
- Run
git statusandgit diff --staged+git diff(unstaged) - Group files by intent:
- Same feature touching multiple files → one commit
- Refactor that touches X files but is one idea → one commit
- Test additions for a new feature → bundle with the feature, OR separate commit if tests came first
- Unrelated bugfix → separate commit
- Read recent
git log -10 --onelineto detect message style (conventional commits, plain, prefix-based, gitmoji) - Draft N commits with proposed messages + file list
- Show user the plan:
Plan: 1. feat: add rate-limit middleware (3 files) - middleware/rate_limit.py - tests/test_rate_limit.py - config/limits.yaml 2. chore: bump fastapi 0.115 → 0.116 (1 file) - requirements.txt 3. fix: nil pointer in cache eviction (1 file) - cache/lru.go Approve? (y / edit / split N / merge N+M) - On approval, run
git add <files>+git commit -m "..."per group
Inputs
- Working tree state (staged + unstaged + untracked)
- Recent commit history (for style match)
Outputs
- 1+ commits with curated messages
- Final
git status(should be clean if all changes committed)
Style detection
- If recent commits use
feat:,fix:,chore:,docs:,refactor:→ conventional - If recent commits use sentence case ("Add rate limit middleware") → plain
- If they use emoji prefixes → match it
- If short, mostly imperative → match length
Safety
- Never commits
.env, files matching.gitignore, large binaries - If a file is staged with secrets (regex scan for AWS_KEY, sk-ant, etc.), refuse and warn
- Never force-push, never amend without explicit user say-so
Slash command
/commit — invoke the curator on current working tree.
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.

