About how
how is a development skill for exploring a codebase and explaining how a feature or subsystem works. It adapts its exploration approach to the question’s complexity and presents an architectural overview for engineers.
Key features
- 01Explores code to answer how-it-works questions
- 02Chooses an approach based on scope
- 03Uses parallel explorers for complex topics
- 04Produces architectural explanations
- 05Organizes findings into practical sections
Use cases
- 01Understanding an unfamiliar subsystem
- 02Tracing a feature across multiple files or services
- 03Onboarding an engineer to a codebase
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ hachej/ boring-stack --skill howAfter installing, type/howin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
LICENSEreferences/explainer-prompt.mdexplorer-prompt.mdDetails
From the project READMEHow
Explore the codebase to answer "how does X work?" questions. Produce architectural explanations at the level of a senior engineer onboarding onto a subsystem, enough to build a working mental model, not so much that it reads like annotated source code.
Each spawn below names a role line in the pstack-models.mdc rule and a default. Set model to that line's value, or to the default if the rule or the line is missing. Leave model unset when the value is auto or inherit-parent. If the Task tool rejects a slug, use the default and say so. If it rejects the default, use the closest valid slug of the same family from its error message.
Step 1. Assess Complexity
If the scope is ambiguous, state your interpretation and explore. The user can redirect.
- Simple (a single module, a small utility, a narrow question such as "how does function X work"): no explorers. One explainer explores and explains in a single pass. Go to Step 2b.
- Complex (a subsystem spanning multiple files or services, a cross-cutting feature, a full architectural overview): spawn parallel explorers first, then hand off to the explainer. Go to Step 2a.
When in doubt, take the simple path.
Step 2a. Explore (complex questions only)
Decompose the question into 2 to 4 exploration angles, each a distinct slice of the subsystem. Spawn all explorers in a single message:
subagent_type:generalPurposemodel: thehow explorerline, defaultgrok-4.7-xhigh-fastreadonly:true
Each explorer gets the prompt in references/explorer-prompt.md with its angle filled in. Then go to Step 3.
Step 2b. Direct Explain (simple questions)
Spawn one Task subagent that explores and explains in one pass:
subagent_type:generalPurposemodel: thehow explainerline, defaultclaude-opus-5-5-maxreadonly:true
Build its prompt from references/explainer-prompt.md without the explorer-findings section. Go to Step 4.
Step 3. Synthesize (complex questions only)
Once all explorers have returned, spawn one Task subagent to synthesize their findings into one explanation:
subagent_type:generalPurposemodel: thehow explainerline, defaultclaude-opus-5-5-maxreadonly:true
Build its prompt from references/explainer-prompt.md with every explorer's findings filled in.
Step 4. Present
Present the explainer's output to the user. Light edits for clarity or context from the conversation are fine. Do not substantially rewrite it.
Output Format
The explanation uses the sections defined in references/explainer-prompt.md, dropping any that do not apply: Overview, Key Concepts, How It Works, Where Things Live, Gotchas.