mcpField
L
linear-status

linear-status

github.com/lkshrkAgent 工作流141 次安装4 周前更新
代码仓库

关于 linear-status

用于只读诊断 Linear issue 当前阶段并建议如何继续的技能。它依据 issue 状态和经验证的评论,而非记忆,并指出缺失证据或状态冲突。

主要功能

  1. 01检测 Linear issue 阶段
  2. 02验证标记评论与描述面板
  3. 03检查认领锁是否过期
  4. 04报告证据与阻塞项
  5. 05推荐后续工作流技能

适用场景

  1. 01判断 issue 接下来应采取的步骤
  2. 02查找标签与状态证据冲突
  3. 03检查 issue 的认领锁是否过期

MCP 相关

在可用时使用 Linear MCP 只读工具获取 issue 详情和评论,并验证标记评论与 issue 描述面板。除非明确以最终处理者身份操作,否则不会更改 issue 状态。

安装

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

$npx skills add https://github.com/lkshrk/linear-ai --skill linear-status

安装后在 Claude Code 中输入/linear-status确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
docs/
workflow.md
schemas/
linear-ai.claim.v1.schema.yaml
linear-ai.dashboard.v1.schema.yaml
linear-ai.plan.v1.schema.yaml
linear-ai.review-ledger.v1.schema.yaml
linear-ai.status.v1.schema.yaml
scripts/
validate_marked_comments.ts

详细介绍

Linear 状态

将此用作单个 Linear 事项的只读状态检查和恢复检测器。当 Agent 不确定下一步该做什么时,从这里开始。

Linear MCP 合约

在可用时使用以下 Linear MCP 工具:

  • get_issue - 读取事项描述仪表板、标签、状态、负责人、项目、分支元数据和链接。
  • list_comments - 查找最新的已标记计划和状态评论。

使用以下内容验证已标记评论和事项描述仪表板:

scripts/validate_marked_comments.ts --description <issue-description-file> <comment-file>

使用 Agent 可用的本地 JavaScript 包管理器或运行时:Bun 可直接运行 .ts 脚本;Node/npm/pnpm/yarn 环境应通过 TypeScript 运行器(例如 tsx)运行这些脚本。

如果 Linear MCP 读取工具不可用,请用户粘贴事项描述、标签、状态和最新的已标记评论。如果 Linear MCP 写入工具不可用,或事项状态需要修复,请输出 REQUIRED_LINEAR_MUTATIONS,并列出要应用的确切描述、标签、状态和评论。

阶段检测

根据事项的实际状态(而不是记忆)确定当前阶段:

  • setup-blocked - 缺少必需的 Linear 标签、项目或组件/类型标签;运行 linear-doctor。
  • create-issue - 不存在 Linear 事项,或受理元数据不完整;运行 linear-create-issue。
  • refine-plan - 事项带有 llm-refine,没有有效的就绪计划,或存在未解决的产品问题;运行 linear-refine。
  • implement - 事项带有 llm-ready,且最新的有效计划具有 plan_status: ready;运行 linear-implement。
  • blocked - 事项带有 llm-blocked,或最新状态评论中存在未解决的问题;运行 linear-refine 或询问列出的阻塞问题。
  • review-handoff - 事项带有 llm-review,或最新状态评论为 review_ready;准备人工审查。
  • repair-state - 标签、描述仪表板和评论相互不一致;存在多个 llm-* 状态;最新的已标记评论无效;缺少必需的仪表板/状态证据;或 in-use 声明锁已过期或存在矛盾(参见声明锁检查)。

当标签、描述仪表板和评论不一致时,优先将已验证的标记证据作为依据,然后建议最小限度地修复描述、标签或状态。

声明锁检查

按照 docs/workflow.md 中的声明锁规则检查 in-use 声明锁;如果锁看起来已遗留,则在 repair-state 下报告 claim-stale 发现。

第 1 级 — 结构性矛盾(仅检查标签,可靠)。当 in-use 无法与当前状态合理共存时,将其标记出来:

  • 事项已完成/关闭,但仍带有 in-use(漏掉了释放操作);
  • 存在 in-use,但没有活动工作状态,或当前状态为停止时释放锁的状态(llm-ready、llm-blocked)。

in-use 与 llm-refine、llm-active 或 llm-review 同时存在属于正常持锁;不要仅凭标签将其标记出来。

第 2 级 — 过期(需要声明元数据)。如果描述中存在 linear-ai:claim 块,当 now - claimed_at 超过过期阈值(默认 60 分钟;允许用户覆盖)时,将锁视为已过期。报告 claimed_by 和锁的持续时间。如果存在 in-use,但没有声明块,则标记此不匹配(标签和声明块必须同时存在或同时不存在),并回退到第 1 级检查。

对于任何已过期或存在矛盾的锁,建议最小限度的修复:移除 in-use 标签和 linear-ai:claim 块。除非你正在使用可用的写入工具以最终处理者身份执行操作,否则不要应用此修复;否则请将其作为 REQUIRED_LINEAR_MUTATIONS 输出。

阶段完成交接

报告:

  • 当前阶段
  • 有哪些变化(如果此状态检查修复或澄清了状态)
  • 来自 issue 标签/状态和最新标记评论的证据
  • 缺失的证据
  • 尚未解决的阻碍
  • 建议的下一步
  • 建议的下一个技能

询问此状态步骤是否还有其他内容需要补充。如果有,请重新读取新增证据并继续当前步骤。如果没有,请建议进入下一个工作流步骤,并指出要运行的技能。

用户回答“没有”后,询问用户是否要继续使用建议的下一个技能。明确说出建议的下一个技能并等待用户确认;不要自动运行。

使用以下回复格式:

  • 当前阶段
  • 有哪些变化
  • 证据
  • 缺失的证据
  • 尚未解决的阻碍
  • 建议的下一步
  • 建议的下一个技能
  • 问题:继续之前还有其他内容需要补充吗?
  • 问题:你要继续使用建议的下一个技能吗?

完成阶段诊断、缺失证据列表和建议的下一个技能后即停止。除非明确作为最终处理者且有可用的写入工具,否则不要更改 issue 状态。

评论

支持 Markdown