关于 linear-batch-refine
面向批量处理 Linear AI 问题的编排技能,负责发现队列、排序并逐项调度单问题技能。它通过转交澄清问题和答案推进处理,并汇总各问题的状态。
主要功能
- 01按工作流标签发现问题
- 02按优先级和更新时间排序
- 03逐项调度单问题技能
- 04转交问题与操作员答复
- 05汇总完成、阻塞及失败状态
适用场景
- 01筛选待完善或受阻的 Linear 问题
- 02按优先级安排多问题处理顺序
- 03在正式调度前预览队列
- 04汇总批次处理结果与未决问题
MCP 相关
使用 Linear MCP 的 `list_issues`、`get_issue` 和 `list_comments` 查找并检查问题。批量编排器将单问题完善与生命周期变更交由 `linear-refine` 技能处理。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lkshrk/ linear-ai --skill linear-batch-refine安装后在 Claude Code 中输入/linear-batch-refine确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamldocs/agent-required-passes.mdsuperpowers-linear-persistence.mdworkflow.mdschemas/linear-ai.claim.v1.schema.yamllinear-ai.dashboard.v1.schema.yamllinear-ai.plan.v1.schema.yamllinear-ai.review-ledger.v1.schema.yamllinear-ai.status.v1.schema.yamlscripts/validate_marked_comments.ts详细介绍
Linear 批量优化
当操作员想要处理多个需要优化或跟进阻塞项的 Linear AI 问题时,使用此技能。
此技能是一个编排器。不要重复执行 linear-refine 工作流。单问题技能负责持久化每个问题的 Linear 评论、工作流标签、计划验证和问题特定的解读。
来源约定
阅读并遵循:
skills/linear-refine/SKILL.mddocs/workflow.mddocs/agent-required-passes.mddocs/superpowers-linear-persistence.mdscripts/validate_marked_comments.ts
队列发现
使用 Linear MCP:
- 使用
list_issues查找带有llm-refine和llm-blocked的问题。 - 可选筛选条件:团队、项目、负责人、标签,以及用户提供的明确问题 ID。
- 如果用户没有提供明确的问题 ID,且会话中尚未明确目标团队和项目,则在发现问题前询问要处理哪个团队和项目的问题。
- 只有带有
llm-*工作流标签的问题才会进入队列。除非用户明确指定,否则忽略没有llm-*标签的问题。 - 使用
get_issue和list_comments汇总每个候选问题,然后再分派。
排除已带有 in-use 认领标签的问题;其他 Agent 正在处理这些问题。
支持明确的试运行或仅列出模式。在试运行或仅列出模式下,显示队列并停止,不分派子 Agent,也不修改 Linear。
先按 Linear 优先级排序,再按问题的更新时间从早到晚排序。优先级顺序为:紧急、高、中、低,然后是无优先级;相同优先级内按 updatedAt 升序排列。显示范围限定的队列摘要,包含问题 ID、标题、状态标签、状态、项目、更新时间,以及问题符合条件的原因。
分派前先征求确认。每次只处理一个问题的优化。优化遵循单问题 linear-refine 访谈约定:优化问题期间,编排器应在子 Agent 提出问题时,将其问题轮次转达给操作员(每轮分组不超过 4 个问题,每个问题都附带子 Agent 建议的答案和证据),再将操作员的答案返回给仍在运行的子 Agent,并允许其继续迭代,直到所有重要分支都已解决或被明确接受。只有此后才能将计划标记为就绪。只有当当前问题已就绪、已阻塞,或操作员明确暂缓尚未解决的问题时,才可继续处理队列中的下一个问题。轮次结束时的汇总仅适用于操作员暂缓的问题。
切换到其他问题时,先按照 docs/workflow.md 中的 Ticket Reference Rule 提供简短的内容摘要:说明问题 ID,并用一句话描述其主题。
分派规则
在分派每个问题前,立即使用 get_issue 和 list_comments 重新读取问题状态。如果当前标签不再包含 llm-refine 或 llm-blocked,或问题现在带有 in-use 认领标签(已被其他 Agent 认领),则跳过该问题,并在摘要中记录观察到的 Linear 状态变化。
为每个问题分派一个子 Agent,使用:
$linear-ai:linear-refine <ISSUE-ID>
分派提示不得指示子 Agent 跳过问卷或自行解决设计分支。提示必须定义转达渠道:子 Agent 在运行过程中将问题轮次发送给编排器,并等待编排器转达操作员的答案后再最终确定计划。等待期间,子 Agent 应保留其 in-use 认领。
对于受影响的问题,工具或运行时失败后重试一次。如果重试仍失败,则仅在批次摘要中将该问题标记为 failed。
处理取消时,停止新的分派,等待已启动且安全的工作报告结果,并返回取消摘要,其中包含已完成、已阻塞、失败、已跳过、已取消和未启动的问题。
结构化子 Agent 结果
在完善过程中,子 Agent 会在最终结果之前向协调器发送中间问题轮次:
type: question_round
issue: TEAM-123
round: 1
questions:
- question: Concrete question for the operator.
recommended_answer: Evidence-based recommendation.
reason: Why this branch is material.
blocks: [I2]
协调器会将每轮问题转发给操作人员,并将答案返回给仍在运行的子 Agent。只有在所有轮次都已得到答复或由操作人员明确延期后,才会发送最终结构化结果。
要求每个子 Agent 都报告结构化子 Agent 结果:
issue: HCL-123
status: completed # completed | blocked | failed | skipped | cancelled
questions:
- question: Concrete question for the user.
recommended_answer: Recommended answer with rationale.
reason: Why this answer is needed.
blocks:
- I2
feedback:
- summary: Short feedback from the subagent.
severity: info # info | warning | blocker
recommendation: Recommended follow-up.
follow_up: Optional next step.
linear_mutations:
- REQUIRED_LINEAR_MUTATIONS emitted by the single-issue skill, if any.
evidence:
- Validation, comment, or Linear state evidence.
error: null
违反约定只会导致受影响的问题失败。
延期问题与反馈汇总
汇总是处理操作人员延期问题的备用方案,而非主要流程。主要流程是上述实时转发:子 Agent 仍在运行时,问题轮次就会送达操作人员。
问题包括 question、recommended_answer、reason 和可选的 blocks。
反馈包括 summary、severity、recommendation 和可选的 follow_up。
完成整个队列后,按问题对操作人员延期的问题和反馈进行分组。在继续处理受阻或含糊的工作之前,先向用户询问所需信息。将已答复的问题交由新的 linear-refine 子 Agent 运行处理;不要恢复过时的子 Agent 状态。
未答复的问题将在下一份摘要中继续标记为受阻或跳过。
摘要格式
返回一份最终摘要,其中包括:
- 发现的问题
- 已分派的问题
- 已完成的问题
- 受阻的问题/待答问题
- 失败的问题
- 已跳过的问题
- 已取消或尚未开始的问题
- 已应用的用户答案
- 规范化后的证据
- 观察到的 Linear 状态偏差
- 子 Agent 提供的 REQUIRED_LINEAR_MUTATIONS
- 下一步建议操作
Linear MCP 约定
在可用时,使用以下 Linear MCP 工具:
list_issuesget_issuelist_comments
批处理协调器不应执行属于 linear-refine 的逐问题生命周期变更。如果 Linear MCP 写入工具不可用,或子 Agent 发出了写入指令,请在批次摘要中原样列出 REQUIRED_LINEAR_MUTATIONS。
停止条件
队列处理完成、需要用户输入、收到取消请求或没有剩余符合条件的问题时,停止。