how
- Use it when:
- You ask how something works, want a walkthrough before changing code, or ask where code should live and which package owns it.
- It does:
- Sends one read-only subagent for a narrow question; for a subsystem, two to four explorers on separate angles, then one explainer.
- You get:
- An explanation in sections: overview, key concepts, how it works, where things live, gotchas.
- Unlike why:
- That one, its companion in pstack, digs up the motivation behind the code rather than what it does.
- Runs:
- Only when you call it.
Skill 1 of 14 in the pstack bundle, before why.
Written for Cursor's subagents and model names; the pstack plugin for Claude Code installs an adapted copy.
TL;DR
Part of pstack, Lauren Tan's agent workflows in Cursor's plugin repo. It aims for a working mental model of a subsystem, not something that reads like annotated source. A simple question, such as one module, a small utility or one function, goes to a single explainer subagent that explores and explains in one pass. A complex one, such as a subsystem across files or services, a cross-cutting feature or a full architectural overview, is split into two to four distinct angles, each explored by its own subagent at the same time, and one explainer writes the answer from their findings. When in doubt, it takes the simple path, and when the scope is ambiguous it states its reading and goes ahead so you can redirect. The agent presents the explainer's output with only light edits. Every subagent is read-only. Models come from pstack's model rule when it's set, otherwise Grok for the explorers and Claude Opus for the explainer.
Summarizes the skill at 8ecfb19.
npx skills add https://github.com/cursor/plugins --skill how skills.sh pageSource on GitHubAll skills from cursor/plugins
- Total Downloads
- 6,700 on skills.sh, Nov 9, 2026
- Repo stars
- 15,776 cursor/plugins
- First seen
- May 24, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 411 |
| Sep 28 | 492 |
| Oct 5 | 585 |
| Oct 12 | 563 |
| Oct 19 | 611 |
| Oct 26 | 508 |
| Nov 2 | 392 |
| Nov 9 | 342 |
| Category |
Test-first work, implementation from specs, git hygiene and scope control. Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills. |
|---|---|
| Type |
A multi-step process the agent follows: interview, debug, run a TDD loop, review. |
| Effect |
Adds no side effects of its own. It shapes how the agent thinks, writes or reviews. Guidelines and routers are always effect:none, even when the task they support edits code. |
| Needs |
Relies on the agent being able to spawn subagents. |
| Publisher |
Everyone else. Unverified vendor claims default to community. |
| Topics |
SKILL.md
From cursor/plugins at 8ecfb19. Checked daily, last changed Nov 6, 2026.
Frontmatter
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: trueHow
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.
Every spawn is a Task subagent with subagent_type: generalPurpose and readonly: true. Explorers use the how explorer line in the pstack-models.mdc rule (default grok-4.7-xhigh-fast), and every explainer uses the how explainer line (default claude-opus-5-5-xhigh). 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. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the poteto-mode skill.
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. Spawn one explainer that explores and explains in one pass, built from
references/explainer-prompt.mdwithout the explorer-findings section. Go to step 4. - Complex (a subsystem spanning multiple files or services, a cross-cutting feature, a full architectural overview): go to step 2.
When in doubt, take the simple path.
2. Explore (complex only)
Decompose the question into 2 to 4 angles, each a distinct slice of the subsystem. Spawn all explorers in a single message, each with references/explorer-prompt.md and its angle filled in.
3. Synthesize (complex only)
Once all explorers have returned, spawn one explainer with references/explainer-prompt.md and every explorer's findings filled in.
4. Present
Present the explainer's output. 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.