用途
本技能用于对现有软件代码库进行逆向工程,理解其架构、数据流、隐私姿态与功能面,然后产出一份干净室(clean-room)设计文档。
适用场景:
- 存在参考实现,需要理解其架构以获取设计灵感
- 需要为同一问题领域的系统编写 PRD、设计文档或规格说明
- 输出必须是干净室的:不得复制参考代码库的任何源代码样本
- 正在设计一个架构约束(本地优先、隐私优先、自托管)与参考不同的系统
- 需要提取隐式契约——代码库执行的存储操作——以设计正式的提供者抽象
不适用场景:直接代码审查、缺陷排查或安全审计(应使用专门的调试技能);简单的工具或库评估(应使用 spike)。
主要能力
工作流分为七个阶段:
-
仓库克隆与结构映射:使用浅克隆获取目标仓库,映射顶层目录结构,识别每个目录的语言/框架、属于前端/后端/服务/固件/支持、以及是核心组件还是支持性组件。
-
识别关键架构文件:按行数排序找出最重的文件(承载核心逻辑),优先阅读入口点、数据模型、核心服务、UI/页面文件、配置、隐私敏感文件,共 15-25 个。
-
架构映射:对每个核心服务识别其捕获内容、处理位置(本地/云端)、存储位置、外部依赖、隐私画像。使用 Mermaid 语法构建图表,用子图表示云/本地边界。
3b. 接口提取模式(DAO/提供者契约设计):当目标是提取隐式契约(代码库需要数据库或存储层提供哪些操作)时,按五步执行:先阅读 PHILOSOPHY.md、DESIGN.md 等设计约束文档;编目每个存储操作(节点 CRUD、边 CRUD、向量 KNN、图遍历、维护、事务);识别因底层限制而产生的变通方案(双写、维度不匹配回退、全表加载、递归 CTE、try/except 快慢路径切换等);从编目设计抽象接口;用双提供者证明验证抽象。
-
功能面盘点:通过阅读 UI 视图、页面和引导屏幕,按类别映射每个面向用户的功能:捕获、处理、AI、存储、集成、插件。
-
干净室规格撰写:最关键阶段。输出文档必须在不引用或复制源代码的情况下描述架构模式,用自然语言描述组件交互,按架构层而非行号或变量名引用原代码库,绝不包含源代码片段。结构包括:产品愿景与设计原则、架构概览(Mermaid 图)、功能需求(编号)、非功能需求、技术架构、插件/扩展 API 规格、隐私架构细节、发布标准。
-
打破约束:在新设计约束下重新构想系统时,识别参考架构中每个强制云依赖,找出本地替代方案,为同时支持本地和云端的接口指定开放标准,将隐私侵入性模式标记为禁止机制。
-
交付后 QA:验证链接完整性、图表渲染(确认无 ASCII 制表符残留)、代码污染检查、交叉引用审计。
使用方式
该技能以工作流形式执行,从浅克隆目标仓库开始:
git clone --depth=1 https://github.com/owner/repo /tmp/target-repo
随后按阶段推进:映射结构、识别关键文件、绘制架构图、盘点功能、撰写规格、重新设计约束、执行 QA。所有图表必须使用 ```mermaid 代码块,禁止 ASCII 方框绘图和图片文件。
适用场景
- 需要理解参考实现架构以获取设计灵感
- 为同领域系统编写 PRD 或设计规格
- 在本地优先、隐私优先、自托管等新约束下重新设计系统
- 提取存储层隐式契约以设计提供者抽象
限制
- 不适用于直接代码审查、缺陷排查或安全审计
- 不适用于简单的工具或库评估
- 输出文档不得包含参考代码库的任何源代码片段
- 若输出包含可识别的参考代码模式,必须提升抽象层级重写
- 参考资料中提及的 references/interface-extraction-pattern.md 为完整示例,基于 cashew 思维图库(MIT,GitHub 公开)