mcpField
A
architecture-survey

architecture-survey

github.com/yeachan-heo开发40.4k139 次安装1 天前更新
代码仓库

关于 architecture-survey

architecture-survey 是用于审查代码库的技能,通过模块边界、调用方和提交历史,找出日益难以修改的部分。它按优先级列出深化建议、证据和风险,但不会修改代码。

主要功能

  1. 01调查模块边界与提交历史
  2. 02识别浅层模块和假设性边界
  3. 03检查行为是否位于不恰当的边界
  4. 04按证据和风险排列发现
  5. 05推荐优先深化的候选项
  6. 06保持代码库不变

适用场景

  1. 01一批工单完成后寻找重构机会
  2. 02调查日益难以修改的区域
  3. 03为架构决策准备证据

安装

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

$npx skills add https://github.com/yeachan-heo/oh-my-claudecode --skill architecture-survey

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

详细介绍

测量员测绘暗礁;船长决定是否疏浚。 测量员读取水域,带着证据报告所见,然后停下。它是 loft 的维护孪生:loft 在构建前回答一个设计问题,而 survey 在构建后回答“这个仓库在哪里变得越来越难改,以及什么会加深它”。

何时进行 survey

  • 定期进行 —— 每隔几天活跃构建后,或一批工单落地后。
  • 在非轮次时,当仓库开始感觉比上周更难改时:编辑触及的文件比应有的更多,接口为了满足单个调用方而不断增长,测试因无关原因必须同步更新。

可选参数将 survey 缩小到某个目录或区域;没有参数时,survey 整个仓库。

survey

  1. 阅读仓库的架构原则(CLAUDE.md、ADR)以及 docs/standards/architecture.md 中预置的接缝词汇表 —— seam 和 deep module 的定义。
  2. 遍历目标区域的模块图 —— 当没有给出方向时,将遍历偏向船厂的繁忙水域:先阅读相当一段提交历史,让反复出现的区域牵引 survey,因为加深会在未来编辑落点处见效。没有热点、分散的历史会扩大范围。
  3. 寻找三类发现:
    • 浅模块 —— 宽接口、薄行为;调用方知道的比模块隐藏的更多。
    • 假设性接缝 —— 仅由一个适配器跨越、没有第二个调用方的边界;可通过计数调用方检查。
    • 错误接缝背后的逻辑 —— 行为位于不拥有其数据的边界远侧。

对每个可疑对象应用拆除测试:如果移除该模块,其复杂性会消失(一个穿着制服的直通模块),还是会重新出现在其调用方中(承重)?只有承重的浅薄才算发现。

报告

按杠杆与风险对候选者排序。每个候选者包含:

  • 证据 —— 接口、其调用方和行为的 file:line。
  • 加深动作 —— 要加深、合并或移动什么,用一句话说明。
  • 风险说明 —— 该动作触及什么,可能破坏什么。

每个候选者都陈述船厂共享的发现词汇 —— severity(浅薄造成多少摩擦)、confidence(survey 发现属于启发式类别,因此按构造就是低的;可机械检查的一端属于 drydock --check 审计)、以及 actionable(加深动作是否具体到可以仅凭报告就开始)。报告以首要建议结束:首先加深哪一个候选者,以及为什么 —— 船长只读一张卡片,而不是整个暗礁。

日志冲突。 与现有 ADR 相矛盾的候选者,只有在摩擦真实存在时才被提名:卡片说明该 ADR 以及水域为何改变。理论冲突不进入报告 —— 日志的否决默认不被重新争论。

当船厂有图表技能时,报告可以用仓库的图表技能可视化呈现;无论哪种方式,文字报告仍是事实来源。

交接

报告是决策输入,不是工作本身。候选方向会为任务简报(launch 第一阶段)提供素材,或成为下一轮工作的质询材料。调研负责提议;船长负责决断。

当场质询首选候选方向。 当船长希望立即基于调研采取行动,而不是将其归档时,报告的首选建议会成为同一场会话中设计树访谈的第一个问题——当场运行 launch 第一阶段的前沿协议:深化这个候选方向会涉及什么,代价是什么,它能解锁什么。证据是新鲜的,船长也在场;此刻处理的一项发现就是一项已决断的工作,而不是一份等着过期的报告。调研本身仍然不做任何编辑——由访谈做出决定,交付则走 launch 自己的关卡。

船长以关键理由拒绝的候选方向会作为 ADR 提出——采用与 launch 相同的 ADR 测试(难以逆转、脱离上下文会令人意外、是真正的权衡取舍)——这样下一次调研就不会再次提名同一处暗礁。若没有这样的理由就被拒绝,它便就此沉没。

非目标

  • 不编辑代码。 调研从不重构,哪怕“趁热打铁”也不行。
  • 不是关卡。 任何事都不因报告而阻塞。
  • 不并入 drydock 漂移审计。 --check 严格保持可机械检查——仅限高置信度发现。架构判断是低置信度启发式;把它混入会稀释这一契约。

完成定义

当报告存在,且每项发现都附有证据、排名和风险说明——并且没有任何文件被修改时,调研即告完成。

评论

支持 Markdown