关于 linear-create-issue
用于将需求整理为可提交到 Linear 的问题单工作流技能。它依据实时团队、项目和标签数据指导元信息选择;无法使用写入工具时,会列出需要人工应用的变更。
主要功能
- 01查询实时团队、项目和标签
- 02指导问题单录入与元数据选择
- 03检测 JavaScript 运行器并运行辅助脚本
- 04捕获并验证元数据快照
- 05无法写入时提供明确变更清单
适用场景
- 01起草 Linear 缺陷或功能问题单
- 02选择目标团队、项目和标签
- 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.mdopenai.yamldocs/agent-required-passes.mdissue-intake.mdscripts/detect_runner.tsintake_issue.tslinear_metadata.tstemplates/linear-bug-issue.mdlinear-feature-issue.md详细介绍
Linear 创建 Issue
使用仓库根目录作为工作流来源。阅读并遵循:
agents/issue-intake.mddocs/issue-intake.mddocs/agent-required-passes.mdtemplates/linear-bug-issue.mdtemplates/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,并在可写入时应用标签/优先级。
实时信息收集顺序:
- 运行
list_teams、list_projects和list_issue_labels。 - 根据这些实时结果提出目标团队、目标项目和匹配的 Linear 标签。
- 询问是否要添加更多标记,除非用户已明确拒绝。
- 仅在用户回答后,调用
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。