mcpField
L
linear-create-issue

linear-create-issue

github.com/lkshrk生产力144 次安装4 周前更新
代码仓库

关于 linear-create-issue

用于将需求整理为可提交到 Linear 的问题单工作流技能。它依据实时团队、项目和标签数据指导元信息选择;无法使用写入工具时,会列出需要人工应用的变更。

主要功能

  1. 01查询实时团队、项目和标签
  2. 02指导问题单录入与元数据选择
  3. 03检测 JavaScript 运行器并运行辅助脚本
  4. 04捕获并验证元数据快照
  5. 05无法写入时提供明确变更清单

适用场景

  1. 01起草 Linear 缺陷或功能问题单
  2. 02选择目标团队、项目和标签
  3. 03缺少 Linear 写入权限时准备变更

MCP 相关

使用 Linear MCP 工具查询团队、项目和标签;有写入工具时创建或更新问题单。

安装

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

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

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

包含的文件

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

agents/
issue-intake.md
openai.yaml
docs/
agent-required-passes.md
issue-intake.md
scripts/
detect_runner.ts
intake_issue.ts
linear_metadata.ts
templates/
linear-bug-issue.md
linear-feature-issue.md

详细介绍

Linear 创建 Issue

使用仓库根目录作为工作流来源。阅读并遵循:

  • agents/issue-intake.md
  • docs/issue-intake.md
  • docs/agent-required-passes.md
  • templates/linear-bug-issue.md
  • templates/linear-feature-issue.md

定稿前,查询可用的 Linear 团队、可用的 Linear 项目和可用的 Linear 标签。使用实时 Linear 数据询问或提出目标团队、目标项目、匹配的 Linear 标签/标记、类型标签和 LLM 标签。不要使用过时或硬编码的标记列表。不要要求添加 Component 标签;请从所有实时 Linear 标签中提出可能适用的标签,并在定稿前询问是否要添加更多标记。

Linear MCP 合约

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

  • list_teams - 在选择目标团队前读取可用的 Linear 团队。
  • list_projects - 在选择目标项目前读取可用的 Linear 项目。
  • list_issue_labels - 在提出标签前读取可用的 Linear 标签。
  • save_issue - 创建或更新 Linear Issue,并在可写入时应用标签/优先级。

实时信息收集顺序:

  1. 运行 list_teams、list_projects 和 list_issue_labels。
  2. 根据这些实时结果提出目标团队、目标项目和匹配的 Linear 标签。
  3. 询问是否要添加更多标记,除非用户已明确拒绝。
  4. 仅在用户回答后,调用 save_issue 并传入最终标签集。

使用目标环境中可用的本地 JavaScript 运行器。通过以下方式检测:

bun scripts/detect_runner.ts

使用该运行器执行 TypeScript 辅助程序,例如 bun scripts/intake_issue.ts ...、pnpm exec tsx scripts/intake_issue.ts ... 或 npm exec tsx -- scripts/intake_issue.ts ...。

读取 Linear MCP 元数据后,在执行确定性检查前,将原始结果保存为本地快照格式:

bun scripts/linear_metadata.ts capture --teams linear-teams.json --projects linear-projects.json --labels linear-labels.json > linear-metadata.json

在 npm/pnpm/yarn/node 环境中使用等效的 tsx 命令。--teams、--projects 和 --labels 文件应包含来自 list_teams、list_projects 和 list_issue_labels 的当前输出。

使用 scripts/linear_metadata.ts validate ... 检查捕获的元数据快照。仅当 Issue 字段已存在于结构化 YAML 中且元数据快照可用时,才使用 scripts/intake_issue.ts --metadata <metadata.json> <input.yaml>。否则直接遵循 Agent 提示,并在可用时使用 Linear MCP 工具。

如果 Linear MCP 写入工具不可用,不要声称 Issue 已创建或更新。输出 REQUIRED_LINEAR_MUTATIONS,其中包含人工应应用的确切目标团队、标签、优先级和 Issue 正文。

步骤完成交接

Issue 信息收集完成后,报告变更内容、Linear Issue URL 或 REQUIRED_LINEAR_MUTATIONS、所选团队/项目及建议的标签/标记、当前 Linear 标签/状态,以及建议的下一步。

询问此信息收集步骤是否还有其他内容要添加。如果有,请继续当前步骤并更新 Issue 草稿或 Linear Issue。如果没有,请建议进入下一工作流步骤;如果存在 llm-refine,通常建议进入 linear-refine。

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

使用以下回复格式:

  • 当前阶段
  • 变更内容
  • 证据
  • 缺失的证据
  • 未解决的阻碍
  • 建议的下一步
  • 建议的下一个技能
  • 问题:在继续之前,还有其他内容要添加吗?
  • 问题:要继续使用建议的下一个技能吗?

当 Issue 正文已可用于 Linear,且最终元数据已明确时停止:目标团队、适用时的目标项目、建议的匹配标签/标记、要添加/移除的标签、提供时的优先级、用户是否想添加更多标记,以及是否需要 llm-refine。

评论

支持 Markdown