AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
RPI Walkthrough provides a structured, interactive way to understand complex project components. It performs a deep review of the target—whether code, UI/UX, or documentation—before guiding the user through it in manageable, logical segments. It maintains a conversational flow, provides navigable evidence links, and uses a dedicated ledger to record user decisions or requested changes without modifying source files prematurely.
What it does
- Performs a deep, evidence-based review of code, UI, or project artifacts.
- Breaks down complex targets into logical, conversational segments.
- Provides navigable markdown links to specific files and lines.
- Generates visual Mermaid diagrams to clarify architecture or flow.
- Tracks material decisions and requested changes in a dedicated ledger.
- Reconciles user feedback and decisions without altering source code by default.
When to use it
- When you need to understand how a specific feature or code block works.
- When you want to explore the rationale behind past changes or architectural decisions.
- When you are onboarding to a new codebase or complex UI flow.
- When you need to document decisions made during a collaborative review session.
Advantages
- Ensures explanations are grounded in a deep, pre-explanation review.
- Prevents cognitive overload by breaking information into small, digestible segments.
- Maintains a clear, persistent record of decisions and changes.
- Promotes safe exploration by separating analysis from source code modification.
Usage examples
- “rpi-walkthrough target=src/auth/login.ts detail=deep”
- The agent performs a deep trace of the login authentication flow, presenting it in segments with diagrams and links to the relevant code blocks.
- “rpi-walkthrough target=feature-dashboard-ui”
- The agent walks through the dashboard UI components, explaining the state management and event wiring, and offers to log any requested UI adjustments in a ledger.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/microsoft/rpi-walkthrough/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip rpi-walkthrough.zip -d .agents/skills
Documentation by Microsoft
RPI Walkthrough
Use references/walkthrough.md for the full walkthrough protocol, segment loop, reference-table format, decisions-and-changes ledger format, and deep review.
Follow the shared conventions in copilot-tracking.instructions.md.
Goal
Walk the user through a target one segment at a time, explaining what each line or block does and why with navigable evidence links. Keep target refinement, detail, pacing, current position, and follow-up depth in the conversation. Capture a material user decision or requested change in a narrow ledger only when one occurs, then reconcile it with the user without editing source by default.
A target is source code, UI or UX wiring, a library or feature, a prompt-engineering artifact such as a prompt, instructions, agent, or skill, or a .copilot-tracking artifact such as a research, plan, changes, review, or log document.
When a ledger is needed, derive {{task_slug}} in lower-kebab-case from the primary target's main subject, such as the primary file's base name without its extension or the feature or area name. Use the current date in YYYY-MM-DD and create .copilot-tracking/walkthroughs/{{YYYY-MM-DD}}/{{task_slug}}-decisions.md from templates/walkthrough.md.
Execution
Resolve the walkthrough target and detail level from explicit input, attached or open files, then conversation context. Default
detailtonormal. When chat context is enabled, incorporate it to refine scope. If no target can be formed, stop and ask; if multiple unrelated targets match, ask the user to choose one. When prior conversation context is unavailable, ask the user for the target and desired starting point instead of reconstructing progress from a ledger.Deep review before explaining. Trace the codebase, UI, UX, feature flow, prompt-engineering artifact, or
.copilot-trackingartifact with the available search and read tools; a subagent is optional for a large trace, runs only when a dispatch tool is available and the user's direction allows it, and returns a set of leads to confirm, as described in the reference. Run that subagent onClaude Haiku 5.5 (copilot)atmaxreasoning effort, passed as dispatch parameters when the tool accepts them, unless the user names another model. If a subagent dispatch fails because its model does not support the subagent's reasoning effort, retry it once withreasoning_effortset tomedium. When the explanation depends on an external library, framework, or standard, activaterpi-researchwith the walkthrough topic, purpose, audience, questions, evidence criteria, scope, constraints, supplied evidence, requested outputs, and analysis output mode. Read its primary artifact before explaining and scale the review depth todetail. Keep review results in the active conversation.Plan coherent segments in the conversation: entry point through flow and key blocks for code, or section order for artifacts. Keep their order, pacing, and coverage in conversation context.
Explain one segment at a time in the conversation: write a clear, scannable explanation of what it does, how it connects, and why it is this way, and follow the human-voice writing guidance in the reference. Start each segment with a segment header; before the first segment, render an overview Mermaid diagram when the target has meaningful structure or flow; add a compact focus diagram only when it adds information beyond the overview and prose. Include inline markdown links beside the explanatory prose for any file, block, or artifact discussed, then render a reference table of file and line links for that segment. Render the full segment turn as visible chat text before every call to the host's question tool, such as
ask_userorvscode_askQuestions, and before yielding control: the segment header, any useful diagrams, inline links, and reference table appear first, and one or two questions come last in that same turn.Refine or capture on feedback. When the user asks for more depth or why, repeat the deep review with the available tools, then re-explain. When the user makes a material decision or requests a change, lazily create the decisions-and-changes ledger from the template, append the entry, and offer immediate reconciliation or continuing with the entry open within the existing one-or-two-question cadence. Do not edit the codebase unless the user explicitly chooses immediate reconciliation and the change is safely scoped.
Close once all segments are covered or the user ends early. If a ledger exists, review open entries and ask whether to reconcile them now or leave them for later, then return the Final response. Do not persist segment coverage, completion status, or resumption data.
Inputs
target=...: the files, feature, UI or UX area, library, or.copilot-trackingartifact to walk through; infer from attached or open files when not provided.detail={brief|normal|deep}: technical depth of the explanation; defaultnormal; the user can change it mid-session.subagents={auto|none}:autouses a subagent for a large trace when a dispatch tool is available;none, or other user direction on subagent use, is honored.chat: incorporate conversation context to refine scope before the walkthrough begins.task_slug: lower-kebab-case from the primary target; use it with the current date inYYYY-MM-DDonly when creating the dated decisions-and-changes ledger.
Conversation format requirements
Use well-formatted markdown in every walkthrough turn. Each segment must begin with a segment header such as
### Segment 1: ...before any narrative explanation.Before the first segment, render an overview Mermaid diagram when the target has meaningful architecture, control or data flow, section relationships, or a user journey. Show that actual target structure and add segment numbers only as navigation cues.
During a segment, include a compact focus diagram only when it clarifies real inbound or outbound relationships beyond the overview and prose. Omit it rather than inventing or repeating decorative boxes.
Use short labels, meaningful relationship labels where useful, semantic role colors rather than progress colors, and one sentence that states the diagram's takeaway. The labels and prose carry the meaning independently of color. Follow the contrast-safe pattern in references/walkthrough.md.
Keep the explanation scannable. Each sentence or paragraph that discusses a specific file, line range, block, or artifact must include a nearby markdown link to that reference, rather than relying only on the reference table.
Keep the reference table requirement. Render it near the bottom of each segment turn, immediately before the questions.
Conversation guidance
During material walkthrough work, provide concise updates at meaningful boundaries through the target-resolution summary, each segment, ledger update, and closeout. Explain what is being covered and why, what changed or was learned, key decisions, blockers, relevant inline links and reference tables, and one important point the user might otherwise miss. Do not narrate low-level actions.
Before a user question, render the segment or decision context first. State viable choices and consequences, an evidence-backed recommendation when available, blockers, and relevant Markdown links, then keep the existing one-or-two-question cadence.
Do not use status emojis in walkthrough headings or bullets. The existing prose, headings, inline links, diagrams, and reference tables provide the visual structure.
Closeout follows Handoff and Final response.
Success criteria
The target, detail level, and segment plan are resolved before any explanation begins.
A deep review of the target precedes explanation, and its results ground the active conversation.
Each segment is explained in the conversation with a segment header, useful target-derived diagrams where they clarify the target, inline markdown links beside the explanatory prose, and a reference table of workspace-relative file and line markdown links rendered before every question-tool call and before yielding control.
Each question-tool turn carries at most one or two clear questions that offer more detail on the current segment or continue to the next.
A decisions-and-changes ledger exists only after a material user decision or requested change. Each entry records its reconciliation disposition and outcome or handoff evidence.
The final response names covered segments and detail level from conversation context. It reports no artifact when no ledger was needed, or links the ledger and its Reconciliation section with counts and open entries when one exists.
Constraints
Read-only by default: explain and capture, and never modify source files unless the user explicitly asks for an immediate change.
Deep-review the target before explaining, and re-review when the user asks for more depth or why before re-explaining.
Put the explanation in the conversation window, keep it scannable and easy to follow, and do not present more than one segment at a time.
Write every walkthrough explanation, including the question text, in a plain human voice: lead with the point, keep each turn short, avoid em dashes, and avoid filler, promotional or inflated wording, formulaic openers and recaps, over-signposting, decorative formatting, sycophancy, and self-referential asides. Follow the fuller guidance in references/walkthrough.md under "Writing the explanation for human eyes" and "Shape of a segment message".
Render file references in the conversation as workspace-relative markdown links with line numbers, not as inline code, and keep
.copilot-tracking/references out of production code, code comments, documentation strings, and commit messages.Keep at most one or two questions per question-tool turn.
Do not over-condense the walkthrough. When the target is large or nuanced, use more segments rather than forcing a compact summary, and 25 or more segments is acceptable when needed.
Reconcile an open ledger entry with the user as applied now, handed off to an RPI follow-on, deferred for later, or declined. Record the choice and any outcome or evidence pointer. A later request can read the ledger to reconcile open entries, but it does not resume the walkthrough.
Stop rules
Stop and ask when no walkthrough target can be resolved from the inputs.
Stop and ask the user to choose when multiple unrelated targets match.
Pause for the user's direction at each segment boundary through the question tool before continuing.
Conclude the walkthrough when the user declines another segment, asks for a summary, or ends the session. Review open ledger entries when a ledger exists, then run the closing review and Final response.
Hard stop and ask for clarification when an immediate source change is unsafe, ambiguous, destructive, externally visible, or out of scope.
Handoff
In a standalone walkthrough, recommend the exact applicable
/rpi-research,/rpi-plan,/rpi-implement, or/rpi-reviewcommand only for a ledger entry handed off to RPI work or still requiring downstream work. Do not invoke it. Otherwise state the explicit no-handoff reason.In an active confirmed automatic RPI Agent context, return the relevant ledger and evidence to the parent and state that it selects eligible continuation.
Final response
Return walkthrough session status kept separate from the decisions-and-changes ledger state, covered segments, detail level, important updates, decisions, blockers or open entries, and anything the user might otherwise miss.
If no ledger exists, state that no decisions-and-changes artifact was needed and do not invent a link. If a ledger exists, report its path, its counts of material decisions and requested changes, and its remaining open entries, and link the ledger and its Reconciliation section.
Give continuation as Handoff describes.
Advise
/compactonly when stale tool output, superseded reasoning, or completed-segment detail outweighs useful current context and the target and any ledger are current. When advising it, name the state and artifact pointers to retain. Otherwise omit compaction guidance.For the walked target and every relevant existing artifact, use the two-cell row
| [actual/workspace-relative/path.ext](actual/workspace-relative/path.ext) | Short description |, using that artifact's actual workspace-relative path as both link text and destination; include a ledger row only when a ledger exists, omit unavailable files, and render the table immediately before the final## Next Stepssection.End with
## Next Steps: state the exact eligible user command, active-parent action, blocker-clearing action, or that no user action is required. When compaction is warranted, tell the user to run/compactbefore the next RPI command.
Files
- ATTRIBUTION.mdAdded by AutoGineer830 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md13.2 KiB
- references/walkthrough.md14.2 KiB
- templates/walkthrough.md2.1 KiB
references/walkthrough.md
description: Full walkthrough protocol for the rpi-walkthrough skill, covering target resolution, deep review, segment explanations, a decisions-and-changes ledger, reconciliation, and RPI handoff.
RPI Walkthrough Protocol
This reference expands the rpi-walkthrough SKILL with the operational detail for a guided, conversational walkthrough. Conversation context owns the target refinement, detail level, segment pacing, current position, and follow-up depth. Use ../templates/walkthrough.md only when a material user decision or requested change requires the optional ledger at .copilot-tracking/walkthroughs/{{YYYY-MM-DD}}/{{task_slug}}-decisions.md.
References inside .copilot-tracking artifacts use plain workspace-relative paths; references shown to the user in the conversation use markdown links with line numbers.
Target resolution
Resolve the walkthrough target before any review or explanation:
Prefer an explicit
target=..., then attached or open files, then the most recent relevant.copilot-trackingartifact, then conversation context.Classify the target so the right review path and segment ordering apply:
Code or feature: source files, a feature flow, or a library or API surface.
UI or UX: components, routes, state wiring, styles, and the user-facing flow that connects them.
Prompt-engineering artifact: a prompt, instructions, agent, or skill file in the repository's GitHub customization tree.
Artifact or document: a
.copilot-trackingresearch, plan, changes, review, or log document, or another project document such as an architecture or planning record.
Set
detailtobrief,normal, ordeep(defaultnormal). The user can change it at any segment boundary.When no target can be formed, stop and ask. When several unrelated targets match, ask the user to choose one before proceeding.
When conversation context is unavailable, ask the user to identify the target and desired starting point. Do not treat a prior ledger as walkthrough progress or reconstruct pacing from it.
Deep review before explaining
Understand the target before narrating it so the explanation stays accurate and grounded. Keep review results in the active conversation.
Trace how the code, UI, UX, feature, or artifact actually works with the available search and read tools: entry points, call paths, data flow, connected files, and the decisions or evidence recorded inside
.copilot-trackingartifacts.A subagent is optional and follows the subagent-use rule in the skill's Execution section. Use one when isolating a large trace would protect the conversation context, give it the target and the questions to trace, and treat its return as leads to confirm by reading the target yourself.
Activate
rpi-researchwhen the explanation depends on an external library, framework, standard, or anything that benefits from web or repository research with citations. Supply the walkthrough topic, purpose, audience, questions, evidence criteria, scope and non-goals, constraints, existing evidence, requested outputs, and analysis output mode, then read the completed primary research artifact before explaining.Scale the review to
detail: a focused single pass forbrief, a normal pass fornormal, and a thorough multi-pass review with cross-references fordeep.
Segment planning
Turn the reviewed target into an ordered list of segments that each cover one coherent idea:
Code or feature: order from entry point through the main flow to the key blocks and lines, grouping tightly-coupled lines into one segment.
UI or UX: order along the user-facing flow, connecting each view or component to the state, events, and styles that drive them.
Artifact: follow the document's own section order, pairing each decision with its rationale and evidence.
Keep the segment list, coverage, and current position in the conversation, and size the segment count as the skill's Constraints describe.
Conversation markdown format
The skill's Conversation format requirements own the segment header, diagram, labeling, inline-link, and reference-table rules. When a diagram is useful, use a contrast-safe Mermaid pattern like this one, and adapt the nodes and edges to the actual target rather than reusing it as a progress diagram:
flowchart LR
action[User action]
handler[Handler: S2]
store[Data store]
result[Response]
action -->|submits| handler
handler -->|reads and writes| store
handler -->|returns| result
classDef context fill:#166534,color:#f8fafc,stroke:#bbf7d0,stroke-width:2px;
classDef focus fill:#854d0e,color:#f8fafc,stroke:#fde68a,stroke-width:2px;
classDef dependency fill:#1e40af,color:#f8fafc,stroke:#bfdbfe,stroke-width:2px;
classDef outcome fill:#334155,color:#f8fafc,stroke:#cbd5e1,stroke-width:2px;
class action context;
class handler focus;
class store dependency;
class result outcome;
linkStyle default stroke:#94a3b8,stroke-width:2px;The handler is the focus because it receives the user action, coordinates data access, and produces the response.
Segment explanation loop
Run this loop once per segment, and never advance more than one segment per turn:
Explain the segment in the conversation. Start with the segment header, then move from what it does to how it connects to the rest of the target and why it is this way, without labeling those parts. Match the depth to
detail. Keep the writing scannable: short paragraphs, a tight bullet list when it helps, and bold only for the few terms that carry the idea, and follow the "Writing the explanation for human eyes" section in this reference. Do not paste large code blocks; describe the code and point to it.Render an overview diagram before the first segment only when the target has meaningful structure or flow. Add a compact focus diagram only when it clarifies a real relationship beyond the overview and prose, then state the diagram's takeaway in one sentence.
Add inline markdown links beside the explanatory prose for any file, block, or artifact being discussed. Do not rely only on the reference table for navigation.
Render the reference table for the segment (see Reference table format) so the user can navigate to every place being discussed.
Call the question tool with one or two clear questions written in the same plain voice, with no praise or filler. The first offers more detail or a why on the current segment; the second continues to the next segment.
Write the full segment turn as visible chat text before this call: the segment header, diagrams, inline links, and reference table must already be in the response, and the questions come last in that same turn. Do not go straight from internal reasoning to the question tool with nothing rendered for the user; the failure mode is a bare question-tool prompt that arrives before the explanation that sets it up. This gate holds before every question-tool call and before any hand back of control, including mid-segment pauses.
Writing the explanation for human eyes
Walkthrough prose is for a human reader. It should read like a thoughtful engineer explaining their own work, not like generated filler. Treat the lists below as patterns to recognize, not a literal find-and-replace blocklist; generalize from the examples so the prose stays natural rather than only dodging the exact words. Quoting or naming the target's actual identifiers, strings, or wording is always fine, even when they contain words this section would otherwise avoid.
Avoid these AI tells
Formulaic openers and recap wrappers such as "In today's world", "In conclusion", or "In summary", plus forced first-second-third scaffolding and transitions such as "Moreover" or "Additionally".
Filler and empty restating such as "It's worth noting", "It's important to note", and "It should be mentioned", along with abstract intensifiers that do not earn their place.
Promotional slogans and inflated language such as "game-changer", "paradigm shift", "cutting-edge", "unlock", "elevate", "empower", "supercharge", "leverage", and spike words such as "delve", "tapestry", "testament to", "realm", "landscape", "underscore", "showcase", "robust", "seamless", "intricate", "dive into", and "plays a crucial role".
Sentence frames that feel packaged rather than thought-through, such as "It's not just X, it's Y", "not only X but also Y", rule-of-three triads, and "on one hand... on the other hand..." when they add no real analysis.
Typography crutches: avoid em dashes, a common tell, and use commas, parentheses, or separate sentences instead; also avoid emoji in headings or bullets, bold-label-colon list items, Title Case headings, and excessive bolding.
Conversational filler and sycophancy such as "Certainly!", "Great question!", and "I hope this helps", and over-agreeable phrasing, plus self-referential asides such as "let me be clear" or "to be clear".
Write it like this instead
Start with the real point, not a generic frame.
Make every sentence do work and cut to the next useful sentence.
Prefer concrete nouns and verbs over abstract labels.
Use the shortest sentence that still says the thing clearly.
Give one specific example tied to the actual code or artifact.
Support claims with evidence rather than slogans, and keep the why behind each line or block in view.
Let the prose carry the idea without announcing the structure.
Make the last line of prose the implication, consequence, or next step, before the reference table and questions.
Vary sentence and paragraph length so the rhythm reads human.
When something is genuinely uncertain, say so plainly and separate what is known from what is likely, but do not manufacture hedging when the answer is clear.
Use bold, lists, tables, and diagrams only when they help the reader.
Shape of a segment message
Keep each turn easy to scan and small enough not to overwhelm:
Open with the real point of this segment, and vary how you open across segments so the walkthrough does not fall into a repeated template.
Explain how it works and why it is this way at a depth that matches
detail: about one short paragraph forbrief, two short paragraphs or a short list plus one concrete example fornormal, and up to three short paragraphs plus one evidence-backed point fordeep.Keep any single turn to roughly 200 words of prose or less, and move extra depth into a follow-up turn rather than one long message.
Place the reference table near the bottom, just before the questions, so the reader can jump to the exact lines.
Close with the one or two question-tool prompts and nothing after them.
A model segment message
This shows the intended rhythm: open with the point, explain how and why in a few plain lines, then the reference table, then the questions. The paths and code here are illustrative.
The withRetry wrapper exists so one flaky network call does not fail the whole import. It runs the callback, and when the callback throws it waits a short, growing delay and tries again, up to three attempts, before giving up. The delay grows on purpose: instant retries against a rate-limited API tend to make an outage worse, so each attempt backs off a little further.
| Reference | What to look at |
|---|---|
| src/net/retry.ts | The retry loop and the backoff calculation |
| src/net/client.ts | Where the import call is wrapped |
Then ask, through the question tool, whether to go deeper on how the backoff delay is calculated or move on to how a final failure is handled.
Reference table format
Present references as a compact markdown table near the bottom of the message, before the questions. Use workspace-relative markdown links with line numbers, never inline code for file names, and never combine non-contiguous lines into one link.
| Reference | What to look at |
|---|---|
| path/to/file.ext | One-line description of this block |
| path/to/other.ext | One-line description of this line |
For a .copilot-tracking artifact walkthrough, link the artifact section being explained and any codebase files it references so the user can move between the decision and the code.
Handling feedback
Interpret the user's answer to the question tool and respond in kind:
More detail or why: repeat the deep review with the available tools, then re-explain the same segment at greater depth before offering to continue.
Less detail or a depth change: adjust
detailand continue.Continue: advance to the next segment and run the loop again.
A material decision or change request: capture it (see Recording decisions and requested changes) and offer immediate reconciliation or continuing with the entry open within the existing one-or-two-question cadence.
A new or refined target: re-resolve the target, re-review, and re-plan the segments.
Recording decisions and requested changes
The walkthrough is read-only by default. Create the ledger lazily, from ../templates/walkthrough.md, only when the user makes a material decision or requests a change. Do not create one for navigation, segment progress, evidence maps, explanations, scratch notes, or ordinary follow-up questions.
Record the entry date, target, material decision or requested change, references, user rationale, reconciliation choice or status, and outcome or handoff evidence. The ledger stores only enough context to act on its entries later.
When capturing an entry during a segment, ask whether the user wants to reconcile it now or keep it open while continuing. Include that choice in an existing segment-boundary question when possible rather than forcing an extra question.
Apply a source change only after the user explicitly chooses immediate reconciliation and the change is safely scoped. Confirm or clarify unsafe, ambiguous, destructive, externally visible, or out-of-scope work before acting. Record what happened in the ledger.
A later request can read the ledger and reconcile open entries without treating it as walkthrough resumption state.
Requirements and compatibility
Written for: GitHub Copilot, Claude Code
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Claude Code frontmatter
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/hve-core · .github/skills/rpi/rpi-walkthrough · commit f425e94
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download rpi-walkthrough.zip