squash
Squash all local commits (ahead of remote) into a single commit with an auto-generated message.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Squash all local commits (ahead of remote) into a single commit with an auto-generated message.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Stage all changes and commit with an auto-generated message. Does NOT push.
Distill the current session into a rich, scoped memory entry — for Codex sessions, append to ~/.codex/memories/rollout_summaries/ in the established task-group format; for Claude sessions, write to the auto-memory directory. Use when you've finished a non-trivial unit of work that future-you (or another agent) should benefit from.
Create a new pull request or update an existing one's title and description. Use when the user asks to open a PR, submit a PR, update a PR, or push changes for review.
Update peon-ping configuration — volume, pack rotation, categories, active pack, and other settings. Use when user wants to change peon-ping settings like volume, enable round-robin, add packs to rotation, toggle sound categories, or adjust any config.
Log exercise reps for the Peon Trainer. Use when user says they did pushups, squats, or wants to log reps. Examples - "/peon-ping-log 25 pushups", "/peon-ping-log 30 squats", "log 50 pushups".
Toggle peon-ping sound notifications on/off. Use when user wants to mute, unmute, pause, or resume peon sounds during a session.
| name | squash |
| description | Squash all local commits (ahead of remote) into a single commit with an auto-generated message. |
| disallowed-tools | ["Edit","Write","MultiEdit"] |
Gather context: Run git rev-parse --abbrev-ref HEAD and git log --oneline @{upstream}..HEAD 2>/dev/null || git log --oneline $(git merge-base HEAD main)..HEAD to see all local commits ahead of remote.
Abort if nothing to squash: If there are 0 or 1 local commits, tell the user there is nothing to squash and stop.
Soft reset: Run git reset --soft @{upstream} 2>/dev/null || git reset --soft $(git merge-base HEAD main) to unstage all local commits while keeping changes staged.
Generate a commit message: Analyze the staged diff (git diff --cached) and the list of squashed commit messages. Write a single concise conventional-commit-style message that summarizes all the squashed work. If $ARGUMENTS is provided, use it as guidance.
Commit: Create the commit. Do NOT use --no-verify. Do NOT push.
Report the new commit message and how many commits were squashed.