Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Detect the repo's commit convention (Conventional Commits, Gitmoji, or a custom template) and create commits. Use when asked to commit, write a commit message, stage and commit changes, or commit and push work.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-03 | ✓→✗ | ▼ Worse | 14% | 0% |
Follow the repo's existing convention, create the commit, verify, and push when requested. Use the reference docs for detailed rules.
AGENTS.md, CLAUDE.md, etc.CONTRIBUTING.md, README.md, commit templates, etc.git log -n 50 --pretty=%s--pull is set, run git pull before reviewing changes.git status -sbgit diff --statgit diff (or git diff --staged)git add -p or git add <files>--no-verify.references/conventional-commits.md.references/gitmoji.md.git commit directly):{baseDir} (the installed skill root) before running:./.claude/skills/commit, ./.codex/skills/commit, ./.opencode/skills/commit~/.claude/skills/commit, ~/.codex/skills/commit, ~/.opencode/skills/commit{baseDir}/scripts/commit-guard.py:python {baseDir}/scripts/commit-guard.py --convention <conventional|gitmoji|custom> --message "subject"python {baseDir}/scripts/commit-guard.py --convention <conventional|gitmoji|custom> --file <path>{baseDir} cannot be found, pause and ask the user for the exact skill install path.git log -1 --format="%h %s"git show --stat--push is set, push to the current branch after commit.Use the guard script to validate and create commits. Run python {baseDir}/scripts/commit-guard.py --help for full usage (after resolving {baseDir}).
--convention (required): conventional, gitmoji, or custom--message (required unless --file): commit message string--file (required unless --message): path to commit message file--dry-run (optional): validate only; do not run git commitIf you cannot proceed, pause and ask. Examples include: ambiguous convention, unresolved conflicts, failed checks, or a failed push.
These options can be expressed in natural language, not just the flag form. Honor the user's explicit request even if it does not use --flag syntax.
--dry-run: analyze changes and recommend a commit message, but do not commit or push--no-verify: skip tests, lint, and format checks even if they exist--pull: run git pull before reviewing changes; attempt conflict resolution--push: push to the current branch after commit--no-verify.scripts/commit-guard.py to create commits.git commit directly.--push or natural language).references/conventional-commits.mdreferences/gitmoji.mdOther measured skills in the registry, with their headline benchmark lift.