Agent skill
walkthrough
Reads source code and produces a linear, executable walkthrough document. Use when explaining how code works, creating code walkthroughs, onboarding to a project, or giving a code tour. Generates structured showboat documents with annotated code paths.
Install this agent skill to your Project
npx add-skill https://github.com/philoserf/claude-code-setup/tree/main/skills/walkthrough
SKILL.md
Read the source and produce a linear walkthrough that explains how the code works in detail. Use showboat to build an executable walkthrough.md in the repo root. Include concerns about code quality and adherence to community standards.
Workflow
- Read the source — Understand structure, entry points, dependencies, and data flow before writing anything.
- Plan the order — Decide what to cover and in what sequence. Start from entry points and follow the call chain.
- Initialize —
uvx showboat init walkthrough.md "<Project> Walkthrough" - Build — Alternate
showboat note(commentary) andshowboat exec(code snippets) to walk through the codebase linearly. - Verify —
uvx showboat verify walkthrough.mdto confirm all code blocks produce the expected output. If verify reports diffs, useuvx showboat pop walkthrough.mdto remove the failing entry, fix the command, and re-add withshowboat exec.
Walkthrough structure
- Overview — What the project does, key technologies, entry points
- Architecture — Directory layout, module boundaries, data flow
- Core walkthrough — Step through the code linearly, starting from entry points and following the call chain through modules
- Concerns — Code quality issues, community standard violations, risks
Snippet selection
Show the most important 5–20 lines per concept. Prefer function signatures, key logic, and configuration over boilerplate. Use sed -n, grep, cat, or similar via showboat exec to include snippets. Every snippet should earn its place — if it doesn't clarify the narrative, cut it.
Example
uvx showboat note walkthrough.md <<'EOF'
## Configuration
The app reads config from `config.yaml` at startup. The `load_config`
function validates required fields and falls back to defaults.
EOF
uvx showboat exec walkthrough.md bash "sed -n '10,25p' src/config.py"
Showboat reference
Showboat creates executable markdown documents where every fenced code block is re-runnable and verifiable.
Commands
uvx showboat init <file> <title>— Create a new documentuvx showboat note <file> [text]— Append commentary (plain markdown, not executed). Use heredoc for multi-line:uvx showboat note file.md <<'EOF' ... EOFuvx showboat exec <file> <lang> [code]— Run code, capture output. Appends alangblock (the command) and anoutputblock (the result)uvx showboat pop <file>— Remove the most recent entry (useful after a failed exec)uvx showboat verify <file>— Re-run all code blocks and diff against captured outputuvx showboat verify <file> --output <file>— Re-run and update output blocks in place
Gotchas
- Every fenced block is executable. Showboat treats all code blocks as runnable — there is no "display only" mode. Static content (trees, diagrams) must use a command that produces the output, e.g.
cat <<'HEREDOC' ... HEREDOC - Non-deterministic output breaks verify. Timing, dates, and random values will differ across runs. Avoid capturing commands like
bun testwhose output includes wall-clock time. Use deterministic alternatives (e.g.grep -cto count tests) - Code fences in output. If the captured output contains triple backticks, showboat uses quadruple-backtick fences automatically — no special handling needed
- Do not run prettier on
walkthrough.md. The auto-format hook already exempts it. Showboat manages its own formatting; prettier would break verified output blocks.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
pre-release
Validates a project is ready to tag and ship. Use when tagging a release, cutting a version, shipping a package, or asking "are we ready to release?" Checks repo hygiene, CI status, docs, version sync, and build verification. Optimized for Obsidian plugins with fallback detection for other project types.
local-issues
Reviews a codebase for bugs, design issues, and code cleanliness problems with specific file paths and line numbers. Use when auditing code quality, finding bugs, doing a code review, finding problems, or reviewing a project for issues. Creates issue files in `.issues/` directory.
skill-improve
Generates prioritized improvement recommendations for Claude Code skills. Use when improving skills, enhancing customizations, or wanting actionable feedback on how to make a skill better. Provides impact/effort prioritization with specific fix suggestions.
release
Executes the final release workflow for Obsidian plugins after pre-release checks pass. Use when tagging a release, publishing a version, or shipping an Obsidian plugin. Bumps version via bun run script, creates git tag, pushes to trigger GitHub Actions, and updates GitHub release notes from CHANGELOG.md.
skill-quality
Scores Claude Code skills (1-5) across 6 weighted quality dimensions aligned with official Anthropic docs. Use when evaluating skill quality, rating skills, scoring customizations, comparing skill effectiveness, or checking if a skill follows best practices. Produces per-dimension scores with evidence, weighted totals, quality tier classification, and actionable improvement recommendations.
obsidian-cli
Interacts with Obsidian vaults using the Obsidian CLI to read, create, and manage notes, tasks, properties, tags, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, add to daily note, find notes about a topic, check tasks, append to a note, query the vault, list tags, list files, manage bookmarks, check sync status, view file history, use templates, query bases, run QuickAdd, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
Didn't find tool you were looking for?