mcpField
H
how

how

github.com/mdsmithaustin开发8189 次安装今天更新
代码仓库

关于 how

how 是用于探索代码库并解释子系统工作方式的开发技能。它根据问题范围调整探索流程;复杂主题会并行调查,再综合各方发现。

主要功能

  1. 01探索代码库
  2. 02按范围评估问题复杂度
  3. 03并行调查复杂系统
  4. 04综合探索结果
  5. 05按结构组织架构说明

适用场景

  1. 01熟悉陌生子系统
  2. 02梳理跨模块功能的工作方式
  3. 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 中定义的章节,并省略不适用的章节:概述、关键概念、工作原理、代码位置、注意事项。

评论

支持 Markdown