How

SkillAI & models

Explains how a piece of code works, walking through architecture and answering where new logic should live.

Available today. Use it from your connected AI after setup.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the How skill

About this skill

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 motiva

What this skill tells your AI

The instructions your AI receives, as published by backnotprop/pstack in skills/how/SKILL.md and read by ahel’s review.

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.

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.

Other harnesses. The spawns in this skill use Cursor's Task tool. In another harness, use its subagent tool: Agent in Claude Code (subagent_type: general-purpose), task in OpenCode (subagent_type: general), spawn_agent in Codex. Keep the prompt and the model. Drop parameters your tool doesn't have. If your harness has no subagent tool, as in Pi without an extension, run each role yourself, one after another. "Your configured ... model" means the matching line in the pstack settings file. Cursor loads ~/.cursor/rules/pstack-models.mdc automatically. In other harnesses, read ~/.agents/pstack-models.md if it exists.

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: generalPurpose
  • model: your configured how-explorer model (default grok-4.6-fast-xhigh)
  • readonly: 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: generalPurpose
  • model: your configured how-explainer model (default claude-fable-5-1-thinking-max)
  • readonly: 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: generalPurpose
  • model: your configured how-explainer model (default claude-fable-5-1-thinking-max)
  • readonly: 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.

Signals

GitHub stars
646
Forks
55
Last commit
Sep 2026
Advanced
Item type
skill
Key
how-backnotprop
Source
github.com/backnotprop/pstack