LinearSOP技能Skill linear-sop

此技能提供Linear票务管理的标准操作流程,包括问题创建、状态更新、证据附加等最佳实践,以及开发、暂存和完成阶段的证据模板,便于团队协作和项目管理。关键词:Linear, 票务管理, SOP, 证据模板, 验收标准, 项目管理, 工具集成

项目管理 0 次安装 0 次浏览 更新于 3/15/2026

名称: linear-sop 描述: 线性票务管理最佳实践。在创建问题、更新状态或附加证据时使用。提供开发/暂存/完成阶段的证据模板。

Linear SOP 技能

目的

指导一致的Linear票务管理。提供强制性的开发/暂存/UAT证据政策的证据模板。

当此技能适用时

在以下情况下调用此技能:

  • 创建新的Linear问题
  • 更新票务状态
  • 附加证据到票务
  • 解析验收标准
  • 处理UUID和问题ID

Linear MCP 工具

读取问题

# 通过标识符获取问题
mcp__linear-mcp__get_issue({ id: "{{TICKET_PREFIX}}-459" })

# 使用过滤器列出问题
mcp__linear-mcp__list_issues({
  team: "{{PROJECT_TEAM_NAME}}",
  state: "进行中",
  assignee: "我",
})

创建问题

mcp__linear-mcp__create_issue({
  title: "功能(范围): 描述",
  team: "{{PROJECT_TEAM_NAME}}",
  description: "## 总结

...",
  labels: ["功能", "冲刺-1"],
  parentId: "父级-uuid",  // 可选 - 用于子问题
})

更新问题

mcp__linear-mcp__update_issue({
  id: "{{TICKET_PREFIX}}-459",
  state: "完成",
})

添加评论

mcp__linear-mcp__create_comment({
  issueId: "{{TICKET_PREFIX}}-459",
  body: "**开发证据**

...",
})

证据政策(必须)

每个问题在每个阶段都需要证据:

阶段 是否必需? 内容
开发 必须 实施证明
暂存 必须 UAT验证(或不适用)
完成 必须 最终验证

证据模板

开发证据模板

**开发证据**

**PR**: https://github.com/{{ORG_NAME}}/{{REPO_NAME}}/pull/XXX
**提交**: [短哈希]
**分支**: {{TICKET_PREFIX}}-XXX-描述

**实施:**

- [x] 功能已实施
- [x] 测试通过
- [x] 代码检查通过

**验证:**

\`\`\`bash
yarn ci:validate

# 输出:所有检查通过

\`\`\`

暂存/UAT证据模板

**暂存证据**

**环境**: Pop OS开发服务器
**URL**: http://pop-os:3000

**验证步骤:**

1. 部署到暂存: [时间戳]
2. 冒烟测试通过: [是/否]
3. 功能已验证: [描述]

**UAT状态:** [通过/待处理/不适用]

如果不适用,原因: [例如,"仅开发工具 - 无用户界面更改"]

完成证据模板

**完成证据**

**PR已合并**: https://github.com/{{ORG_NAME}}/{{REPO_NAME}}/pull/XXX
**合并提交**: [哈希]

**最终检查清单:**

- [x] 所有验收标准已满足
- [x] 文档已更新(如适用)
- [x] 未检测到回归

验收标准解析

当读取问题描述时,提取验收标准:

## 验收标准

- [ ] 用户可以执行操作X
- [ ] 系统响应Y
- [ ] Z的错误处理

转换为可测试的检查清单:

const acceptanceCriteria = [
  { criterion: "用户可以执行操作X", verified: false },
  { criterion: "系统响应Y", verified: false },
  { criterion: "Z的错误处理", verified: false },
];

状态工作流

待办 -> 就绪 -> 进行中 -> 测试中 -> 待评审 -> 完成

状态更新指南

何时
待办 就绪 冲刺规划
就绪 进行中 工作开始
进行中 测试中 PR已创建
测试中 待评审 测试通过,UAT完成
待评审 完成 POPM批准

UUID处理

Linear在内部使用UUID。当处理API时:

// 问题标识符(人类可读)
const issueId = "{{TICKET_PREFIX}}-459";

// UUIDs(API操作)
const uuid = "ef6a5fa0-2b46-417f-8266-dea2d187b10a";

// 通过MCP工具从标识符获取UUID
// mcp__linear-mcp__get_issue({ id: "{{TICKET_PREFIX}}-459" })
// 返回包含.id属性的问题对象,该属性包含UUID

常见操作

链接PR到问题

当以下情况时,PR会自动链接:

  • 分支名称包含{{TICKET_PREFIX}}-XXX
  • PR标题包含[{{TICKET_PREFIX}}-XXX]

创建子问题

mcp__linear-mcp__create_issue({
  title: "子任务描述",
  team: "{{PROJECT_TEAM_NAME}}",
  parentId: "父级问题-uuid",
})

按标签查询

mcp__linear-mcp__list_issues({
  label: "冲刺-1",
  team: "{{PROJECT_TEAM_NAME}}",
})

权威参考

  • Agent Workflow SOP: docs/sop/AGENT_WORKFLOW_SOP.md
  • Linear MCP Docs: 内置在Claude Code中
  • CONTRIBUTING.md: 工作流文档