git
Git skill — wraps core git operations for conventional commits and safe interactive rebase.
Requirements
git— git-scm.com
Commands
commit — create a conventional commit
Generate a conventional commit message from staged changes, review it, then commit and push.
/git commit # commit staged changes
/git commit --atomic # split logical groups into separate commits
/git commit --yes # skip confirmation and auto-approve message
/git commit --no-push # commit only, do not push or monitor CI
/git commit --autofix # fix CI failures and re-push automatically (background)
/git commit --fix # blocking: fix and re-push until CI is green
/git commit --breaking-change # mark the commit as breaking (major version bump)Commit messages never carry agent self-attribution — no Co-Authored-By: Claude, no "Generated with Claude Code", no 🤖 — on any commit, including --fix/--autofix follow-ups.
Breaking conventional commit labels (feat!/fix! or a BREAKING CHANGE: footer) are only used when you explicitly pass --breaking-change or tell the agent the change is breaking — they are never inferred from the diff.
hooks — enforce no self-attribution
Install a commit-msg git hook that strips agent self-attribution from every commit in the repo, not just those made through /git commit. This is the robust backstop for when other agents or ad-hoc fix commits would otherwise add a Co-Authored-By: Claude or "Generated with" line.
/git hooks install # install the commit-msg hook (once per clone)
/git hooks status # check whether it's installed
/git hooks uninstall # remove it (restores any prior hook).git/hooks/ is not tracked, so re-run install after a fresh clone; for a team-wide hook, point core.hooksPath at a committed directory containing the script.
rebase — safe interactive rebase
Safely rebase the current branch onto an updated base branch using a pre-rebase intent snapshot to prevent silent change loss.
/git rebase # rebase onto default base branch
/git rebase main # rebase onto main
/git rebase main --push # rebase and push with --force-with-leaseworktree — create a branch and/or worktree
Create or switch a git branch and/or create a git worktree. Branch and worktree are independent — request either, both, or neither, and neither implies the other. This is the shared routine that /spec new's --branch and --worktree flags delegate to, so the branch/worktree logic lives in one place.
/git worktree --branch # create/switch to a branch (name derived from the slug)
/git worktree --branch my-branch # create/switch to a branch with an explicit name
/git worktree --worktree # create a worktree at .codevoyant/worktrees/<branch>
/git worktree --worktree ../wt # create a worktree at an explicit path
/git worktree --branch feat --worktree ../wt # branch + worktree at an explicit pathWhen a worktree is requested without an explicit branch name, the branch is derived from the slug. The default worktree path is .codevoyant/worktrees/<branch>.
help — list all commands
/git help # list all commands
/git help <verb> # show details for a specific command