关于 how
how 是用于探索代码库并解释子系统工作方式的开发技能。它根据问题范围调整探索流程;复杂主题会并行调查,再综合各方发现。
主要功能
- 01探索代码库
- 02按范围评估问题复杂度
- 03并行调查复杂系统
- 04综合探索结果
- 05按结构组织架构说明
适用场景
- 01熟悉陌生子系统
- 02梳理跨模块功能的工作方式
- 03回答有关单个模块的具体问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mdsmithaustin/ pstack --skill how安装后在 Claude Code 中输入/how确认已加载。
附带文件references/explainer-prompt.mdreferences/explorer-prompt.md
详细介绍
工作原理
探索代码库,回答“X 是如何工作的?”之类的问题。提供架构层面的说明,帮助资深工程师了解某个子系统,内容应足以建立可用的心智模型,但不要详尽到像带注释的源代码。
每个派生任务都是只读的 general-purpose 子 Agent。探索者使用 pstack 模型配置中的 how explorer 行(默认值为 sonnet),每个讲解者使用 how explainer 行(默认值为 opus)。调用 Skill 工具并传入 pstack-harness,以解析每个派生任务的模型、工作强度和 Agent 类型。其 Spawn a role 部分还介绍了缺失配置、inherit-parent 和被拒绝的值。
1. 评估复杂度
如果范围不明确,请说明你的理解并展开探索。用户可以纠正方向。
- 简单(单个模块、小型工具,或“函数 X 是如何工作的?”之类的具体问题):不派生探索者。派生一个讲解者,让它基于
references/explainer-prompt.md和 Direct exploration 指令,一次性完成探索和讲解。省略 Explorer Findings 和 Synthesis。前往第 4 步。 - 复杂(涉及多个文件或服务的子系统、横切功能或完整的架构概述):前往第 2 步。
如有疑问,选择简单路径。
如果仓库包含 GitNexus 索引(存在 .gitnexus/),且 gitnexus 位于 PATH 中,请先刷新索引——在派生任何任务前自行运行一次 gitnexus analyze --index-only(该命令是增量式的,索引最新时不会执行操作;切勿在并行任务中运行)。然后开始探索:使用 gitnexus query "<concept>" 查询执行流程,使用 gitnexus context <symbol> 查询调用方和被调用方,使用 gitnexus trace <from> <to> 查询两个符号之间的路径。图谱结果用于确定要阅读的代码;代码本身才是事实依据——索引反映的是最近一次分析时的提交,不会包含未提交的修改。如果没有索引或 CLI,请按常规方式探索。对于没有索引但 gitnexus 位于 PATH 中的仓库,在回答复杂问题后,可以向用户建议运行一次 gitnexus analyze,以便今后继续探索值得研究的仓库。
2. 探索(仅限复杂问题)
将问题拆分为 2 到 4 个角度,每个角度都应是该子系统中独立的部分。在一条消息中派生所有探索者,并为每个探索者提供填入相应角度的 references/explorer-prompt.md。
3. 综合(仅限复杂问题)
所有探索者完成后,派生一个讲解者,并提供每位探索者的发现,以及填入综合指令的 references/explainer-prompt.md。省略 Direct exploration。
4. 呈现
呈现讲解者的输出。可以根据清晰度或对话背景做少量修改,但不要大幅改写。
输出格式
说明应采用 references/explainer-prompt.md 中定义的章节,并省略不适用的章节:概述、关键概念、工作原理、代码位置、注意事项。