commit
/commit
Creates well-formed git commits from the current changes: checks for secrets and junk, matches the repo's message style, splits unrelated changes, handles pre-commit hooks safely. Use only when the user asked to commit: /commit or in their own words («закоммить», «сохрани в git», «сделай коммит»). Never on your own unless the user granted full access; when finished work is uncommitted, you may offer it in one line.
- Author
- stxrmik ↗
- Repository
- antigravity-plus ↗
- Licence
- MIT
- Last repository change
- 12.11.2026
Assessment and security
- Files in this package
- 2
- Scripts
- 1
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 12.11.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
- 1 scripts in this package. Review them before installing, as Claude may execute them.
Scripts: scripts/git_context.sh
What it does and when to use it
Creates well-formed git commits from the current changes: checks for secrets and junk, matches the repo's message style, splits unrelated changes, handles pre-commit hooks safely. Use only when the user asked to commit: /commit or in their own words («закоммить», «сохрани в git», «сделай коммит»). Never on your own unless the user granted full access; when finished work is uncommitted, you may offer it in one line.
Original author description
Creates well-formed git commits from the current changes: checks for secrets and junk, matches the repo's message style, splits unrelated changes, handles pre-commit hooks safely. Use only when the user asked to commit: /commit or in their own words («закоммить», «сохрани в git», «сделай коммит»). Never on your own unless the user granted full access; when finished work is uncommitted, you may offer it in one line.
How it works
- Steps
SKILL.md preview
---
name: commit
description: >-
Creates well-formed git commits from the current changes: checks for secrets and junk, matches the repo's
message style, splits unrelated changes, handles pre-commit hooks safely. Use only when the user asked to
commit: /commit or in their own words («закоммить», «сохрани в git», «сделай коммит»). Never on your own unless the user granted full access; when
finished work is uncommitted, you may offer it in one line.
---
# /commit — smart commits
**Only on the user's request, or under full access:** /commit, asking to commit in their own words («закоммить», «сохрани в git»), or full access the user granted (rules: "Full access"). That is permission to **commit**; pushing is part of /pr (or of full access when the task needs it). Otherwise, if you got here on your own, don't commit; offer it in one line instead.
## Steps
1. **Gather context** (one call, sandboxed):
```bash
bash <skill_dir>/scripts/git_context.sh commit
```
If it says "not inside a git repository", tell the user and stop.
2. **Safety gate — stop and ask** if any of these show up:
- `POSSIBLE SECRETS` or risky files (`.env`, keys, credentials) that would be committed;
- large binaries / build output / `node_modules`-like junk — suggest a `.gitignore` entry instead;
- nothing to commit → say so and stop.
3. **Decide what goes in.**
- **Other agents working here** (an `<other_agents>` block before your step, or
`python3 "<skill_dir>/../../hooks/coord.py" status --workspace "<ws>"` lists someone): commit only your own files,
`python3 "<skill_dir>/../../hooks/coord.py" mine --conversation <your id> --workspace "<ws>"`. Leave theirs alone.
- If something is already staged, commit **only the staged changes** unless the user asked for "everything".
- If nothing is staged, stage the relevant changes by **explicit paths** (`git add <paths>`), never blind `git add -A` when untracked junk exists.
- If the changes contain clearly unrelated concerns (e.g. a bug fix + an unrelated refactor + a dependency bump), propose a split into logical commits and do it, unless the user said "one commit". `git add -p` is interactive — avoid it; split by files, and if one file mixes concerns, keep it in one commit and mention it.
4. **Write the message** matching the repo's recent style (Conventional Commits if the log uses them, otherwise mirror what you see):
- Subject: imperative, ≤ 72 chars, no trailing period, describes **why/what**, not "update files".
- Body (when non-trivial): wrapped at 72, explains motivation and notable details; reference issues if known (`Fixes #123`).
- English, unless the history is in another language.
5. **Commit** with a heredoc to preserve formatting:
```bash
git commit -F - <<'EOF'
type(scope): subject
Body…
EOF
```
6. **If a pre-commit hook fails:** read the output, fix the actual problem (or re-stage files the hook auto-formatted), and run the commit again as a **new** commit. Never use `--no-verify`, never `--amend` unless the user asked and the commit is unpushed.
7. **Report** (in the user's language): commit hash(es) + subjects (`git log --oneline -n <k>`), and what remains uncommitted. Do **not** push; offer `/pr` or `git push` as a next step.
Files in this package (2)
- SKILL.md 3 KB
- scripts/git_context.sh 7 KB
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · stxrmik/antigravity-plus | 100 | MIT |
| rmsaitam/skill-git-conventions | 100 | MIT |
| opsmill/infrahub | 100 | Apache-2.0 |
| kdlbs/kandev | 100 | AGPL-3.0 |
| vinta/hal-9000 | 100 | MIT |
| restarter/lets-workflow | 100 | MIT |
| mickeyyaya/evolve-loop | 100 | Apache-2.0 |
| friendlyinternet/nuxt-crouton | 100 | MIT |
| yonatangross/orchestkit | 100 | MIT |
Database snapshot: 13.11.2026 · package version cd7995cd0c68 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100commit-push
Use when the user asks to commit and push changes — «сделай коммит и пуш», «коммит + пуш», «закоммить», «запушь», «залей изменения», «commit», «push». Runs project checks, stages only intended files, writes a Conventional Commits message, commits and pushes. - 90commit-work
Use when the user asks to stage changes, create a Git commit, split work into logical commits, or craft a commit message. Inspects the worktree, preserves unrelated changes, stages only intended files or hunks, and follows repository conventions. - 100creating-commit
Creates context-aware git commits with smart pre-commit checks, submodule support, and conventional commit message generation. Use when user requests to commit changes, stage and commit, check in code, save work, save changes, push my code, finalize changes, add to git, create… - 100commit-message
Write a git commit message for the current changes and optionally make the commit. Use when the user says "commit this", "write a commit message", "commit my changes", or asks to split work into commits. - 100git-commit
Commit staged changes with conventional commit message. Use when user says "commit changes", "commit this", "save my changes", or wants to create a git commit. - 100git-commit
Commit staged changes with conventional commit message. Use when user says "commit changes", "commit this", "save my changes", or wants to create a git commit.