agentleFS
dimastrianndimastriann/odoo-erp-mcp/.agents/skills/atomic-commit/SKILL.md

atomic-commit

Skill2 starsChanged 5 days agoMITView on GitHub

Use when staging, committing, or reviewing changes in this repository. Enforces atomic commits, the required Rust quality gate (fmt, clippy, tests, debug build), and concise Conventional Commit messages without co-author attribution.

  • Reads credentials

4 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 7 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 4 edited versions we read keep these.

  • 7

    Distinctive

    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:

    Read the changed files and group them into independent logical units.

    line 19
  2. Distinctive:

    If the tree contains unrelated changes, do not commit everything at once.

    line 24
  3. Distinctive:

    Do not silently discard or stash changes the user did not ask to touch.

    line 26
  4. Very specific:

    Never use a blind git add -A or git add ..

    line 35
  5. Very specific:

    Run cargo fmt --all to apply formatting fixes, then rerun the full gate.

    line 48
  6. Distinctive:

    When JavaScript helpers are added, also run:

    line 52
  7. Distinctive:

    Before a release or version-tag commit, also run:

    line 58
  8. Distinctive:

    Keep the subject lowercase, imperative, and at most 72 characters.

    line 72
  9. Distinctive:

    Add a short body (normally 1-4 lines, wrapped at 72) only when it explains context, impact, or a trade-off.

    line 73
  10. Very specific:

    Create the commit with repeated -m flags so it works in every shell:

    line 77

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

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

Atomic Commit Workflow

AGENTS.md is the canonical rule set. This skill is the step-by-step procedure for turning a working tree into small, verified commits.

1. Inspect before touching git

git status --short
git diff --stat
git log --oneline -10

Read the changed files and group them into independent logical units. Each unit must have one purpose, include its tests, and be revertable on its own.

2. Split mixed work

If the tree contains unrelated changes, do not commit everything at once. Create one commit per unit and commit small coherent increments rather than batching. Do not silently discard or stash changes the user did not ask to touch.

3. Stage explicit paths

git add -- path/to/file path/to/test
git diff --cached

Never use a blind git add -A or git add .. Never stage .env, config.json, target/, credentials, or generated artifacts.

4. Run the quality gate

cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features
cargo check --all-targets --all-features
cargo build --all-targets --all-features

Run cargo fmt --all to apply formatting fixes, then rerun the full gate. Do not commit while any step fails. Do not use --no-verify, #[allow(...)], or test skips to bypass a failure.

When JavaScript helpers are added, also run:

node --test src/views/pagination.test.js

Before a release or version-tag commit, also run:

cargo build --release --all-targets --all-features

5. Write the commit message

type(scope): imperative summary
  • Types: feat, fix, refactor, test, docs, chore, perf, ci, build.
  • Keep the subject lowercase, imperative, and at most 72 characters.
  • Add a short body (normally 1-4 lines, wrapped at 72) only when it explains context, impact, or a trade-off. Do not restate the diff.
  • No Co-authored-by, AI attribution, or generated-by trailers.

Create the commit with repeated -m flags so it works in every shell:

git commit -m "type(scope): imperative summary" -m "Optional concise reason."

6. Verify and continue

git show --stat --oneline HEAD
git status --short

Confirm the commit contains only the intended files and the tree is clean for the next unit. Repeat from step 1 for remaining units.

Stop conditions

  • A quality-gate failure unrelated to the current change: report it and do not commit a partial result. Fix it in a separate commit only if it is in scope.
  • A change touches secrets, credentials, or security defaults: stop and ask before committing.
  • The user did not ask for a commit: make the changes and leave them uncommitted.
  • The user explicitly asks for review before committing: stop and show the diff.

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.