agentleFS
vnordvnord/skills/walkthrough/SKILL.md

walkthrough

Skill1 starsChanged 4 months agoMITView on GitHub

Walk interactively through every commit on a branch (usually compared to master) to fully understand it — each commit's motivation, what the code is doing, and line-by-line Rust explanation where it matters. A teaching conversation, not a review; for a terse reviewer-facing canvas use branch-review-canvas, for implementing a plan use pair.

30 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use chips, redo and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • udecodeSkill

    chips

    Run the project's suggested-task ledger, the chips. /chips alone brings this session's open tasks up to date: it applies what the ledger helper says, settles stale and split tasks, cards what can start and reports the board, and /chips all also takes the ship-list tasks and the ones no live session owns, and merges duplicate tasks across the board. Use for /chips, /chips offer, start or drop, \"what chips are open\", \"suggest a task for X\", \"update the chips\", \"clean up the chips\", \"which chips are stale\", \"is this chip still worth doing\", \"merge duplicate chips\", at the last hand-back of a run that offered a task, and whenever pstack would file a tracked issue, a follow-up, a reflect Backlog item or an out-of-band PR.

    Also in 3 projects that use this

  • Scylla23Skill

    redo

    Re-run the last routed task one model tier up (haiku → sonnet → opus → fable). User-invoked escalation when the previous result missed. Pass --dry-run to preview without running.

    Also in 3 projects that use this

  • Aetheria-Labs1Skill

    plan-page

    Plan one storefront page from strategy through final copy, section order, proof, offers, template direction, responsive layout, and production asset requirements. Stops at an approved execution-ready specification.

    Also in 3 projects that use this

  • SocialKit-APISkill

    video-transcripts

    Extract transcripts from social videos through SocialKit across YouTube, TikTok, Instagram, Facebook, X/Twitter, LinkedIn, and direct video file URLs. Use when the user asks to transcribe, get captions or subtitles, pull the spoken text, or read what a video says, including one video or many at once. Returns full text plus timestamped segments. Not for posting, private accounts, or unrelated website scraping.

    Also in 3 projects that use this

  • MicrosoftSkill

    cleanup

    Also in 3 projects that use this

  • BlockSkill

    test-audit

    Invoke whenever writing, changing, reviewing, or sweeping tests in buzz-app. Authoring gate for new tests plus audit workflow for low-value, implementation-coupled, or duplicative tests and the test-only production seams they demand.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

8 rules. 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 30 edited versions we read keep these.

  • 8

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If the user named a branch or range, use it.

    line 14
  2. Distinctive:

    If the commit list is empty (already merged, wrong base, detached HEAD), report what you found and ask how to proceed instead of inventing …

    line 17
  3. Distinctive:

    Before the first commit, read enough to explain motivation rather than guess at it:

    line 22
  4. Distinctive:

    Treat commit messages as claims, not facts.

    line 27
  5. Distinctive:

    Verify language and API claims against the code and the dependency versions actually in use.

    line 46
  6. Distinctive:

    Never invent motivation, authorial intent, or results you did not observe.

    line 51
  7. Distinctive:

    If a diff is too large to explain usefully, summarize its structure first, go deep on the parts that carry behavior, and say what you …

    line 53
  8. Distinctive:

    If the branch references an issue or PR you cannot read, say those notes are missing rather than reconstructing them.

    line 54

“Common” is measured: kept by at least 6 in 10 of the 30 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
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; use main only if no master exists. 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 detail git show <rev>, whole-branch diff git 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:

  • Repository guidance and README for domain context.
  • The relevant files at the base revision (git show <base>:<path>) so the "before" state is concrete.
  • Each commit's message, stat, and diff. Trace moved or rewritten code with git log --follow and git blame when a line's history explains the change.
  • Treat commit messages as claims, not facts. Verify each message's promise against the actual diff; when a commit does more, less, or something else than the message says, say so.

Open the walkthrough with an overview: the commit list with a one-line purpose for each, grouped into themes where natural, and how the commits build on each other. If it helps calibrate depth, ask whether this is the user's own work returning after time away or someone else's branch. Confirm the plan before diving in.

Walk one commit at a time

Oldest first. For each commit:

  1. Motivation. The concrete problem the commit solves and why it belongs at this point in the sequence. Distinguish what the message says, what the code shows, and what you infer. If the motivation is genuinely unknowable from the repository, say so and ask — the user may know.
  2. What changed. Files and symbols, bounded to what matters. Cover boilerplate (imports, formatting, generated code) with a one-line note, not a walkthrough.
  3. The code, line by line where it matters. Quote exact lines with file and symbol locations. Explain the lines that carry behavior: state transitions, error paths, invariants, tricky conditions, concurrency, allocation. Do not narrate obvious punctuation, familiar setup, or every import.
  4. Checkpoint. Pause. Invite questions, answer them from the code, then move on when the user is satisfied.

Group only trivially related commits (a rename split across two commits, for example) and say why you grouped them. Never dump the whole branch in one message.

Explain the Rust

  • Match the user's Rust experience. Explain a construct when it first matters — ownership and where a borrow ends, lifetimes, trait bounds, Option/Result flow, conversions, unsafe, locks and atomics, async — then refer back instead of repeating it.
  • Explain both the construct and its job in this code: why a value must be owned rather than borrowed on this path, why one error is propagated and another logged, what invariant an assert protects.
  • Verify language and API claims against the code and the dependency versions actually in use; read the dependency source when behavior is not obvious. Do not guess the semantics of an unfamiliar API.
  • Show the relevant before-state from git history rather than describing it from memory.

Honest limits

  • Never invent motivation, authorial intent, or results you did not observe. Label inference as inference.
  • Running a branch's tests at an old revision requires checking that revision out. Do not do it silently; offer a separate worktree only if the user wants verification.
  • If a diff is too large to explain usefully, summarize its structure first, go deep on the parts that carry behavior, and say what you skimmed.
  • If the branch references an issue or PR you cannot read, say those notes are missing rather than reconstructing them.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.