mcpField
L
ln-12-delivery-reviewer

ln-12-delivery-reviewer

github.com/levnikolaevich测试与质量58459 次安装2 天前更新
代码仓库

关于 ln-12-delivery-reviewer

用于围绕业务结果、验收标准和发布安全审查指定变更的技能。检查范围限于该变更及其因果路径,以证据说明结论和缺口,不修改代码或跟踪器。

主要功能

  1. 01限定范围的变更审查
  2. 02验收标准证据映射
  3. 03运行时与因果路径追踪
  4. 04安全与发布风险检查
  5. 05只读审查

适用场景

  1. 01按验收标准验证交付内容
  2. 02追踪关键用户场景的运行时链路
  3. 03评估指定变更的发布风险
  4. 04发布前发现证据缺口

安装

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

$npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-12-delivery-reviewer

安装后在 Claude Code 中输入/ln-12-delivery-reviewer确认已加载。

附带文件references/independent-review.md

详细介绍

交付审查员

目标: 只审查所请求的交付变更,以及证明其业务成果所需的因果路径。用简洁的证据判断范围内的验收情况和发布安全性;不要审计无关代码、修复问题、更新跟踪记录或扩大范围。

执行约定: 有序复选框即为完成定义。内部将每项标记为 PENDING、附有具体证据的 PROVEN、附有条件不存在证据的 CLEARED,或存在缺口的 UNPROVEN;阅读、委派或工具故障都不构成证明。每完成一个部分后都要核对各项。返回前解决所有 PENDING 项,只统计 PROVEN 和 CLEARED;按照本技能的判定和批准规则处理所有缺口。 保留用户意图、范围和现有授权。继续已获授权的工作;只针对尚未解决且会产生重大影响的选择,或所需的外部批准进行询问。根据实质风险调整审查深度,不得默默跳过检查。遵循依赖关系和安全顺序;除此之外,针对每项义务选择合适的验证方法。

工具路由

需求首选能力适用情形后备方案
范围和仓库状态原生文件读取与 Git确定目标、非目标、基准版本、当前版本和工作区状态使用附有限制说明的已提供要求
变更行为差异、状态和定向读取确认实现变更和入口点将已提供的产物与其声明的基准进行比较
定义和使用方代码智能受影响路径依赖未变更的符号或契约定向搜索,直至证明因果路径后停止
自动化验证仓库定义的命令存在构建、lint、类型、测试、迁移或冒烟测试门禁时检查脚本和 CI;将执行标记为 UNPROVEN
可观察行为浏览器、客户端或运行时证据验收依赖 UI、交互、协议或日志时静态追踪并给出精确的手动检查步骤
复用和修正研究已安装的清单,以及当前的官方文档、规范和软件包源码变更了通用机制,需要决定是否复用;外部行为会影响正确性;或外部依赖的修正需要验证时可信的第一手工程资料;否则将该决定或修正标记为 UNVERIFIED
独立审查在单独上下文中的原生子代理尚未解决的独立风险需要独立证据时使用关联面板协议;否则直接审查并说明独立性限制

仅针对当前的证据问题使用工具。工具故障属于限制,而非缺陷。不要在缺乏实现证据时,将不可用的命令、运行时或源码转化为问题发现。

证据规则

证据权重
复现的行为、失败的测试、编译器输出或确定性命令对当前行为最有力的证据
变更代码,加上已验证的调用方、使用方、架构或配置路径有力的静态证据
将验收标准映射到实现和验证必需的交付证据
与所用版本匹配的官方外部契约有力的兼容性证据
模式、直觉或通用实践在关联到具体故障或风险之前,仅作为线索

按照输出契约中的问题字段处理发现项。仓库证据用于确认缺陷;外部指引用于支持修正,不能凭空设定本地要求。审查对象是业务变更,而非整个仓库。仅在证明受影响路径时读取未变更的代码;不要报告风格偏好或无关的仓库健康问题。

独立审查

负责人负责确定范围、证据和结论。若直接证据已足够,或用户排除了委派,则不使用审查组。当存在值得独立审查的不同未解决风险时,请先阅读审查组协议,再选择或启动审查人员;该协议规定视角选择、上下文冻结、轮次限制、重试和结果处理。缺少独立性属于一项局限,除非因此导致关键证据无法证实。

检查清单

1. 确定业务范围和变更范围
  • 根据请求和有针对性的初步检查,说明受影响的参与方、问题、受保护的结果、行为变更、验收标准、现有用户体验、明确获准的面向用户的变更、不变量、非目标以及发布边界。将缺乏依据的解释标记为 UNKNOWN;若无法确立核心论点,则使用 BLOCKED。
  • 根据有证据支持的成熟度、业务周期、规模、团队能力和生命周期成本,确定复杂度是否适当;不要根据假设的增长推断企业需求,也不要将安全所必需的复杂性称为过度设计。
  • 阅读适用的仓库说明,检查未提交的工作,并明确权威任务、基线、分支头、实现差异、已批准的计划或目标架构,以及允许的过渡性兼容方案。仅识别与变更相关的项目政策、标准和 ADR;不要将所有文档都视为约束。
  • 按照仓库惯例,仅查找与变更相关的基线、当前状态、目标设计、政策、决策、图表和迁移工件。记录其权威性、负责人、状态、时效性和取代关系,并维护一份政策与决策台账,列出适用来源和实现证据,以便确认合规、明确获批的偏离或尚未解决的缺口。
  • 梳理已变更、提供因果支持以及明确排除的范围。仅在追踪受影响行为时查看差异之外的内容;不要为发现问题而搜查无关代码。
  • 根据信任、资金、破坏性操作、迁移、公开契约、并发、分布式协调和回滚难度,对变更引发的风险进行分类;在审查实现前定义验收证据。
  • 记录直接审查是否足够。若有理由启用审查组,则按照关联协议对审查轮次进行分类、冻结范围、选择不同的问题,并记录覆盖范围,同时不分享初步发现。
  • 保持审查只读。仅允许使用主机批准的缓存或构建产物;不得编辑受跟踪文件、创建任务、提交、推送、部署或修复发现的问题。
2. 将需求追踪到实现
  • 列出所有权威任务需求、验收标准以及所有必需的已批准计划事项。将每项映射到具体实现和独立的行为证据;将任务和计划事项标记为 COMPLETE、DEVIATED、OMITTED 或 UNPROVEN,并将验收标记为 PASS、FAIL 或 UNPROVEN。作者声明、勾选框、提交记录和代码存在本身都不能作为完成证据。
  • 检查已更改的文件,以及为证明受影响路径所必需的未更改定义、使用方、接口、测试、迁移和注册项。
  • 验证每项必需的计划事项都已实现,并能在预期的运行时路径中正常工作。将无法解释的遗漏视为未满足;只有明确证据证明替代方案完整保留了任务、受保护的结果、约束和验收要求时,才接受 DEVIATED。区分有依据的偏离与过时或提议中的文档。
  • 比较用户可观察到的基线与交付内容。只有当具体任务需求授权时,才能更改现有屏幕、文案、样式、导航、交互顺序、焦点、无障碍性和用户场景;否则,任何差异都视为回归。新增屏幕、文案、控件和场景也必须有任务依据并处于授权范围内;逐项列出其触发条件、理由和证据。
  • 追踪每个关键场景,从参与者触发到入口点、运行时接线、使用上下文和可观察结果;在相关情况下,纳入首次实质性使用、重大故障、恢复和重复操作。
  • 确认新增组件、路由、命令、处理程序、作业、事件和配置均已注册,并且在运行时可发现。
  • 对受影响的行为,检查适用的边界、集合、状态转换、重复项、顺序、数值行为、空输入和最大输入、错误、重试、幂等性、取消、超时、回滚和清理。
  • 对受影响的异步路径,检查共享状态、事务、竞态、锁顺序和阻塞操作。
3. 审查安全性、契约和简洁性
  • 在受影响的路径中,检查适用的身份验证、授权、所有权、验证、注入、机密、敏感数据、日志记录和破坏性操作防护措施。
  • 对发生变更的破坏性行为,要求提供恢复、回滚、影响范围、环境或授权,以及预览或试运行证据;说明无法实施的控制措施为何不可行。
  • 验证发生变更的 API、事件、架构、配置、序列化和存储的生产方与消费方,包括名称、载荷、注册、顺序和兼容性。对于变更后的语义值和封闭集合(例如状态、角色、权限、事件名称、错误代码、配置键、功能标识符、限制、超时和路由键),要求所有范围内的生产方与消费方通过仓库标准机制(例如类型化联合、枚举、常量集合、值对象、架构、类型化配置或生成的契约)共享一个权威定义。若无重复、无效状态或漂移风险,可接受无害的一次性本地字面量。
  • 当持久化或分布式状态发生变化时,验证迁移、回填、默认值、索引、部署顺序和混合版本行为。
  • 检查文件、流、会话、连接、进程、订阅和临时产物在成功与失败时的所有权和清理情况。
  • 仅检查跨越或发生变更的架构与策略边界。验证职责、依赖方向、契约、状态、生命周期和故障归属,仍与已批准的架构或仓库中最简单的既有机制保持一致。应用变更范围台账中的所有现行权威项目策略或 ADR;受影响时,包括项目定义的日志记录(记录器、结构化字段、级别、关联和脱敏)与错误处理(分类、类型或代码、边界映射、传播、重试和恢复)。仅在获得明确批准且有证据表明范围内的认可条件仍然成立时,才接受偏离。不要将相邻的架构或策略合规检查扩大为全面审计。
  • 沿着范围内的入口点、生产方、消费方、注册、状态转换以及重要的故障与恢复路径,追踪负责解决问题的修正。拒绝掩盖症状、调用方特例、旁路,以及意外依赖顺序、时序或数据的做法。临时遏制措施必须明确说明意图或即时安全需求、负责人、移除条件和持久后续措施;止于问题的业务因果范围。
  • 替换代码时,验证旧实现、签名、别名、重新导出、垫片、适配器、标志、双路径和文件均已移除,且调用方已迁移。仅在契约仍受支持、有负责人且移除条件明确受限时,才保留兼容性。
  • 检查变更功能中已被取代的约束、配置、架构、状态、权限、指标和发布脚手架。移除前必须证明其已被取代;否则记录保留依据,或指定临时负责人和移除条件。
  • 对新增或显著扩展的通用机制,依据精确契约比较可信的更简单替代方案;现有机制已足够时即停止。仅当仍存在重大缺口时,才调查新软件包。记录 REUSE_EXISTING、ADOPT_PACKAGE、KEEP_CUSTOM、DELETE 或 MERGE,并附上本地证据;涉及外部语义时,还须提供官方来源。评估重大的安全、维护、许可、包体积/运行时、API 稳定性、迁移和封装成本。优先选择生命周期成本最低且完整适用的方案;对于紧凑的领域逻辑,不要添加依赖;若其剩余封装层并未更精简或更安全,也不要添加依赖。仅检查因交付而变更或交付所必需的机制。
  • 简洁性: 要求改动量最少且足够,并采用最简单、正确、高效的算法。现有机制足够时,拒绝不必要的重复、文件、层次、抽象、依赖、配置、分支、兼容路径或自定义机制;绝不以牺牲防护措施或可维护性为代价。
4. 验证测试、文档和运维
  • 根据需求、已批准的计划、变更行为和受影响的测试,建立一份范围限定于本次变更的测试决策台账。针对每项重大风险和受影响的测试,记录现有证据、独立判定依据、门禁及结果、层级选择理由,以及 KEEP、ADD、UPDATE、MERGE、DELETE 或有充分理由的 NO_TEST。核实计划中的操作是否确已完成,并说明有证据支持的偏差。
  • 仅按发生可能性、影响、波及范围、可逆性和回归历史,对已变更的业务风险进行排序。禁止仅为重新验证语言、框架、程序包、数据库供应商、透传或其他简单行为而编写测试;只有当测试涉及仓库自身负责的规则、配置、接线、契约、查询、架构、权限、事务、恢复路径或用户流程时,跨越真实依赖才有意义。NO_TEST 必须指出现有证据、其他控制措施或已接受的剩余风险。
  • 选择能证明每项重大风险的最小可靠单元、集成、契约或端到端边界。当用户流程无法在更窄的边界内得到证实时,必须提供端到端证据。建议使用能产生不同失败信号的最少测试,不得以测试数量、原始覆盖率或每行验收标准对应一个测试为目标。
  • 根据可观察契约和本地化策略,使用稳定且符合项目惯例的语义定位器(角色、可访问名称、标签),或明确的 ID/测试钩子。避免依赖样式、位置、时序和偶然的结构。如果文案是需求,应单独处理精确文案断言;若存在稳健的语义定位器,不要仅为添加钩子而要求修改产品。
  • 根据缺陷敏感度、断言、成功和失败路径、授权、边界、数据完整性、过度模拟、快照、易 flake 测试、共享状态、时间、随机性、顺序依赖和 CI 部署位置,验证台账中的每项决策。对过时、重复、简单、依赖实现细节或不重要的证据,标记为 DELETE;若合并后仍保留其独特价值,则标记为 MERGE。保留替代关系的可追溯性,切勿仅因惯性而保留已被取代的测试、夹具、辅助程序、快照或门禁。
  • 检查必需门禁与诊断门禁的部署位置、可见的跳过情况、重试和隔离,以及临时特征测试、迁移、兼容性、事故或变通方案相关证据的任何评审或淘汰触发条件。隔离是一种执行状态,而非组合决策,不得变成无声通过。
  • 先从仓库文档、工具配置和清单中查找命令,只有在有充分理由时才采用备用方案。先运行范围较窄的检查,再通过适合 CI 的选项运行必需的构建、lint、类型、测试、迁移和冒烟门禁。
  • 记录命令来源、退出状态、实际执行范围和局限。确认必需场景确已运行;选中的测试数量为零或测试套件被跳过,都不能证明验收通过。将失败归因于变更、基线或环境。
  • 当静态证据不足以验证用户可见的验收要求时,从另一端进行验证,包括重大失败和恢复场景;对于适用的 UI,检查键盘、焦点、可访问名称、动效、响应式状态、文案和本地化。
  • 仅评审因本次业务变更范围而修改或必需的文档和注释;逐项标记为 KEEP、ADD、UPDATE、DELETE 或 MERGE。只有在规范文档能保留所有必需的受众任务和契约时,才删除或合并内容。
  • 验证文档单一事实来源(SSOT)和层级关系:交付内容更新范围最窄的规范归属文档,以链接代替复制规则,复用合适的文档,并移除已被取代的引用。报告违规情况,但不要编辑或审查无关文档。
  • 拒绝填充性文档、重复摘要、推测内容和对代码的复述。保留受众所需的意图、契约、操作、限制条件和最少量的已验证示例。
  • 在可行时,将易变的版本、路径、默认值、数量、命令、生成的输出和当前状态数据保存在权威代码、配置或生成源中。否则,必须注明来源、范围以及负责人或生成/更新触发条件。
  • 根据实现和需求,核实受影响的 API 与配置引用、示例、迁移、运行手册、操作步骤和注释;注释应说明持久有效的意图或限制条件,而不是语法。
  • 如果变更会带来运营风险,应检查日志、指标、追踪、健康信号、功能控制、部署顺序、回滚和恢复。
5. 挑战并综合分析
  • 若已选择,则在其关联协议下运行独立审查面板;否则记录 None 并使用直接证据。将建议视为需要验证的候选项。
  • 对照代码、命令、行为、声明的意图或权威文档验证每个候选项;追溯症状的因果路径及其违反的约定,并驳回主观判断或仅描述症状的说法。
  • 仅当差异引入、暴露或加剧了问题;问题违反了范围内的验收要求;或更改导致必需门禁失败时,才接受该发现。其他问题仅在阻碍验收时视为限制;绝不建议修复这些问题。
  • 对每个范围内的候选项应用实质性和可接受替代方案门槛。判断其是否能证明在项目已体现的规模下,对用户、业务、安全、运维、交付或生命周期造成了具体影响。驳回吹毛求疵、个人偏好、理论上的纯粹性、泛泛的最佳实践、假设性规模,以及仅仅有所不同但当前权衡合理的实现。当存在多种有效方案时,要求满足结果或约束,而非指定某种偏好的设计。
  • 只有在本地证据确认存在缺陷后,才研究修正方案;当更改后的通用机制存在实质性的能力缺口或生命周期成本时,才调查可复用的替代方案。优先采用仓库已有机制。对于依赖外部因素的选择,应根据匹配版本的官方文档或一手工程资料进行验证,并引用有依据的说法及其权衡。本地业务缺陷以本地证据为准。将缺乏依据的外部说法标记为 UNVERIFIED;审查并不授权修复。
  • 按根因去重,保留最有力的证据和已证明的最大影响范围,并建议一个足以解决问题的最小修正。
  • 通过直接证据解决矛盾;将尚未解决且影响重大的缺口纳入判定或剩余风险。
  • 将发现分类为 P0 灾难性、P1 阻碍发布、P2 重要但不阻碍发布,或 P3 轻微且可采取行动。
  • 若存在尚未解决的 P0/P1 问题、必需任务或计划项被 OMITTED 或有证据表明不正确、未满足验收要求、未经授权地更改现有用户体验、更改导致必需门禁失败,或已证实存在不安全的高风险行为,则判定为 FAIL。仅在存在明确的非阻断风险时判定为 CONCERNS。只有在每项必需任务和计划项均为 COMPLETE 或有证据支持的 DEVIATED、每项验收标准均通过,且所有必需证据均完整时,才判定为 PASS。
  • 若必需任务或计划项仍为 UNPROVEN,或必需的审查视角、专家、安全环境、权威约定或验收前提缺少可信替代方案,则判定为 BLOCKED;报告覆盖缺口,而非产品缺陷。

自检

  • 提交前核对。 检查逐项证据、需求覆盖、矛盾、范围、判定及适用的清理工作。修正报告或获准修改的产物。复用有效证据;不要自动重新扫描仓库或重跑已成功的命令。仅针对相关更改、失败或未解决的证据重复检查。披露剩余缺口。

输出约定

按以下顺序使用用户的语言报告;保留全部五个字段,每项事实只陈述一次。简短结果可每个字段占一行;省略空表格,不要复制已链接的产物:

  1. 结果: 与技能相关的结论及有证据支持的结果。
  2. 范围: 已审查/变更的范围、排除项、基线及重要假设。
  3. 证据: 以下与技能相关的字段;区分事实、推断和未经验证的说法。链接产物;适用时使用表格。
  4. 验证: 检查/结果、不可用的证据,以及适用的清理/外部状态。
  5. 完成情况: Checklist: X/Y complete;Incomplete: None,或列出每项 UNPROVEN 的原因、对结果的影响及确切的后续操作;遗留风险和所需决策。

与技能相关的证据: 任务/计划要求 → 实现 → 行为证据 → 状态;范围/基线/提交头及初始/后续审查状态。包括经授权的 UX 变更和新增界面、适用的策略/ADR 合规性、复用与删减决策、所选独立审查视角及覆盖范围,以及测试/文档操作。每项发现都需包含优先级、位置、受影响的业务行为、变更导致该问题的证据、违反的约定、实质影响及最小充分修正方案;也接受效果相当的解决方案。若没有候选项通过证据门槛,则填写 None。

评论

支持 Markdown