关于 send-to-linear
send-to-linear 是一项将非结构化内容整理为 Linear 工单草稿的技能,面向需要从对话和资料中提取工作项的团队。它保留具体实例,并要求用户批准后才创建工单。
主要功能
- 01接收聊天、转录、图片和笔记
- 02提取需求与验收标准
- 03区分可执行事项和探索性想法
- 04将工单草稿写入暂存文件
- 05仅在批准后创建工单
适用场景
- 01将 Slack 讨论整理为工单草稿
- 02从长篇通话转录中提取明确任务
- 03在 Linear 创建前审阅和修改工单
MCP 相关
可通过 Slack MCP 工具获取消息,并使用 Linear MCP 工具查询团队、标签、项目和周期,以及创建已批准的工单。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ casper-studios/ casper-marketplace --skill send-to-linear安装后在 Claude Code 中输入/send-to-linear确认已加载。
附带文件references/config.jsonreferences/ticket-template.md
详细介绍
发送到 Linear
将非结构化输入整理成结构清晰的 Linear 工单。
设置
配置解析
按以下顺序查找团队配置(以第一个匹配项为准):
~/.agents/configs/send-to-linear/config.json(用户覆盖配置)references/config.json(随附的默认配置,相对于此技能文件)
如果找到用户配置,则使用该配置。否则回退到随附的 config.json。
如果不存在用户配置,且随附配置的必填字段(team、default_assignee)为空,请停止并提示用户:
未找到本地配置。随附的
references/config.json中的默认值为空,并且每次此技能更新时都会被覆盖。创建用户配置:
~/.agents/configs/send-to-linear/config.json将随附的
references/config.json复制为起始文件,并填写你的团队、项目、负责人、标签和约定。
模板解析
工单模板也遵循相同模式:
~/.agents/configs/send-to-linear/ticket-template.md(用户覆盖模板)references/ticket-template.md(随附的默认模板)
模板很少需要自定义,因此如果只有随附版本,无需提示用户。
阶段 1:接收输入
接受以下任意组合:
- Slack 记录——粘贴的消息,或通过 Slack MCP 工具获取
- 通话转录——来自 Fireflies(
mcp__fireflies__*工具)、粘贴的文本或文件 - 截图——使用 Read 工具读取图像文件
- 会议笔记 / 文档——任何 Markdown、文本或文档内容
- 用户描述——自由形式的“我们需要 X、Y、Z”
如果用户输入含糊或不完整,继续处理前先提出一个澄清问题。不要过度追问。
对于 Fireflies 转录:同时获取摘要(fireflies_get_summary)和完整转录(fireflies_get_transcript)。使用摘要确定主题,使用完整转录提取细节。
阶段 2:提取主题和可执行事项
对于简短输入(<5K 字符):直接在主上下文中提取。
对于较长输入(>5K 字符,例如完整通话转录):启动并行子 Agent,每个子 Agent 负责一个主要主题或时间段,提取以下内容:
- 具体示例和用例——最关键的产出。记录具体场景、公司 / 股票代码、KPI、原话、时间戳和推理链条。写着“修复解读错误”的工单毫无用处。写着“修复解读错误——例如,当评论称 Intel CapEx‘持平至下降’,而市场一致预期为‘下降’时,应识别为上调”的工单才具有可执行性。
- 功能需求——需要构建或更改的内容
- 限制 / 边界——明确排除的内容
- 验收标准——可测试的条件
将事项分类为:
- 可执行工单——范围明确,可以立即着手处理
- 想法 / 需要进一步思考——有愿景或探索性质,需记录但暂不可执行
阶段 3:将工单草案写入临时文件
使用 references/ticket-template.md 中的格式,写入 .claude/scratchpad/linear-tickets-YYYY-MM-DD.md。
凡是包含源材料中真实示例的工单,必须原文包含该示例——不要在概述时省略具体内容。
阶段 4:验证(仅适用于长篇输入)
短小 / 简单输入可跳过此步骤。对于通话转录或较长的 Slack 讨论串:
启动验证子 Agent,使其阅读完整源材料和工单草案,然后列出遗漏项:
- 提及但未纳入工单的用例
- 分配给某人的行动项,但未被记录
- 已达成共识但未列入验收标准的设计决定
- 未纳入任何工单的“我们需要做 X”陈述
根据发现的遗漏更新草案。
阶段 5:用户审核
停止。 告知用户文件已准备就绪,并等待用户明确指示后再在 Linear 中创建任何内容。
用户可以重组、合并、拆分、重命名、添加备注,或要求跳过某些事项。继续之前,将所有反馈应用到临时文件中。
第 6 阶段:在 Linear 中创建(仅在明确批准后)
按照 Setup 中的解析顺序读取配置,然后:
mcp__linear__list_teams— 解析团队 IDmcp__linear__list_issue_labels— 解析标签 IDmcp__linear__list_projects— 解析项目 ID(如果已配置)- 使用
type: "current"调用mcp__linear__list_cycles— 解析当前周期(如果assign_to_current_cycle为 true)
使用 mcp__linear__create_issue 创建每张已批准的工单:
team:来自配置project:来自配置assignee:来自配置cycle:当前周期编号state:来自配置中的default_statuslabels:根据工单的 Labels 字段匹配title:来自工单description:完整的工单正文,使用 Markdown 格式links:来源链接(如果有,例如 Fireflies 转录文本 URL、Slack 永久链接)
向用户报告已创建工单的标识符。
关键规则
- 具体示例不可或缺。 工程师需要根据具体场景了解要构建什么,而不是抽象描述。保留完整的推理链、准确引语和真实情境。
- 未经用户批准,绝不创建工单。 始终先将草稿写入暂存区。
- 配置项是默认值,而非限制。 用户可以在每次调用时覆盖团队、负责人、标签或任何其他字段。
- 不要过度合并。 如果两个事项是彼此独立的工作,就应拆分为不同工单。只有当事项确实属于同一交付成果时才合并。
- 埋藏在对话中的独立需求也要创建工单。 顺带提到的事项,例如“我们还需要比较日期”,都代表独立的工作项。