agentleFS
timdevaitimdevai/proteus/skills/commit-curator/SKILL.md

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

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
  1. Distinctive:

    Run git status and git diff --staged + git diff (unstaged)

    line 16
  2. Distinctive:

    Test additions for a new feature → bundle with the feature, OR separate commit if tests came first

    line 20
  3. Distinctive:

    Read recent git log -10 --oneline to detect message style (conventional commits, plain, prefix-based, gitmoji)

    line 22
  4. Very specific:

    If recent commits use feat:, fix:, chore:, docs:, refactor: → conventional

    line 51
  5. Distinctive:

    If recent commits use sentence case ("Add rate limit middleware") → plain

    line 52
  6. Distinctive:

    If they use emoji prefixes → match it

    line 53
  7. Distinctive:

    If short, mostly imperative → match length

    line 54
  8. Very specific:

    Never commits .env, files matching .gitignore, large binaries

    line 58
  9. Very specific:

    If a file is staged with secrets (regex scan for AWS_KEY, sk-ant, etc.), refuse and warn

    line 59
  10. Distinctive:

    Never force-push, never amend without explicit user say-so

    line 60

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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 status shows nothing)
  • User pasted a specific commit message ("commit with 'feat: add x'")
  • In the middle of an active rebase/merge

Process

  1. Run git status and git diff --staged + git diff (unstaged)
  2. 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
  3. Read recent git log -10 --oneline to detect message style (conventional commits, plain, prefix-based, gitmoji)
  4. Draft N commits with proposed messages + file list
  5. 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)
  6. 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.