Commit
Group unstaged changes into atomic commits by concern, following repository style. Use when user asks to "commit", "create a commit", "commit changes", or "/commit". Don't use for pushing (that belongs to /ship) or creating pull requests.From its SKILL.md
npx -y skills add helderberto/agent-skills --skill commitAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 7 commands, including `git status` and 6 more.
SKILL.md
2.4 KB, 540 tokens by cl100k_base, as published. Nobody here has run it
Git Commit
Group all unstaged/untracked changes into atomic commits — one commit per logical concern. A single concern is just the degenerate case: one commit. Never push — pushing belongs to the /ship cycle.
Message Style
Match the repo's existing commit patterns from log.
- Extreme concision — sacrifice grammar for brevity
- Focus on "why" not "what"
- Imperative mood
- Conventional commits when the repo uses them (
feat/fix/refactor/docs/chore+ scope)
Workflow
- Review full diff and status
- Analyze recent commit style from log
- Identify logical groups among the changed files. Common groupings:
- Feature or bug fix (src files implementing one thing)
- Tests for that feature
- Config changes (
package.json,tsconfig, etc.) - Formatting-only changes (no logic change)
- Docs / README updates
- Asset changes (images, fonts, public files)
- For each group:
a. Stage only those files explicitly by name (never
git add .or-A) b. Write a commit message matching repo style c. Commit with HEREDOC format d. Rungit statusto confirm staging is clean before the next group - Run
git statusto verify a clean working tree
Grouping Rules
- Formatting-only changes (whitespace, quotes, indentation) go in their own commit, separate from logic changes
- If a file has both logic and formatting changes, keep them together in the logic commit
- Tests and the code they test can share a commit
Examples
Single concern — one commit:
git add src/auth.ts
git commit -m "fix: null check in login handler"
Multiple concerns — split:
git add src/components/SearchBar.tsx src/hooks/useSearch.ts
git commit -m "feat: add search bar component"
git add README.md
git commit -m "docs: document search usage"
Rules
- NEVER push — pushing belongs to
/ship - NEVER
git add .or-A— stage explicitly by name - NEVER amend unless requested
- NEVER skip hooks
- NEVER commit secrets
Error Handling
- Pre-commit hook fails → fix the issue, re-stage, create a NEW commit (never
--amend) - If unsure how to group a file → ask the user before committing
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most pr commit review skills give in 540 tokens
Counted across 1,055 of the 1,911 authors here whose files we hold, read 2026-09-06
- Use conventional commit message formatin 150 of 1055, across 145 files
- Announce skill usage at startin 78 of 1055
- Use imperative mood for commit descriptionsin 54 of 1055, across 51 files
- Add directory to gitignore if not ignoredin 52 of 1055, across 41 files
- Use imperative mood for commit subjectin 52 of 1055
- Run tests to verify clean baselinein 42 of 1055, across 32 files
- Push branch to originin 40 of 1055, across 38 files
- Verify worktree directory is ignored before creationin 39 of 1055, across 32 files
- Delete branches after mergingin 38 of 1055, across 30 files
- Create worktree with new branchin 37 of 1055, across 32 files
- Wrap body text at 72 charactersin 36 of 1055, across 34 files
- Auto-detect and run project setupin 35 of 1055, across 27 files
Said here and by no other author read
- Ask user if grouping is unclear
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.