From qq
Batch commits uncommitted Git changes into logical groups with conventional messages, pushes to remote, excludes sensitive files, and handles worktree closeouts. Use to ship features safely.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qq:commit-pushThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Script path fallback**: qq scripts are invoked as bare commands (e.g. `unity-test.sh`). If "command not found", use `${CLAUDE_PLUGIN_ROOT}/bin/<command>` instead.
Script path fallback: qq scripts are invoked as bare commands (e.g.
unity-test.sh). If "command not found", use${CLAUDE_PLUGIN_ROOT}/bin/<command>instead.
Respond in the user's preferred language (detect from their recent messages, or fall back to the language setting in CLAUDE.md).
Batch commit all uncommitted changes and push to the remote repository.
If qq-project-state.py is available, run it first:
qq-project-state.py --pretty
Interpret it like this:
recommended_next == "/qq:commit-push" → normal ship path, continueRun git status -u and git diff --stat to view all uncommitted changes
Analyze the changes and group them by logical relationship (do not mix unrelated changes into the same commit):
For each group:
git add the relevant files (do not use git add -A; specify files individually)Co-Authored-By: Claude Opus 4.6 <[email protected]> at the end of the commit messageAfter all commits are done, run git push
Worktree closeout — detect worktree type and close out:
Type A: EnterWorktree session (CWD is inside .claude/worktrees/):
git log --oneline --all --decorate | head -5 or read the branch the worktree was based ongit checkout <source-branch> && git merge <worktree-branch>git pushExitWorktree tool with action: "remove" to clean up and return to original CWDType B: qq-managed worktree (qq-worktree.py is available and isManagedWorktree=true):
qq-worktree.py closeout --auto-yes --delete-branch --pretty
qq-worktree.py status --prettymerge-back / cleanup when debuggingType C: Not in a worktree → normal path, stop after push
Do not commit:
.env, API keys, credentials, or other sensitive files.gitignore.obsidian/ directoryqq-execute-checkpoint.py pipeline-clear --project . --status completedhardening-style flows, treat /qq:commit-push as the end of the verified path, not the place to discover missing tests/review/doc driftcloseout as the default pathnpx claudepluginhub tykisgod/quick-questionCommits changes with logical grouping and conventional messages, and optionally pushes to remote. Handles gitignore, file selection, and push workflows including rebase conflict recovery.
Analyzes uncommitted git changes, excludes ephemeral files like node_modules or build/, groups by purpose into atomic conventional commits, validates code, and optionally pushes.
Analyzes git changes, groups files into conventional commit types (feat, fix, refactor, etc.), creates commits, and pushes. Verifies prerequisite review skills have been run before allowing push.