han-release
Cut a Han release: update CHANGELOG.md with the changes since the last release, bump and tag every plugin that changed as {plugin-name}--v{version} so a…
Walks a person through code changes one step at a time in conversation, starting at the entry point and following the flow that changes, showing a small chunk per step and explaining it in plain language. Defaults to the current branch's changes, and walks the code from the
$ npx -y skills add testdouble/han --skill code-walkthrough --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/code-walkthroughContext preview
The summary Claude sees to decide when to auto-load this skill.
Walks a person through code changes one step at a time in conversation, starting at the entry point and following the flow that changes, showing a small chunk per step and explaining it in plain language. Defaults to the current branch's changes, and walks the code from the
name: code-walkthrough
description: >
Walks a person through code changes one step at a time in conversation, starting at the entry point and following the
flow that changes, showing a small chunk per step and explaining it in plain language. Defaults to the current
branch's changes, and walks the code from the perspective of any context provided instead — a file, directory,
symbol, pull request, plan, or ticket. Use when someone wants to be walked through, taught, paced through, or shown
around code or a branch step by step, or to learn how a change works before reviewing or extending it. Stops after
every step and waits, so the learner sets the pace. Paces through code that already exists and builds nothing — to
build new work while being paced through it, use pairing. Does not produce a written overview to read alone — use
code-overview. Does not review code quality — use code-review. Does not diagnose bugs — use investigate.
arguments: size
argument-hint:
"[size: small | medium | large | dynamic] [target: a file, directory, symbol, PR reference, or plan — defaults to the
current branch's changes]"
allowed-tools:
Read, Glob, Grep, Agent, Bash(git *), Bash(gh *), Bash(find *),
Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")As your first action, use the Read tool on `.han/config.md` inside the `personal config directory` path above. A read that returns no file is no personal configuration: continue silently. When that file or the `project .han/config.md` probe supplies content, apply it per [config-rule.md](../../references/config-rule.md), which governs precedence between the two files, relative-path resolution, and what to do with a file that reads but cannot be used.
Read these before doing anything. They constrain every step below.
steps together, never run ahead to finish the itinerary, and never treat a short acknowledgement as permission to batch. BECAUSE the pacing _is_ the deliverable: a learner who receives six steps at once is reading a document, which is `code-overview`'s job, and the understanding this skill exists to build comes from stopping long enough to ask a question. The single exception is an explicit request for more than one step ("show me the rest", "give me the next three"), which you honor as asked.
moving on, answer at the same plain-language level, then re-offer the same next step. The step counter does not move. BECAUSE the question is the learning happening, and advancing past it silently abandons the reason they asked.
repository-root-relative path (`han-coding/skills/code-review/SKILL.md`), never a bare filename (`SKILL.md`) and never a path fragment. BECAUSE a bare filename is unsearchable and ambiguous in any repository with a `SKILL.md`, an `index.ts`, or a `README.md` in more than one directory, and the learner's next move is reliably to open the file themselves.
point — never a whole file and never an entire diff hunk pasted for completeness. BECAUSE the excerpt is an illustration of the sentence you just wrote, not the evidence for it; a wall of code moves the reading work back onto the person the walkthrough is supposed to be teaching.
then what the code does about it. Keep the explanation to a short paragraph a person could read aloud. Source the standard by invoking `han-communication:explanation-guidance` (Step 3) and hold it for every turn of the session.
change. Files off that path — tests, docs, index entries, config, mechanical renames — are named together in the closing step with one line each on why they changed. BECAUSE a flow the learner can follow is worth more than file-by-file completeness, and silently dropping a changed migration or test file is the gap that bites them later.
never grades the code it is explaining. BECAUSE judging the change is `code-review`'s job, and a learner who cannot yet follow the flow has no basis to evaluate a critique of it. Saying "this is the part people find confusing" as navigation is fine; saying "this should have been extracted" is not.
changed — must be grounded in code you actually read. Never infer a step you did not verify, and never invent a rationale the evidence does not support; where the why is inferred rather than stated anywhere,
Han is a suite of AI skills and agents for solo (or small-team) product engineers.
Cut a Han release: update CHANGELOG.md with the changes since the last release, bump and tag every plugin that changed as {plugin-name}--v{version} so a…
Update Han plugin documentation so every skill, agent, guidance doc, index, and cross-reference is current and accurate. On a non-default branch, scopes the…
Produces a progressive-disclosure overview of unfamiliar code or a pull request's changes with code-overview and publishes the resulting overview to a…
Runs an evidence-based investigation of a bug, failure, or unexpected behavior with investigate and publishes the resulting investigation report to a…
Publishes a local Markdown file to a user-specified Confluence location, creating a new page or updating an existing one through the Atlassian MCP server. Use…
Builds a feature specification from scratch with plan-a-feature and publishes it to a user-specified Confluence location, posting the spec as a parent page and…