- 📁 references/
- 📄 README.md
- 📄 RESEARCH.md
- 📄 SKILL.md
Commit, push, branch, and manage version control with GitButler. Use for: commit my changes, check what changed, create a PR, push my branch, view diff, create branches, stage files, edit commit history, squash commits, amend commits, undo commits, pull requests, merge, stash work. Replaces git - use 'but' instead of git commit, git status, git push, git checkout, git add, git diff, git branch, git rebase, git stash, git merge. Covers all git, version control, and source control operations.
Generate clear, conventional commit messages from git diffs. Use when writing commit messages, reviewing staged changes, or preparing releases.
Create git commits with good messages. Use when user says "commit", "create commit", or asks to commit changes.
Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes. --- Write commit messages terse and exact. Conventional Commits format. No fluff. Why over what. ## Rules **Subject line:** - `<type>(<scope>): <imperative summary>` — `<scope>` optional - Types: `feat`, `fix`, `refactor`, `perf`, `docs`, `test`, `chore`, `build`, `ci`, `style`, `revert` - Imperative mood: "add", "fix", "remove" — not "added", "adds", "adding" - ≤50 chars when possible, hard cap 72 - No trailing period - Match project convention for capitalization after the colon **Body (only if needed):** - Skip entirely when subject is self-explanatory - Add body only for: non-obvious *why*, breaking changes, migration notes, linked issues - Wrap at 72 chars - Bullets `-` not `*` - Reference issues/PRs at end: `Closes #42`, `Refs #17` **What NEVER goes in:** - "This commit does X", "I", "we", "now", "currently" — the diff says what - "As requested by..." — use Co-authored-by trailer - "Generated with Claude Code" or any AI attribution - Emoji (unless project convention requires) - Restating the file name when scope already says it ## Examples
Update vendor/openclaw to a specific commit, replay EasyClaw's vendor patch stack with AI review, rebuild, test, and decide whether each patch still belongs. Use when asked to upgrade, update, or pin vendor/openclaw to a new version or commit hash.
Create a well-formed git commit from current changes using session history for rationale and summary; use when asked to commit, prepare a commit message, or finalize staged work. --- # Commit ## Goals - Produce a commit that reflects the actual code changes and the session context. - Follow common git conventions (type prefix, short subject, wrapped body). - Include both summary and rationale in the body. ## Inputs - Codex session history for intent and rationale. - `git status`, `git diff`, and `git diff --staged` for actual changes. - Repo-specific commit conventions if documented. ## Steps 1. Read session history to identify scope, intent, and rationale. 2. Inspect the working tree and staged changes (`git status`, `git diff`, `git diff --staged`). 3. Stage intended changes, including new files (`git add -A`) after confirming scope. 4. Sanity-check newly added files; if anything looks random or likely ignored (build artifacts, logs, temp files), flag it to the user before committing. 5. If staging is incomplete or includes unrelated files, fix the index or ask for confirmation. 6. Choose a conventional type and optional scope that match the change (e.g., `feat(scope): ...`, `fix(scope): ...`, `refactor(scope): ...`). 7. Write a subject line in imperative mood, <= 72 characters, no trailing period. 8. Write a body that includes: - Summary of key changes (what changed). - Rationale and trade-offs (why it changed). - Tests or validation run (or explicit note if not run). 9. Append a `Co-authored-by` trailer for Codex using `Codex <[email protected]>` unless the user explicitly requests a different identity. 10. Wrap body lines at 72 characters. 11. Create the commit message with a here-doc or temp file and use `git commit -F <file>` so newlines are literal (avoid `-m` with `\n`). 12. Commit only when the message matches the staged changes: if the staged diff includes unrelated files or the message describes work that isn't staged, fix the index or revise the message
This skill should be used when the user asks to 'commit', 'create a commit', or 'git commit'. It creates conventional commits with FQCN scopes for Ansible collection content (roles, modules, plugins).
Ultra-compressed commit message generator. Cuts noise from commit messages while preserving intent and reasoning. Conventional Commits format. Subject ≤50 chars, body only when "why" isn't obvious. Use when user says "write a commit", "commit message", "generate commit", "/commit", or invokes /caveman-commit. Auto-triggers when staging changes. --- Write commit messages terse and exact. Conventional Commits format. No fluff. Why over what. ## Rules **Subject line:** - `<type>(<scope>): <imperative summary>` — `<scope>` optional - Types: `feat`, `fix`, `refactor`, `perf`, `docs`, `test`, `chore`, `build`, `ci`, `style`, `revert` - Imperative mood: "add", "fix", "remove" — not "added", "adds", "adding" - ≤50 chars when possible, hard cap 72 - No trailing period - Match project convention for capitalization after the colon **Body (only if needed):** - Skip entirely when subject is self-explanatory - Add body only for: non-obvious _why_, breaking changes, migration notes, linked issues - Wrap at 72 chars - Bullets `-` not `*` - Reference issues/PRs at end: `Closes #42`, `Refs #17` **What NEVER goes in:** - "This commit does X", "I", "we", "now", "currently" — the diff says what - "As requested by..." — use Co-authored-by trailer - "Generated with Claude Code" or any AI attribution - Emoji (unless project convention requires) - Restating the file name when scope already says it ## Examples
Guides contributors through the full git workflow for grouter — validates the developer's git identity, creates a conventionally-named branch, walks through changes asking per-change commit intent, writes Conventional Commits messages (fix, feat, wip, chore, etc. — no emojis), pushes, and opens a PR via gh. Use when the user wants to commit, push, deploy, or open a PR against this repo. Trigger phrases: "contribute", "commit my changes", "open a pr", "ship this", "vou contribuir", "fazer um commit", "abrir pr", "subir alteração", "enviar pr".
Git decorator that gives every commit memory — links AI sessions, tokens, and code attribution to your commits. Use when the user asks about commit history with AI context, session history, code attribution, token usage, or generating a developer card.
Validated commit — runs quick checks before committing. Use when ready to commit changes.
/commit squash to squash branch commits, /commit push to force push,