用途:为需要跨一整条依赖 PR 栈执行的命令提供共享契约,被 /pr-review --stack 与 /fix-pr --stack 使用。目标是让某条 PR 属于同一基础分支的 PR 栈时,按 base-to-tip(根 PR 在前、叶 PR 在后)顺序循环执行命令的常规流程,并在栈根 PR 上输出一条整合摘要。
主要能力:解析栈成员关系,提供三种策略并取首个满足栈大小 >= 2 的结果:A 基于分支名约定 stack/<feature>/<slice>;B 解析根 PR 上的 ## Stack 摘要评论表格;C 沿 baseRefName 双向走查基础链。解析后按 base-to-tip 排序;若栈大小为 1,则回退单 PR 模式并给出警告。调用命令未显式传 --stack 但检测到栈时,会打印栈并询问是否对整栈执行,默认 N。迭代阶段按序对每个 PR 运行调用方的主流程,遇到失败即停止,不处理下游 PR。完成后在根 PR 发布一条整合摘要评论,并保证幂等(按 ## Stack <Command Name> Summary 匹配更新而非重复)。
使用方式:调用命令需接受 --stack 布尔标志和 --base <branch> 覆盖(默认 master);先解析栈成员;按解析顺序逐 PR 运行主流程;保持每个 PR 的输出不变;在根 PR 发一条栈级摘要;遵守各 PR 自身的 Gate 规则(线程解决与议题跟踪各自独立)。调用方创建三个 TodoWrite 项:stack-mode:membership-resolved、stack-mode:iteration-complete、stack-mode:root-summary-posted。GitLab/Bitbucket 可参考 Skill(leyline:git-platform) 的 glab / Bitbucket 等价调用,三种策略可直接迁移。
适用场景:命令接受 --stack 或自动检测栈成员、需跨多个 PR 迭代其常规流程时。不适用于单 PR 流程,也不用于创建栈(sanctum:stack-create)或级联 rebase(sanctum:stack-rebase)。
限制:stack-mode 是读取/编排技能,不推送、不 rebase、不编辑分支;栈大小为 1 时 --stack 无效;基础链成环会停止并报 cycle detected;策略 B 表格解析失败则回退策略 C;认证不足(如 gh 返回 403)会停止并报错;不得跨栈合并 Gate 1。