关于 how
用于探索代码库并解释子系统工作方式的技能,面向需要建立架构认知的工程师。它规定只读子 Agent 的探索方式,并组织解释内容。
主要功能
- 01探索代码库
- 02按复杂度安排调查
- 03只读子 Agent 指引
- 04结构化架构说明
适用场景
- 01了解陌生子系统
- 02追踪功能的工作方式
- 03熟悉代码库
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ michael-denyer/ pstack-claude --skill how安装后在 Claude Code 中输入/how确认已加载。
附带文件references/explainer-prompt.mdreferences/explorer-prompt.md
详细介绍
如何运作
在 Codex 上,遵循此技能前,请阅读平台映射,包括其中针对各技能的说明。
在 GitHub Copilot 上,遵循此技能前,请阅读平台映射,包括其中针对各技能的说明。
在 Muse 上,遵循此技能前,请阅读平台映射,包括其中针对各技能的说明。
探索代码库,回答“X 是如何运作的?”这类问题。提供架构层面的说明,达到高级工程师熟悉某个子系统所需的程度,足以建立可用的心智模型,但不要写得像带注释的源代码。
每次派发都是一个 Agent 子 Agent,且 subagent_type: "general-purpose"、readonly: true。探索者使用 pstack-models.md 中的 how explorer 行(默认值见 模型),每位讲解者使用 how explainer 行(默认值见 模型)。将 model 设为该行的值;如果表格或该行缺失,则使用默认值。如果值为 auto 或 inherit-parent,则不设置 model。如果 Agent 工具拒绝某个模型标识符,则使用默认值并说明。如果它拒绝默认值,则从错误消息中选择同系列最接近的有效标识符。根据 poteto-mode 技能中的“子 Agent”部分,为每个子 Agent 选择适合任务的推理级别。
1. 评估复杂度
如果范围不明确,请说明你的理解并进行探索。用户可以纠正方向。
- 简单(单个模块、小型工具,或“函数 X 如何运作?”这类范围较窄的问题):不使用探索者。派发一位讲解者,让其一次性完成探索和讲解;根据
references/explainer-prompt.md编写提示词,但不包含探索者发现部分。转到第 4 步。 - 复杂(跨多个文件或服务的子系统、横切功能或完整架构概述):转到第 2 步。
不确定时,选择简单路径。
2. 探索(仅限复杂问题)
将问题拆分为 2 到 4 个角度,每个角度对应子系统的一个不同部分。使用 references/explorer-prompt.md,填入各自的角度,并在同一条消息中派发所有探索者。
3. 综合(仅限复杂问题)
所有探索者返回后,派发一位讲解者,使用 references/explainer-prompt.md 并填入所有探索者的发现。
4. 展示
展示讲解者的输出。可以根据清晰度或对话背景稍作编辑,但不要大幅改写。
输出格式
讲解应采用 references/explainer-prompt.md 中定义的章节;不适用的章节可以省略:概述、关键概念、工作原理、代码位置、注意事项。
模型
角色默认值来自 plugins/pstack/models.json(在该文件中编辑,然后重新运行 tools/generate.mjs)。运行时,pstack-models.md 覆盖表中匹配的角色行会覆盖相应默认值;/setup-pstack 会写入该文件,并按运行时列出其路径。
- how explorer:
opus - how explainer:
opus
推理强度
覆盖表中的角色值可以在模型名称后指定推理强度,例如 opus @xhigh。Claude Code 支持的级别有:low、medium、high、xhigh、max。适用级别取决于模型。不带 @ 的值使用表中的 default effort 行;该行可以是某个级别或 session,若表中没有此行,则使用 session。session 表示不设置推理强度,因此派发方式与通常相同。在读取模型名称前,应去掉后缀:无论处于哪个级别,inherit-parent 或 auto 都不设置 model,而模型名称则作为 model 传递。将级别作为派发调用的推理强度字段传递,并保留原本会使用的 subagent_type。Claude Code 的 Agent 调用使用 effort,Codex 的 spawn_agent 使用 reasoning_effort。在 Muse 上,Workflow 子任务使用 effort;subagent_spawn 派发则沿用会话的推理强度。