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.
npx claudepluginhub tykisgod/quick-questionThis skill uses the workspace's default tool permissions.
> **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.
Analyzes uncommitted git changes, excludes ephemeral files like node_modules or build/, groups by purpose into atomic conventional commits, validates code, and optionally pushes.
Commits all local git changes following Conventional Commits format with type, scope, and body, then pushes to remote. Analyzes diffs and logs for accurate messages.
Stages and commits git changes atomically with conventional messages. Analyzes status and diffs, groups into logical units (structural, behavioral, docs, config) without modifying code.
Share bugs, ideas, or general feedback.
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 <noreply@anthropic.com> 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 path