一键导入
catchup
Summarize all changes in current branch compared to base branch
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Summarize all changes in current branch compared to base branch
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Manual E2E tester that starts the app and exercises new features end-to-end
Generate a single self-contained HTML page that is genuinely visual AND interactive — charts, diagrams, motion, tabs, comparison toggles, click-to-expand, base64-inlined images, opinionated typography. Use whenever the user wants ANY rich visual artifact from arbitrary content: explainer, research write-up, PRD or spec page, pitch, internal one-pager, "make this less boring" rebuild, scroll-snap deck, landing-style summary, distilled report. Trigger phrasings: "make me a page about X", "turn this PDF/doc into something visual", "build me a deck/talk/pitch", "explain Y in a visual way", "make this readable", "give it some eye candy", "I want something I can show the team", "less boring version of this", "rebuild that page", "redo it with more visuals". Output is one .html file that renders identically when DM'd — CDN libraries (Tailwind, Chart.js, D3, GSAP, Mermaid, Lucide) load from stable jsdelivr/unpkg URLs; every image is base64-inlined. Not for plain Markdown docs (use technical-writer), not for code revi
Vision-based visual QA reviewer — captures rendered output (live web pages, static HTML artifacts, PDFs) as screenshots, inspects them with a designer's eye for layout defects a human catches instantly, and normalizes findings into the verify pipeline format
Independent second-opinion reviewer that shells out to the local Codex CLI for a broad code review, then normalizes findings into the verify pipeline format
Comment-hygiene-only reviewer — flags ephemeral review-ID references, historical change-narration, stale comments, reviewer-appeasement, and redundant restating in the scoped diff, and normalizes findings into the verify pipeline format
Adversarial cooperation loop — player implements, /verify reviews, creates PR, passes CI
| name | catchup |
| description | Summarize all changes in current branch compared to base branch |
| argument-hint | [optional: base branch name] |
| disable-model-invocation | true |
| allowed-tools | ["Read","Bash","Grep","Glob"] |
Quickly understand all changes in the current branch by providing a smart summary of commits, changed files, and key modifications. This is optimized for the "restart workflow" - after running /clear, use /catchup to get back up to speed without reading every file.
$ARGUMENTS (optional): Base branch name to compare against
main, master, or develop/catchup, /catchup main, /catchup developCheck that we're in a git repository:
git rev-parse --git-dir
If this fails, inform the user this command requires a git repository and exit.
# Get current branch
CURRENT_BRANCH=$(git branch --show-current)
# If no argument provided, auto-detect base branch
if [ -z "$ARGUMENTS" ]; then
# Try to find default branch from remote
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@')
# Fallback: check if main or master exists
if [ -z "$DEFAULT_BRANCH" ]; then
if git show-ref --verify --quiet refs/heads/main; then
DEFAULT_BRANCH="main"
elif git show-ref --verify --quiet refs/heads/master; then
DEFAULT_BRANCH="master"
elif git show-ref --verify --quiet refs/heads/develop; then
DEFAULT_BRANCH="develop"
else
echo "Could not auto-detect base branch. Please specify: /catchup <base-branch>"
exit 1
fi
fi
BASE_BRANCH="$DEFAULT_BRANCH"
else
BASE_BRANCH="$ARGUMENTS"
fi
Verify base branch exists:
if ! git show-ref --verify --quiet refs/heads/$BASE_BRANCH; then
echo "Error: Base branch '$BASE_BRANCH' does not exist"
exit 1
fi
Determine if there are any changes:
# Get commit count ahead
COMMITS_AHEAD=$(git rev-list --count $BASE_BRANCH..HEAD)
# Get changed files count
CHANGED_FILES=$(git diff --name-only $BASE_BRANCH...HEAD | wc -l)
If both are zero:
No changes detected between $CURRENT_BRANCH and $BASE_BRANCH.
Branches are in sync.
Exit successfully.
Collect comprehensive branch context:
# Commit history (one-line format)
git log --oneline $BASE_BRANCH..HEAD
# Changed files with status
git diff --name-status $BASE_BRANCH...HEAD
# Diff stats (lines added/removed per file)
git diff --stat $BASE_BRANCH...HEAD
# Get uncommitted changes if any
git status --porcelain
Present information in this structured format:
# Branch Catchup: {CURRENT_BRANCH}
## Overview
- **Current Branch**: {CURRENT_BRANCH}
- **Base Branch**: {BASE_BRANCH}
- **Commits Ahead**: {COMMITS_AHEAD}
- **Files Changed**: {total} ({added} added, {modified} modified, {deleted} deleted)
- **Uncommitted Changes**: {Yes/No} ({count} files)
## Commit History
{List commits with hash and message}
## Changed Files by Status
### Added Files
{List of added files}
### Modified Files
{List of modified files with diff stats}
### Deleted Files
{List of deleted files}
## Diff Statistics
{Output from git diff --stat showing lines changed per file}
## Uncommitted Changes
{If any exist, show git status output}
## File Organization
{Group files by directory/component for easier understanding}
Example:
- **Backend (src/)**: 5 files
- **Frontend (ui/)**: 3 files
- **Tests (tests/)**: 2 files
- **Docs (docs/)**: 1 file
## Key Insights
{Analyze commit messages and file changes to provide context}
- Main focus: {infer from commit messages}
- Components affected: {list major areas}
- Potential breaking changes: {flag if file names suggest}
## Next Steps
To see detailed changes in a specific file:
- Use Read tool: `Read path/to/file.py`
- Or git diff: `git diff {BASE_BRANCH}...HEAD -- path/to/file.py`
To resume work:
- Review uncommitted changes if any
- Check TODO list with TodoWrite
- Continue implementation
Only read file contents if:
Otherwise, trust that the summary provides enough context. The goal is efficiency - reading 20+ files defeats the "quick catchup" purpose.
Error: This command requires a git repository.
Current directory is not a git repository.
Error: Base branch '{BASE_BRANCH}' does not exist.
Available branches: {list branches}
Usage: /catchup [base-branch-name]
Warning: You are in a detached HEAD state.
Current commit: {hash}
Cannot determine current branch name.
You may want to create a branch first:
git checkout -b my-branch-name
This appears to be a new repository with no commits.
Cannot compare branches without commit history.
# Basic usage - auto-detect base branch
/catchup
# Compare to specific branch
/catchup develop
# Compare to main explicitly
/catchup main
# After /clear to understand current state
/clear
/catchup # "What have I been working on?"
This command works well with:
/clear - Clear state, then /catchup to understand what's there/handoff - After /catchup, use /handoff to document work/create-pr - After /catchup, review changes before creating PR/check-ci - After /catchup, ensure tests pass