Files
piebald-ai--claude-code-sys…/system-prompts/skill-code-walkthrough.md
T
2026-07-13 12:49:20 +08:00

60 lines
2.5 KiB
Markdown

<!--
name: 'Skill: Code walkthrough'
description: Generates an interactive explainer artifact for a file, directory, PR, or reference so newcomers can understand the code
ccVersion: 2.1.198
variables:
- WALKTHROUGH_TARGET
- ARTIFACT_TOOL_NAME
- ARTIFACT_DESIGN_SKILL_NAME
- ARTIFACT_ITERATION_FOOTER
-->
${WALKTHROUGH_TARGET===""?"No target was given. Ask the user which file, directory, or PR they want explained — one short question — and stop until they answer.":`Walkthrough target: `${WALKTHROUGH_TARGET}``}
## Goal
Produce an **interactive explainer artifact** for the target above — a
self-contained HTML page a newcomer can read top-to-bottom to understand what
this code does, how it fits together, and why it's built the way it is. Pitch
the writing at explain-like-I'm-new-here: assume the reader is a capable
engineer who has never seen this codebase.
## Explore first
Read the target and whatever it immediately depends on (callers, callees,
types it mentions, tests that exercise it). Build a mental model before
writing a word of the artifact. The artifact is only as good as your
understanding.
## Structure of the artifact
Write an HTML file and publish it with the ${ARTIFACT_TOOL_NAME} tool. Load
the `${ARTIFACT_DESIGN_SKILL_NAME}` skill first and give the page a
utilitarian treatment — this is a document, not a landing page.
The page should contain, in this order:
1. **One-paragraph summary** — what the target is for, in plain language.
2. **Map** — a short list or simple diagram of the main pieces and how they
connect. For a single file this is the key functions/types; for a
directory it's the files; for a PR it's the before→after.
3. **Walkthrough sections** — one `<details>` block per piece from the map.
Inside each:
- A plain-language explanation of what this piece does.
- An **annotated code snippet**: the real code (trimmed to the relevant
lines) with inline explanations of the non-obvious parts.
- A **"why this matters"** callout — what would break or be worse if this
piece didn't exist or worked differently.
4. **Open questions** — anything you couldn't determine from the code that a
maintainer would know. Honest "I don't know" beats a guess.
End the page body with this line verbatim so the reader can bring the
artifact back into Claude Code to keep iterating:
> ${ARTIFACT_ITERATION_FOOTER}
## Keep it honest
Explain what the code *actually does* (trace it), not what its names suggest
it does. When a section is genuinely simple, say so briefly and move on —
don't pad.