walkthrough
Installation
SKILL.md
Rust branch walkthrough
Walk the user through a branch one commit at a time in conversation: why each commit exists, what changed, and what the interesting lines do. The user reads and asks questions; you explain. Stay read-only: never check out, reset, stash, commit, or otherwise change repository state.
Resolve the branch and base
- If the user named a branch or range, use it. Otherwise use the current branch (
git branch --show-current). - Base defaults to
master; usemainonly if nomasterexists. Prefer a base the user or a PR supplies. If the base is still ambiguous, ask once — do not guess silently. - Compare with merge-base semantics: commit list
git log --reverse --oneline <base>..<branch>, per-commit detailgit show <rev>, whole-branch diffgit diff <base>...<branch>. - If the commit list is empty (already merged, wrong base, detached HEAD), report what you found and ask how to proceed instead of inventing a range.
- Note uncommitted changes if present. Walk committed work only by default, and say explicitly that the working tree is excluded unless the user asks to include it.
Map before teaching
Before the first commit, read enough to explain motivation rather than guess at it: