agentleFS
TrimVisTrimVis/skills/commit/SKILL.md

commit

Skill2 starsChanged 3 months agoMITView on GitHub

Create one or more focused commits from the current working tree. Groups changes by logical concern, writes terse category-prefixed headlines and short high-level descriptions. Authored as the user (no Claude co-author). Use when the user says "commit this", "make a commit", "commit my changes", or invokes /commit.

  • Reads credentials
  • Commits and pushes

188 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use validate-plan, act-on-feedback and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • shawn-dumasSkill

    validate-plan

    Validate an orchestration plan after pre-flight certification. Runs adversarial review, deep review (verify prompt data against codebase), and PoC gate for risky approaches. Auto-invoked by orchestrate-* skills at Step 8.

    Also in 5 projects that use this

  • MicrosoftSkill

    act-on-feedback

    Act on user feedback attached to the current session. Use when the user submits feedback on the session's changes via the Submit Feedback button.

    Also in 3 projects that use this

  • decocmsSkill

    add-mcp-tools

    Guide for adding new MCP tools with consistent patterns for schemas, tool definitions, registry updates, and Better Auth integration

    Also in 3 projects that use this

  • MicrosoftSkill

    generate-run-commands

    Generate or modify run commands for the current session. Use when the user wants to set up or update run commands that appear in the session's Run button.

    Also in 3 projects that use this

  • mitsuhikoSkill

    oebb-scotty

    Austrian rail travel planner (ÖBB Scotty). Use when planning train journeys in Austria, checking departures/arrivals at stations, or looking for service disruptions. Covers ÖBB trains, S-Bahn, regional trains, and connections to neighboring countries.

    Also in 3 projects that use this

  • mitsuhikoSkill

    pi-share

    Load and parse session transcripts from shittycodingagent.ai/buildwithpi.ai/buildwithpi.com/pi.dev (pi-share) URLs. Fetches gists, decodes embedded session data, and extracts conversation history.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 7 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 168 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Commit everything by default, but the tree often holds work from more than one task.

    line 27
  2. Distinctive:

    Use git add -A / git add ..

    line 32
  3. Distinctive:

    No bullet lists of files changed.

    line 47
  4. Distinctive:

    Commit via heredoc to preserve formatting:

    line 60
  5. Very specific:

    If a pre-commit hook fails: fix the underlying issue, re-stage, make a new commit.

    line 71
  6. Distinctive:

    After all commits: git status to confirm clean (or only intentionally-left-unstaged files remain).

    line 73
  7. Distinctive:

    No emojis in commit messages.

    line 80
  8. Distinctive:

    No multi-paragraph essays in the body.

    line 81

“Common” is measured: kept by at least 6 in 10 of the 168 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.

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

Commit

Minimal commit workflow. Group sensibly, write short, ship.

Authorship

Commits go out in the user's name only. Never add Co-Authored-By: Claude or any other trailer. Never pass --author. Use the existing git config.

Step 1 — Inspect

Run in parallel:

  • git status (no -uall)
  • git diff (unstaged)
  • git diff --staged
  • git log --oneline -15 to match existing prefix style

Step 2 — Group

Split the working tree into the smallest number of sensible commits. Default to one commit. Split only when the changes serve clearly different concerns (e.g. a backend fix + an unrelated frontend tweak + a helm config bump).

Commit everything by default, but the tree often holds work from more than one task. If the user names a task, commit only that work and leave the rest in place. List the paths you left uncommitted.

Do not:

  • Split a refactor from the behavior change it enables unless the user asked for that separation.
  • Bundle untracked junk (logs, .env, dotfiles, *.sqlite3 and other local databases, MEDIA_ROOT uploads, cache files) — ask before staging anything suspicious.
  • Use git add -A / git add .. Stage explicit paths.

Step 3 — Message format

Headline (≤72 chars):

<category>: <what changed, imperative, lowercase after colon>

Pick the category from what the change actually touches. Look at recent git log for the conventions in use. Common ones in this repo: backend:, frontend:, helm:, docs:, bugfix:, chore:, refactor:, chat agent:, plus area-specific tags. If a change spans two areas cleanly, prefer splitting; if it genuinely doesn't, drop the prefix rather than inventing a hybrid.

Body (optional, only if the headline isn't enough):

  • 1–3 short lines, high-level why not line-by-line what.
  • No bullet lists of files changed. No restatement of the diff.
  • Skip the body entirely for trivial changes.

Examples of good headlines (from this repo's history):

  • frontend: Simplify chat.js & eliminate dead code.
  • bugfix: family background message partner
  • docs: Add storage recommendations

Step 4 — Commit

For each group, in sequence:

  1. Stage explicit paths: git add path/one path/two
  2. Commit via heredoc to preserve formatting:

    git commit -m "$(cat <<'EOF'
    backend: fix profile creation when group missing
    
    Group lookup raised instead of creating; mirror the form path.
    EOF
    )"
  3. If a pre-commit hook fails: fix the underlying issue, re-stage, make a new commit. Never --amend a failed commit. Never --no-verify.
  4. After all commits: git status to confirm clean (or only intentionally-left-unstaged files remain).

Don'ts

  • No Co-Authored-By trailer. No "Generated with Claude Code".
  • No --amend unless the user explicitly asks.
  • No git push. Committing ≠ pushing.
  • No emojis in commit messages.
  • No multi-paragraph essays in the body.

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.