skills/explain/SKILL.md
Create a walkthrough document for code, a pattern, or a feature. Prompts the user for walkthrough style (demo, linear, architecture, API reference, ...) and produces the appropriate document using showboat or plain markdown.
npx skillsauth add jamesc/skills explainInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The user wants a walkthrough of: $ARGUMENTS
Use AskUserQuestion to ask:
"What kind of walkthrough would you like?"
Options:
sed, executable blocks, verified output. Best for a library, pattern, or module the reader will run themselves.Also ask where to save the output (default: README.md next to the subject, or a name they specify).
Read the relevant source files. For directories, glob all .bt (or relevant language) files. Note:
test/<pattern>/)Use uvx showboat to build an executable document. Standard section order:
exec bash sed -n 'X,Yp' <file> to show the codeexec bash sed, each preceded by a note explaining what it provesexec bash echo block listing all test names as PASS + summary lineRun with --workdir <directory-of-the-output-file> so paths are relative.
Finish with uvx showboat verify --workdir <dir> <file> and fix any failures before declaring done.
Rules:
sed -n 'X,Yp' to pull specific line ranges — never cat whole filesnote arguments in single quotes to prevent shell expansion of backticks and special charactersecho (never actually run the test suite live in the document)Write a plain markdown document. Walk through each file in dependency order (base classes before subclasses). For each file:
End with a "Putting it together" section showing how the pieces compose.
Write a plain markdown document with:
Write a plain markdown document. One ### section per public method:
### methodName: param
**Signature:** `Class >> methodName: aParam`
**Purpose:** One sentence.
**Parameters:** `aParam` — what it is.
**Returns:** what comes back.
**Example:**
result := obj methodName: value
Write the document to the agreed path. Tell the user where it was saved and (for demo type) whether showboat verify passed.
tools
Find the next logical piece of work. Use when user types /whats-next or asks what they should work on next, or wants recommendations for the next task.
development
Use when navigating code, finding references, looking up definitions, understanding types, or tracing call hierarchies in TypeScript, Rust, or Beamtalk (.bt) files. Prefer LSP over Grep/Glob for any navigation task where symbol semantics matter.
data-ai
Find and update Linear issues that need labels, blocking relationships, or metadata. Use when user says '/update-issues' with criteria like 'no labels', 'missing agent-ready', 'needs size', etc.
data-ai
Sync modified skills and agents back to the repo and create a PR. Use when user types /sync-skills or wants to save in-session skill improvements.