en un clic
mojo-commit
Atomic commit workflow with conventional commit format
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Atomic commit workflow with conventional commit format
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Backlog.md task management — use when reading or updating project tasks
Session completion checklist — fires when unpushed work remains
Initialize session with repo state and available work
Minimal-editing instruction injected at the first edit of each commit cycle
PR creation, status, and review feedback workflow
Interactive rebase, fixup, and commit message rewriting patterns
| name | mojo-commit |
| description | Atomic commit workflow with conventional commit format |
| triggers | [{"event":"tool.execute.after","tool":"^(edit|write)$","worktree":true},{"event":"tool.execute.after","tool":"bash","command":"git add"},{"event":"tool.execute.after","tool":"bash","command":"git commit","action":"reset"}] |
default_branch=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's|refs/remotes/origin/||')
current_branch=$(git symbolic-ref --short HEAD 2>/dev/null || echo "")
if [[ -n "$default_branch" && "$current_branch" == "$default_branch" ]]; then
echo "⚠ You are on the default branch ($default_branch). Create a feature branch before committing."
fi
git log --oneline "$(git rev-parse --abbrev-ref --symbolic-full-name @{u} 2>/dev/null || echo origin/${DEFAULT_BRANCH})"...
Commit after edit. An atomic commit is self-contained, related, and fully-functional. Atomic does not mean granular — it means self-contained and intentional. Three commits that together implement one thing are not three atomic commits; they are one commit that leaked its drafts.
Self-contained and related: include all changes required for the commit's purpose, and only those changes. Do not mix unrelated concerns.
Fully-functional: every commit must leave the codebase buildable and working. Any checkout in history must be a valid stopping point.
Atomicity check: if your subject contains "and " (e.g. "fix X and update Y"), split it into two commits.
Before pushing: review commits since branching with git log --oneline origin/main..HEAD. Squash any fix-of-fix chains into the commit they belong to using --fixup and --autosquash.
Write commit messages succinct and exact. Conventional Commits format. No fluff. Why over what.
Subject line:
<type>(<scope>): <imperative summary> — <scope> optionalfeat, fix, refactor, perf, docs, test, chore, build, ci, style, revertBody (only if needed):
Closes #42, Refs #17What NEVER goes in:
Footer: Authored-By: <agent> (<model>)
Example:
fix(sandbox): support XDG git config in Linux sandbox
Linux sandbox script only mounted legacy file, breaking XDG-only users.
Authored-By: claude-code (claude-3.7-sonnet)
When all commits are clean and work is complete: push and create a PR — do not ask for confirmation.
git push -u origin <branch>
forge pr create --title "..." --body "..."
needs-human-review label are set automatically when LLM-authored commits are present