walkthrough
Skill3 starsChanged 9 days agoMITView on GitHub
Use when the user wants a change or an existing flow explained or walked through, step by step in execution order: a pull request by number or URL (including a team mate's), the current branch, the work just built in this session, or existing code as-is. Triggers include "walk me through this PR", "explain this change", "give me a tour of PR #123", "how does this flow work", "walk me through the auth flow". Explains the flow and the decisions behind it. Not a code review, and it does not test the user; for that use quiz-me.
30 other projects use a version of this.
Adopted by
Most recently taken up by
- taecontrol/skillstheir own version, first seen Nov 8, 2026
- marnickvda/pop-quizword for word, first seen Nov 8, 2026
- command-center-ai/skillstheir own version, first seen Nov 8, 2026
- spencerldixon/skillstheir own version, first seen Nov 8, 2026
- udecode/dotaitheir own version, first seen Nov 7, 2026
- pche-broken-artist/forge-of-thoughttheir own version, first seen Nov 6, 2026
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.
udecodeSkillchips
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
Scylla23Skillredo
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-Labs1Skillplan-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-APISkillvideo-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
MicrosoftSkillcleanup
Also in 3 projects that use this
BlockSkilltest-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
Other versions30 projects use a version of this.
Word for word · 1
- marnickvda/pop-quiz★ 3100% same
Edited · 0
None found.
Wrote their own version · 29
- udecode/plate★ 17ksame name
- udecode/dotai★ 1.2ksame name
- udecode/better-convex★ 452same name
- Mathews-Tom/armory★ 340same name
- smallnest/goal-workflow★ 283same name
- andrew-yangy/gru-ai★ 153same name
- oborchers/proqi★ 45same name
- huytd/skills★ 19same name
- wycats/ai-plugin★ 19same name
- wycats/vscode-ai-plugin★ 19same name
19 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository2 other files it gives its agents.
- design-reviewSkill
- quiz-meSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.
0
Common
Most of the 29 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 30
Every changed file is in a step or in Not covered.
- Very specific: line 100
No step map in a step; the Flow: breadcrumb shows the position.
“Common” is measured: kept by at least 6 in 10 of the 29 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.
Files
Walkthrough
Explain a change step by step, in the order the code runs, not the order of the diff: an overview diagram and step map, then one step per message from entry to exit, then a recap. The goal is understanding the flow and the decisions behind it. This is not a code review: no findings, bugs or style notes, and no grading of the user.
Short choices end the message as a numbered plain-text list, after the content; then stop. The user replies with a number or in their own words. Every message here carries content above its choice, so it all stays in the message text: a question-tool popup can hide the text before it.
1. Gather silently
Scope, in this order:
- A PR (number or URL): run
gh pr view <n>for the description and, separately,gh pr view <n> --comments(it omits the description). Thengh pr diff <n>and the full changed files at the head (git fetch origin pull/<n>/head, thengit show <sha>:<path>). The PR need not be checked out. - A topic or file ("the request flow"): if nothing in this session or branch touched it, walk through the code as-is (section 7) without asking. If changes touch it, ask: the changes or the code as-is?
- Otherwise this session's work, or the branch: base is
git merge-base HEAD main, elsemaster, elseorigin/HEAD; thengit diff <base>..HEAD. If the branch has an open PR (gh pr view --json number), treat it as that PR.
Then read beyond the diff. Follow the flow outward until you reach the entry point(s) and the exit(s): callers of changed functions, interfaces they implement, config and defaults they rely on, consumers of anything they publish or enqueue. Unchanged code that links the changed parts belongs in the walkthrough.
Why comes only from sources: this session's rejected alternatives, the PR description and comments, why-comments, ADRs, linked issues. Credit the source in the step ("PR description: …"). For anything else, write "my read:". Never present your guess as the author's reasoning.
2. Find the flow
- Entry points: HTTP handler or middleware, CLI command, scheduled job, message consumer, UI event, migration run. Step 1 of a track is the first code that handles the input (e.g. the middleware). Startup wiring in
mainis never step 1: show its changed lines in the step of the part it builds. - Order steps by execution: entry → processing → exit (response, write, published event). Async: producer → queue → consumer → side effect, even across processes.
- Tracks follow entry points, not topics. One runtime path (request → limiter → handler → queue → consumer → store) is one track, even when it changes for several reasons. A new command, job or endpoint with its own entry point is its own track. Two or more: every track gets its own steps, under a
Track A · …/Track B · …line in the map, each in execution order. - Config, wiring, schema migrations, feature flags: in the step of the code that first uses them (a migration goes with the code that writes the column). Never a step of their own.
- Tests: one "How this is proven" step near the end. Mechanical changes (version bump, renames, formatting, lock files): one final "Other changes" step, or the recap's Not covered list.
- Every changed file is in a step or in Not covered. Never drop one silently.
- Aim for 4–10 steps. Trivial change (typo, one-line doc, rename): say it is trivial and offer a one-message summary instead of a walkthrough (Summary / Walkthrough anyway). Stop.
3. Check claims before they go in a step
A claim about behavior outside the changed code needs a source you read now: library defaults at the version pinned in the lock file, chart values, API specs, framework behavior. When the change builds a client and leaves options unset, those defaults are its behavior: before the overview, read them in the library source at the pinned version (module cache, vendor dir, or the tag upstream) and put them in that client's step. Memory is not a source. Name the source in the step ("HTTP client v2.3.1 options.go: retries 3"). Can't read it: drop the claim, or write "(unchecked)" next to it. The same holds for answers during Dig deeper.
4. Open with the overview
One message, in this order, then stop:
- Also read: one line naming the unchanged code you read beyond the diff (e.g. "Also read: the middleware that calls the limiter, the queue consumer").
- Diagram: a Mermaid
flowchart(orsequenceDiagramwhen call order between a few parties is the point), at most ~10 nodes. Mark changed parts withclassDef changed. Never put;in a label. - Step map, exactly in this form.
- The short choice Start.
flowchart LR
client([Client]) --> mw[Rate limit middleware]
mw --> bucket[Token bucket]
bucket --> redis[(Redis)]
mw --> handler[Order handler]
classDef changed fill:#fde68a,stroke:#b45309
class bucket,handler changedWALKTHROUGH · rate limiter
Track A · POST /orders
▶ 1. Request enters the middleware entry
○ 2. Take a token from the bucket changed
○ 3. Counters in Redis context
○ 4. Reject with 429 exit
Track B · admin reset-limits
○ 5. Reset one client's bucket entry
○ 6. How this is proven tests
✓ seen ▶ now ○ to come
then: recap → parked questions → quiz-meRight-column kinds: entry, changed, context (unchanged code needed to follow the flow), logic, exit, tests. Changed files you plan to leave out of the steps go on a not covered: line under the map.
5. One step per message
**Step 2 of 6 · Take a token from the bucket**
Flow: Client → Middleware → **Token bucket** → Redis
`limiter/bucket.go:40-52` · changed
```go
func (b *Bucket) Take(ctx context.Context, key string) (bool, error) {
n, err := b.store.Decr(ctx, key)
if err != nil {
return true, err ◀ fails open
}
```
**What happens:** 1–3 sentences.
**Why:** 1–3 sentences, with the source, or "my read: …".
1. **Next step**
2. **Dig deeper**
3. **Park it**
4. **Skip to recap**- Every excerpt is the code as it is at the head, in a fenced block with the language (e.g.
go,python), so it gets syntax highlighting. Never adiffblock or+/-prefixes: the walkthrough explains how the code works, the PR diff shows what changed. The header kind (changed,context) is enough. - About 15 lines per excerpt at most. Elide with
…. Mark the line that matters with◀. - No step map in a step; the
Flow:breadcrumb shows the position. - End with the short choice, then stop. Never start the next step in the same message:
- Next step
- Dig deeper — free back-and-forth on this step. Answer only; no next step until the user asks.
- Park it — note the question. Say it is parked; answer it after the recap, not now.
- Skip to recap
A question mid-walkthrough ("where is this called from?") is a dig deeper: answer it, and if the answer belongs in the flow, add a step to the map and say so.
6. Recap, parked questions, hand-off
- The step map: seen steps
✓, skipped ones left○. - The flow in 3–5 lines.
- Key decisions: 2–4, each with its source or "my read".
- Not covered: changed files not in any step, if any.
- Parked: answer each parked question now.
- The short choice: Run
quiz-menow (recommended) on the same scope (it reads this walkthrough from the conversation), or Done.
7. Code as-is
For a flow nobody changed: same sections, with these differences.
- No
changedclass in the diagram. Kinds are onlyentry,logic,context,exit(testsonly if the tests explain the flow). - The rule that every changed file is in a step or in Not covered does not apply.
- The scope is the flow the user named. Say in the overview where the walkthrough stops (e.g. "stops at the in-memory store").
- Why comes from why-comments, docs, ADRs, and
git log/git blameon the key lines. Else "my read".
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
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.

