链式 PR 拆分
将超过400行的大变更拆分为可独立审查的链式 PR,保护评审焦点,控制评审负载。
技能指导了关于PR分割的明确流程,包括在需要时请求维护者批准(size:exception)和在关键节点询问用户(选择链策略)。它强调保护审查焦点并提供回滚范围,但没有指定权限或数据流细节。由于是静态审查,无法验证实际权限或执行。扣分是因为没有提供权限指南或数据流披露。
提供了清晰的步骤和决策门,但关键路径(如Git命令)未经过测试或验证。在静态审查中,无法确认命令的正确性或行为。错误处理和失败反馈有限,例如未指定当命令失败时的行为。扣分是因为缺乏执行验证和有限错误处理。
清晰定义了触发条件和适用场景,包括明确的门槛(400行)。但有关于非适用范围的有限证据,且未提及环境适配(例如中文支持或网络要求)。扣分是因为边界条件不完整且缺乏环境适配证据。
文档结构良好,有清晰的激活合同、硬规则和决策门。但缺少版本变更或更新路径信息,且未包含安装依赖或故障排除部分。扣分是因为版本管理和维护责任不明确。
技能逻辑清晰,可能提升审查效率,但未提供实际输出示例或验证结果。静态审查中无法确认直接可用性。扣分是因为缺乏可操作的输出验证和比较优势证据。
没有提供测试用例或独立执行证据。参考文档提供了一些细节,但无法独立验证。扣分是因为缺乏第三方执行证据和可重复验证。
- 技能依赖外部 GitHub 命令(gh)和功能,可能在某些环境中不可用。
- 未提供权限要求和数据流透明度的细节,可能隐含权限问题。
- 未提及错误处理或故障排除,用户遇到问题时可能缺乏指导。
- 未声明版本变更或更新路径,维护责任不明确。
- 环境适配(如中文支持和网络可达性)未说明,可能会影响中国用户的可用性。
这个 Skill 能做什么,适合哪些场景?
该技能用于处理大型或堆叠的拉取请求(PR)。当变更超过400行或需要分片审查时,它通过将变更拆分为多个较小的、可独立合并的PR,并附加依赖关系图和检查清单,确保每个PR可在一小时内审查完成。它支持两种链式策略:堆叠式PR(直接基于主分支)和功能分支链(带跟踪PR)。该技能属于gentle-ai仓库的一部分,该仓库通过MIT许可证发布,并通过官方安装脚本提供。
该技能评估PR的变更行数,并在超过400行时触发。它指导用户选择链式策略(堆叠式或功能分支链),创建分支并生成带有链式上下文的PR,包括起始点、结束点、依赖关系、后续工作和范围外项。它为每个子PR生成依赖关系图,并标记当前PR。它还确保PR的体积保持在60分钟评审时间内,并验证每个PR的CI、测试、文档和回滚范围。该技能输出所选策略、PR顺序、当前PR边界、评审预算和验证计划。
- 开发者在创建超过400行变更的PR时,希望将其拆分为可独立合并的PR以减少审查负担。
- 团队在处理大型功能分支时,需要在不影响主分支集成的情况下,分阶段进行代码审查。
- 开发者在主分支集成前需要验证功能完整性,使用功能分支链和跟踪PR来管理合并流程。
- 审查者希望确保每个PR的变更范围专注,通过依赖关系图和边界描述快速理解上下文。
- 当SDD预测高风险或推荐链式PR时,开发者遵循技能来执行拆分策略。
这个 Skill 有哪些优点和局限?
- 明确的400行阈值和60分钟评审时间预算,使维护者能够快速决策。
- 提供两种清晰的链式策略:堆叠式和功能分支链,适应不同集成需求。
- 强制依赖关系图和链式上下文,减少审查者的认知负担。
- 支持通过`size:exception`请求豁免,允许合理例外。
- 仅适用于Git工作流,且需要分支管理技能。
- 对于生成/供应商/迁移差异可能难以拆分,需要人工判断。
- 未提供自动化工具,仅提供指导;实际拆分和PR创建需手动或借助其他工具。
- 文档中未提及测试套件或平台覆盖,仅通过示例展示。
如何安装这个 Skill?
该技能包含在gentle-ai仓库中。要安装技能集合,请运行官方安装脚本:
macOS/Linux: curl -fsSL https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.sh | bash
Windows (PowerShell): irm https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/scripts/install.ps1 | iex
安装后,技能将位于internal/assets/skills/chained-pr/路径。需要先安装gentle-ai CLI。
如何使用这个 Skill?
安装后,技能会自动在满足激活条件时触发,例如当计划中的PR将超过400行,或SDD预测高风险时。用户也可以显式请求。技能指导用户选择策略并拆分支和PR,并生成带有链式上下文的PR描述。确保每个PR的变更行数不超过400行,并包含依赖关系图。在创建PR之前,先运行/sdd-init初始化项目上下文,并执行gentle-ai skill-registry refresh注册技能。