how
cursor/plugins
Understand subsystem architecture and code flow before making changes.
What is how?
The 'how' skill answers "how does X work?" questions by exploring codebases and producing architectural explanations at a senior-engineer level. Use it for code walkthroughs, subsystem architecture, runtime flow, and placement/ownership questions before modifying code.
- Explores codebases to explain how systems work at an architectural level
- Produces mental models sufficient for onboarding onto a subsystem
- Answers placement and ownership questions (where code should live, which package owns it)
- Explains runtime flow and subsystem interactions
- Handles both simple single-module questions and complex multi-file architectural overviews
How to install how
npx skills add https://github.com/cursor/plugins --skill howHow to use how
- 1.Ask a 'how does X work?' question about your codebase
- 2.State your interpretation if the scope is ambiguous; the skill will redirect if needed
- 3.For simple questions (single module or narrow scope), the skill explores and explains in one pass
- 4.For complex questions (multi-file subsystems or cross-cutting features), the skill spawns parallel explorers then synthesizes findings
- 5.Review the explanation covering Overview, Key Concepts, How It Works, Where Things Live, and Gotchas as applicable
Use cases
- Understanding how a subsystem works before making changes to it
- Determining the correct layer or package for new code
- Onboarding to a new codebase section by building a working mental model
- Exploring cross-cutting features that span multiple files or services
- Clarifying runtime flow and architectural relationships before refactoring
- Engineers onboarding to a new codebase or subsystem
- Developers planning architectural changes or refactors
- Code reviewers needing to understand system design
- Teams documenting subsystem behavior
how FAQ
Use 'how' to understand architecture, code flow, and placement. Use 'why' for motivation and design decisions.
No, the skill runs in read-only mode and only explores and explains.
The skill states its interpretation of the scope and explores; you can redirect if needed.
Simple questions cover a single module or narrow scope and are answered in one pass. Complex questions span multiple files or services and trigger parallel exploration followed by synthesis.
Full instructions (SKILL.md)
Source of truth, from cursor/plugins.
name: how description: "Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer"). Explains subsystem architecture, runtime flow, onboarding mental models. Use why for motivation." disable-model-invocation: true
How
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.
Related skills
More from cursor/plugins and the wider catalog.

interrogate
Spawn multiple LLM reviewers to adversarially challenge code changes from independent angles.

loop-on-ci
Monitor PR checks and fix failures until green using gh pr checks.

maintain-verification-skill
Audit and refresh a project's verification skill to keep its feature map aligned with current source and behavior.

make-pr-easy-to-review
Clean up PR history, improve descriptions, and guide reviewers without changing code behavior.

new-branch-and-pr
Create a focused branch, implement changes, and open a pull request with test notes.

no-comments
Remove unnecessary comments and encode constraints by spawning Comment Sicko analysis.