1实现原理 · 为什么它能做到
纯 prompt 编排、零脚本零资产:how 的 SKILL.md 只规定『如何拆解与委派』,所有读代码的动作都交给宿主 Task 子代理,自带两个 prompt 模板(explorer/explainer)作为唯一参照物。
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.
复杂度路由:简单问题单遍 explainer 直出;复杂问题先按 2-4 个角度并行派 explorer 切片深挖,再交给 explainer 合成;拿不准默认走简单路径。
**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.
explorer 全部只读、并行、一次消息齐发:每路一个 generalPurpose 子代理,model 取配置(默认 grok-4.6-fast-xhigh),readonly 恒为 true——探查层被设计成无副作用的事实采集器。
Decompose the question into 2 to 4 exploration angles, each a distinct slice of the subsystem. Spawn all explorers in a single message
explorer 产出是固定结构的事实契约(Components Found / Flow / Files Read / Boundaries / Non-Obvious Things / Open Questions),并把『读代码不许猜』与『诚实承认断点』写成硬要求。
Start by finding the relevant code. Use Glob to find directories and files, Grep to find key symbols, Read to understand the actual implementation. Don't guess from names. Read the code.
explainer 负责调停与再验证:多路 explorer 发现重叠或矛盾时,explainer 先自行查码消解再写解释,且被授予只读复查权(Read/Grep/Glob),不需要从零重探。
Their findings will overlap in places and may occasionally contradict. Reconcile them. Merge overlapping descriptions, resolve contradictions by checking the code yourself, and combine the separate slices into a unified picture.
输出格式与呈现纪律:解释按固定章节(Overview/Key Concepts/How It Works/Where Things Live/Gotchas,可裁剪),复杂流允许 mermaid/ASCII 图但禁装饰性图;前台只做轻度润色,禁止大幅改写。
Present the explainer's output to the user. Light edits for clarity or context from the conversation are fine. Do not substantially rewrite it.
触发面收窄为用户显式调用,且模型角色可配置:frontmatter 声明 disable-model-invocation: true,模型默认值可被 pstack 常驻模型规则覆盖。
disable-model-invocation: true
2核心能力
4风险提醒 风险提醒:蓝色 · 知晓即可
- readonly 是提示词级约束:若宿主对 Task 子代理不做强制只读隔离,探查者可读范围等于宿主授权,理论上可越出仓库。 — readonly: true 为 SKILL.md 声明值,非宿主强制机制 [INFERENCE]
- 解释质量强依赖模型:并行切片若各自误读,explainer 的『自行复查消解』是唯一纠错闸,模型弱时会放大共识性误读。 — explainer-prompt.md 只授权复查,不强制全量重读
- 知识时效性:结论只对当前 checkout 有效,代码库漂移后旧解释会误导;skill 无刷新机制(每次现读,属设计使然)。 — 无缓存/版本化机制
5第二遍独立确认
- [ok] 纯 prompt、无脚本资产 — 技能目录仅 SKILL.md + references/explorer-prompt.md + references/explainer-prompt.md 三个 markdown,无 scripts/data/模板之外文件。
- [ok] 复杂度路由与默认简单路径 — SKILL.md 原文 'When in doubt, take the simple path.' 存在;Simple→2b、Complex→2a→3 的流程编号自洽。
- [ok] 2-4 路并行 explorer + 单一 explainer 合成 — 原文 'Decompose the question into 2 to 4 exploration angles'、'Spawn all explorers in a single message'、'synthesize their findings into one explanation' 逐字在。
- [ok] readonly 贯穿 — Step 2a/2b/3 三处均列 '- `readonly`: `true`';模板无任何写盘/执行指令。
- [ok] explorer 输出契约与反编造要求 — explorer-prompt.md 含完整小节标题(Components Found 等六个)、'Don't guess from names. Read the code.'、以及 'is better than making something up' 原文。
- [ok] explainer 调停矛盾 + 只读复查 — 原文 'resolve contradictions by checking the code yourself' 与 'You have read-only access to the codebase' 均在。
- [ok] 输出格式/呈现纪律 — SKILL.md 列出的五章节与模板 Output Format 一致;'Light edits for clarity…do not substantially rewrite it.' 逐字存在。
- [ok] 模型可配置(how-explorer/how-explainer) — how 内仅声明默认值;配置写入/读取路径在 setup-pstack(写 ~/.cursor/rules/pstack-models.mdc)与 interrogate/arena/swarm(读同文件)一致,机制真实存在;角色键 how-explorer/how-explainer 的逐键映射未在 pstack 内单点列出,属『规则文件按角色键注入』的通用机制 [INFERENCE],已在正文限定表述。
6结论
ee70ff35028506ef…df3fb154fb