cochange-churn
静态切面看不到的架构问题,往往在**版本历史**里暴露。这是来自代码审查 git-history lens 的高信号视角。仅当处于 git 仓库时启用。
经典原则做交叉验证。**这一 lens 最容易产出假阳性(教科书式建议)——严格用置信度门控,不报"理论上更优雅但无实际危害"的项。**
$ npx -y skills add AgentsMesh/AgentsMesh --agent claude-codeHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
经典原则做交叉验证。**这一 lens 最容易产出假阳性(教科书式建议)——严格用置信度门控,不报"理论上更优雅但无实际危害"的项。**
经典原则做交叉验证。**这一 lens 最容易产出假阳性(教科书式建议)——严格用置信度门控,不报"理论上更优雅但无实际危害"的项。**
违规:一个类同时处理业务逻辑+持久化+UI渲染;工具文件包含不相关函数集合;服务类承担过多业务领域。
违规:大量 if-else/switch 判断类型;添加新功能需修改核心类;硬编码业务规则。
违规:子类抛出父类未声明的异常;子类方法返回更窄类型;子类重写改变了语义。
违规:接口 10+ 方法;实现类大量空方法/NotImplemented;接口混合不同角色职责。
违规:直接 new 具体类而非注入;import 具体实现而非接口;循环依赖。
| 模式 | 检查要点 | 典型违规 | |---|---|---| | **信息专家** | 职责给拥有所需信息的类;数据与行为同位 | 大量 getter 后在外部处理逻辑;贫血数据类 + 全能服务类 | | **创建者** | 对象创建职责分配合理;工厂得当 | 到处 new;创建逻辑与业务逻辑混合 | | **控制器** | 薄而专注,只接收+协调,不含业务逻辑 | 控制器 > 100 行;直接操作数据库;含复杂业务逻辑 | | **低耦合** | 模块间依赖最小化;用事件/消息解耦 | 一个改动引发大量文件修改;模块直接互引 | | **高内聚** | 类内元素紧密相关;方法操作相同数据 | 类中方法操作不同数据集;难以一句话描述职责 | | **多态** | 用多态替代条件判断 | 大量 instanceof/typeof;switch 判断对象类型 | | **纯虚构** | 辅助类设计合理,不破坏领域模型 | 过多 Helper/Util;服务类变上帝类 | | **间接性** | 中间层确实降低耦合,不过度间接 | 为解耦而过度抽象;调用链过长难追踪 | | **防变异** | 变化点被接口隔离;外部依赖被封装 | 外部 API 直接渗透业务层;第三方库耦合核心 |
**You Aren't Gonna Need It.** 审查时**推销抽象 = 违反 YAGNI**,这是架构审查最大的自我失败模式。
**精简硬标准:**
违规:空接口"为将来准备";复杂配置系统只用一种配置;泛型工厂只生产一种产品;未使用的参数/方法;注释掉的"备用"代码。
> 自检:当你想建议"加一个接口/工厂/抽象层"时,先回答——**现在有几个真实实现?有几个已知的真实变化点?** 答不出 ≥2,就不要报这条。
The AI Agent Workforce Platform. Run a hundred AI coding agents across your own machines — schedule, isolate, and steer them all from one console.
Repo: AgentsMesh/AgentsMesh
静态切面看不到的架构问题,往往在**版本历史**里暴露。这是来自代码审查 git-history lens 的高信号视角。仅当处于 git 仓库时启用。
LLM 架构审查的头号失败模式:**凭空断言结构**——声称"A 依赖 B""这里有循环""X 被多处写",却没真去查。本文件给出强制接地原则 + 各语言的实际探测命令。
这是本 skill 最独特、最能抓**真实结构性 bug** 的 lens:职责归属、机制/策略分离、因果与不变量(并发/状态契约)、属性三分。