Help us improve
Share bugs, ideas, or general feedback.
From branch-recall
Recovers context of the current git branch by analyzing commits, changed files, and diffs since diverging from main. Use when resuming work on an existing feature branch or onboarding to unfamiliar branch changes. Supports --deep flag for full file reading.
npx claudepluginhub alexey1312/agents-plugins --plugin branch-recallHow this skill is triggered — by the user, by Claude, or both
Slash command
/branch-recall:branch-recallThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Recover context of the current git branch — understand what was done before and continue working with full awareness.
Loads current git branch changes (diff, commits, changed files) into session context for review and analysis.
Analyzes git commits since base branch, file changes, uncommitted work, and optional Linear ticket to summarize branch intent and status for resuming development.
Generates concise branch summaries for PR descriptions by analyzing git diffs and commit history.
Share bugs, ideas, or general feedback.
Recover context of the current git branch — understand what was done before and continue working with full awareness.
# Current branch name
git branch --show-current
# Find the merge base with main (or master)
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
If on main/master, inform the user that there's no feature branch to recall and stop.
Show all commits on this branch since it diverged from the base branch:
git log --oneline --reverse main..HEAD 2>/dev/null || git log --oneline --reverse master..HEAD 2>/dev/null
# File stats — what was added, modified, deleted
git diff --stat main...HEAD 2>/dev/null || git diff --stat master...HEAD 2>/dev/null
# List of changed files with status (A/M/D/R)
git diff --name-status main...HEAD 2>/dev/null || git diff --name-status master...HEAD 2>/dev/null
Show the actual diff to understand what changed:
git diff main...HEAD 2>/dev/null || git diff master...HEAD 2>/dev/null
If the diff is very large (>500 lines), summarize by file instead of showing the full diff. Use --stat and then read only the most important changed files.
If the user invoked with --deep argument:
Skip this step in default mode to preserve context window.
Present a structured summary:
## Branch: <branch-name>
## Base: <base-branch> (diverged <N> commits ago)
### What was done
- <High-level summary of changes based on commits and diffs>
### Changed files (<N> files)
- **Added:** <list>
- **Modified:** <list>
- **Deleted:** <list>
### Current state
- <What appears to be in progress or incomplete>
- <Any TODO/FIXME markers found in the diff>
### Suggested next steps
- <Based on the changes, what likely needs to be done next>
main...HEAD) to see changes relative to the merge base, not two-dotgit status and git diff (unstaged)