SuperAPI AI 工具集

friction-review

编程与开发

查看项目

更新于 10-16 02:44

技能介绍

用途

Friction Review 是一个“摩擦编排器”(friction orchestrator),用于对设计类产物进行多轴对抗式审查。它接收一份产物——可以是规格说明(spec)、计划(plan)、ADR、服务设计、数据库 schema,或任何设计文档——将其路由给 5 个专门的审查子代理,收集它们各自独立的评估,并生成一份合并后的摩擦报告,供人工仲裁。

主要能力

该技能围绕五个审查轴组织,每个轴由一个独立子代理负责:

  1. 架构审查(Architecture Reviewer):关注系统边界、分层、抽象、SOLID 原则、数据流、服务契约、命名。
  2. 实现审查(Implementation Reviewer):关注代码模式、技术可行性、gem 选择、ActiveRecord 模式、N+1 风险、数据类型、回调使用、服务对象设计、TypeScript/Rails 约定。
  3. 可测试性审查(Testability Reviewer):关注测试覆盖缺口、边界情况、factory 复杂度、隔离难度、难以测试的路径、缺失的验收标准、不清晰的前置条件。
  4. 安全审查(Security Reviewer):关注认证、授权、OWASP Top 10、数据暴露、输入校验、批量赋值、SQL/提示注入、XSS、敏感数据处理、审计日志缺口。
  5. 简洁性审查(Simplicity Reviewer,YAGNI/KISS 执行者):关注过早抽象、不必要的复杂度、过度工程、范围蔓延,以及在不损失正确性的前提下可以更简单的地方。

每个子代理被要求使用且仅使用四个摩擦标记:

  • [sound]:有充分依据,在该轴上无异议。
  • [contestable]:有效但存在替代方案,需简要说明。
  • [blind_spot]:产物应当处理却未处理的内容。
  • [refuted]:该轴上的错误,需说明原因及会破坏什么。

每个子代理返回 5–10 条带标记的要点式发现。各子代理还带有明确的禁止事项,以避免越界评论其他轴的内容。

使用方式

该技能以斜杠命令形式调用,产物通过 $ARGUMENTS 传入。执行流程如下:

  1. 读取产物:如果 $ARGUMENTS 是文件路径,则读取该文件并完整保留内容;如果是描述,则直接使用;如果未提供参数,则先询问用户要审查什么。若产物引用或导入了其他文件(schema、service、config),也一并读取,以构建完整上下文。
  2. 并行启动全部 5 个审查子代理:在单条消息中同时启动,每个提示词中传入完整产物内容,不等待前一个完成。子代理使用只读工具(Read、Grep、Glob)。
  3. 合并为摩擦报告:所有子代理返回后,按固定结构汇总,包含五个轴各自的发现、需要仲裁的条目(跨轴争议或关键盲点)、既定条目(跨 3 个以上轴为 [sound]),以及下一步建议。

编排器规则包括:不自行解决仲裁、不跳过任何审查者、不把摩擦“总结掉”(逐字报告子代理发现)、若某轴无发现则明确说明、若产物过于模糊则先停下询问。

适用场景

适用于在实现之前对设计产物做对抗式评审,尤其适合 Rails/TypeScript 项目中的规格、计划、ADR、服务设计与 schema 评审。它强调暴露冲突而非合并冲突,最终由人做仲裁决定。

限制

  • 该技能不自行裁决冲突,只呈现摩擦,需人工仲裁。
  • 各子代理被限制在各自轴内,不跨轴评论。
  • 若产物过于模糊,会停止并询问,而非继续。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。