mcpField
H
how

how

github.com/angusfretwell开发140 次安装3 天前更新
代码仓库

关于 how

how 是用于探索代码并构建实现依据清晰的系统心智模型的技能,面向正在熟悉代码的资深工程师。它引导拆分问题、追踪实现并综合发现。

主要功能

  1. 01将问题拆分为关联代码的角度
  2. 02分派专注代码探索的子 Agent
  3. 03将发现追溯到文件和符号
  4. 04综合发现形成心智模型
  5. 05为多步骤流程绘制图表

适用场景

  1. 01熟悉陌生子系统
  2. 02理解跨文件执行流程
  3. 03定位关键抽象和实现文件
  4. 04记录已验证行为及未解问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/angusfretwell/skills --skill how

安装后在 Claude Code 中输入/how确认已加载。

附带文件references/explorer-brief.md

详细介绍

交付内容是一份心智模型:面向刚加入该子系统的资深工程师进行说明,但不深入到带注释的源码。文中的每项陈述都追溯到具体实现。

1. 明确问题

从调用中,或从本次讨论的主题中提取问题。范围不明确时,用一句话说明你的理解,然后继续。

将问题拆分为若干角度,每个角度对应子系统的一个独立部分:若只涉及单个模块或函数,则设一个角度;若子系统横跨多个文件或服务,则设二到四个角度。拿不准时,少设一些。

完成标准:每个角度都指出一个可作为切入点的文件或符号,且问题的各个部分都归入某个角度。

2. 探索

在一条消息中,为每个角度分派一位探索者(subagent_type: Explore,搜索广度为 very thorough)。每条提示都包含 references/explorer-brief.md 的路径、问题和该探索者负责的角度。

完成标准:每份回复都将其负责的角度追溯到代码,并为每个组件和流程步骤提供文件路径。若探索者只列出了名称,则重新分派。

3. 说明

综合发现,形成一个心智模型。对于重复的发现,将其合并;对于相互矛盾的发现,亲自阅读代码来确认。按照 /humanize 的要求撰写,并且:

  • 指明具体对象:“UserService 调用 AuthClient.refresh()”,不要说“该服务委托给客户端”。
  • 对于复杂之处,解释其原因;对于简单之处,用一句话说明。
  • 当流程跨越多个组件,或数据在各阶段发生变化时,绘制 Mermaid 图。

使用以下各节;只有当探索者的发现中没有相关内容时,才省略相应章节:

  • 概览:一到两段。说明它是什么、做什么,以及为何存在。提供足够的信息,让读者判断是否要继续阅读。
  • 关键概念:逐行定义其余内容所依赖的类型、服务和抽象。
  • 工作原理:篇幅最长的一节。说明由什么触发、逐步发生了什么、数据流向何处,以及决策点在哪里。使用带文件和函数引用的文字说明;只有在确有必要时才提供代码片段。
  • 代码位置:列出读者最先会打开的两三个文件,并说明每个文件的重要性。
  • 注意事项:指出可能让新成员措手不及的非显而易见发现。
  • 待解问题:将探索者无法追溯的链接列为未知事项,不要猜测补全。

完成标准:探索者的每项发现都得到处理:予以采用、与其他发现合并,或作为资深工程师入门时无须了解的细节舍弃。

评论

支持 Markdown