用途:作为单个 Linear 议题(功能或缺陷)的组合式生命周期控制器,把较窄的技能当作各阶段实现,但状态转换统一在此管理。改动工作流状态或代码前,需先阅读并遵循 docs/superpowers-linear-persistence.md。
主要能力与流程:先对真实 Linear 议题运行 linear-status,依据检测到的标签、状态、最新标记评论和议题描述仪表盘,从检测到的阶段恢复,不凭记忆或聊天记录。生命周期状态机包括:detect-current-state(识别当前阶段、缺失证据、状态分歧与推荐下一技能)、capture-metadata(查询实时团队、项目、标签并用 scripts/linear_metadata.ts capture 规范化)、create-issue(创建或更新议题,指定团队、项目、匹配标签、类型标签和一个 LLM 状态标签)、refine-plan(运行 linear-refine 直到出现 plan_status: ready 的标记计划评论或明确的 blocked/accepted-unknown 状态)、implement(仅在就绪计划存在、Superpowers 任务列表已镜像到议题描述仪表盘、且所需实现者权限上下文已通过或确认后运行)、validate-comments(用 scripts/validate_marked_comments.ts 校验最终计划/状态评论与仪表盘)、review-handoff(确认 PR 或补丁就绪、验证证据齐全,议题恰好一个工作流状态标签:llm-review 或 llm-blocked)、closeout(仅在 PR 已合并、存在直接议题 ID 提交证据,或 squash/import 发布证据证明当前 main 含预期文件/内容且发布/main CI 通过时运行 linear-close)、final-linear-mutations(有写工具时通过 Linear MCP 应用最终标签/评论,否则输出 REQUIRED_LINEAR_MUTATIONS)。
使用方式:各阶段通过 Linear MCP 调用 get_issue、list_comments、list_teams、list_projects、list_issue_labels、save_issue、save_comment 等工具。捕获实时元数据:scripts/linear_metadata.ts capture --teams linear-teams.json --projects linear-projects.json --labels linear-labels.json。校验标记评论与 linear-ai.dashboard.v1 仪表盘:scripts/validate_marked_comments.ts --description <issue-description-file> <comment-file>。结构化录入试运行:scripts/intake_issue.ts --metadata <metadata.json> <input.yaml>。使用本地 JavaScript 包管理器或运行时;Bun 可直接运行 .ts,Node/npm/pnpm/yarn 需通过 tsx 等 TypeScript 运行器。
限制与停止条件:当前状态缺少必需证据时不得推进,应停在当前状态并记录阻塞。缺少 Linear MCP 读工具且无元数据快照时停在 capture-metadata;无法从实时元数据选择团队、项目、标签或类型标签时停在 create-issue;缺少必需产品事实且无法接受为未知时停在 refine-plan;验证无法证明就绪计划已满足时停在 implement;无法移动到恰好一个最终 LLM 状态标签时停在 review-handoff;缺少 PR 合并、旧 ID 实现证据、发布文件/内容证据、主线或 CI 证据时停在 closeout,并保持 llm-review。若因缺少产品事实或写权限受阻,应发布或输出精确的 REQUIRED_LINEAR_MUTATIONS 并停在阻塞交接状态,不得猜测。