Linear Skill 是一个用于读取和管理 Linear 中 issue、项目和周期的命令行技能。它面向需要围绕 Linear 开展日常工作的用户,帮助其访问团队、周期和项目信息,以支撑日常工作安排。
一、用途 该技能用于读取、搜索和管理 Linear 的 issue,并可访问团队、周期(cycle)和项目。典型使用场景包括:查看分配给自己或团队的任务、检查冲刺(cycle)状态、搜索特定 issue、创建和更新 issue、调整看板排序,以及管理 issue 所属项目。
二、首次设置(约 2 分钟)
- 创建个人 API Key:进入 Linear 设置;或通过 Settings > Account > Security & Access > Personal API keys;点击 Create key;为其命名(例如 “Claude Assistant”);选择权限:最低为 Read,或选择 Read + Write 以获得完整访问权限;点击 Create 并复制该 key(以 lin_api_ 开头)。
- 保存 API Key:创建配置文件: echo '{"api_key": "lin_api_YOUR_KEY_HERE"}' > ~/.claude/skills/linear-skill/config.json
三、命令 以下命令均通过 python3 ~/.claude/skills/linear-skill/linear_skill.py 调用。
-
我的 issue(分配给我):my-issues [--limit N] [--status STATUS]。显示分配给你的 issue,适合每日站会准备。
-
列出团队:teams。
-
团队 issue:issues TEAM [--limit N] [--status STATUS] [--priority PRIORITY]。参数:TEAM 为团队 key(如 ENG、EPO)或团队名称;--status / -s 按状态过滤:backlog、todo、in_progress、done、canceled;--priority / -p 按优先级过滤:urgent、high、medium、low、none;--limit / -l 为 issue 数量(默认 20)。
-
获取 issue 详情:issue ISSUE_ID。ISSUE_ID 可以是 issue 标识符(如 EPO-123)或 UUID。
-
当前周期(冲刺):cycle TEAM。显示某团队的活动周期/冲刺及其进度统计。
-
列出周期:cycles TEAM [--limit N]。
-
搜索 issue:search "query" [--limit N]。
-
创建 issue:create TEAM --title "Title" [--description "Desc"] [--priority PRIORITY] [--project PROJECT]。参数:TEAM 为团队 key(如 EPO);--title / -t 为 issue 标题(必填);--description / -d 为 issue 描述;--priority / -p 为优先级:urgent、high、medium、low、none;--project 为要分配到的项目名称。
-
更新 issue:update ISSUE_ID [--status STATUS] [--project PROJECT]。参数:ISSUE_ID 为 issue 标识符(如 EPO-123);--status / -s 为新状态;--project 将 issue 移动到不同项目。
-
重新排序 issue:reorder ISSUE1 ISSUE2 ISSUE3...。通过在车道内设置 sortOrder 重新排序 issue。issue 按优先级顺序列出(第一个 = 列表顶部)。参数:ISSUE1 ISSUE2... 为所需顺序的 issue 标识符;--base 为起始 sortOrder 值(默认 0.0);--increment 为 issue 之间的增量(默认 1.0)。示例:
Reorder In Progress lane: EPO-485 at top, then EPO-480, then EPO-397
python3 ~/.claude/skills/linear-skill/linear_skill.py reorder EPO-485 EPO-480 EPO-397
- 列出项目:projects [TEAM]。
四、工作流示例
-
晨间站会准备: python3 ~/.claude/skills/linear-skill/linear_skill.py my-issues --status in_progress python3 ~/.claude/skills/linear-skill/linear_skill.py cycle EPO
-
检查团队待办: python3 ~/.claude/skills/linear-skill/linear_skill.py issues EPO --status todo --priority high
-
查找具体工作: python3 ~/.claude/skills/linear-skill/linear_skill.py search "authentication bug"
-
快速创建 issue: python3 ~/.claude/skills/linear-skill/linear_skill.py create EPO --title "Fix login timeout" --priority high
-
看板梳理(重排车道): python3 ~/.claude/skills/linear-skill/linear_skill.py reorder EPO-485 EPO-480 EPO-397 EPO-457 python3 ~/.claude/skills/linear-skill/linear_skill.py reorder EPO-435 EPO-472 EPO-451
-
在项目中创建 issue: python3 ~/.claude/skills/linear-skill/linear_skill.py create EPO --title "New feature" --project "Zerg AI Platform"
-
将 issue 移动到项目: python3 ~/.claude/skills/linear-skill/linear_skill.py update EPO-123 --project "Zerg AI Platform"
五、输出 所有命令输出 JSON,便于解析。issue 输出包含:identifier(如 EPO-123)、title、status(当前工作流状态)、priority(0 为 none 到 1 为 urgent)、assignee(分配给谁)、cycle(适用的冲刺/周期信息)、labels(应用的标签)、estimate(设置的故事点)。
六、状态值与优先级值 状态:backlog(尚未规划)、todo(已规划但未开始)、in_progress(正在处理)、in_review(审核中)、done(已完成)、canceled(不再做)。 优先级:urgent (1) 放下一切、high (2) 重要、medium (3) 普通、low (4) 可选、none (0) 未设置优先级。
七、要求 无外部依赖,仅使用 Python 标准库。
八、安全说明 API key 不会过期,但可从 Linear 设置中撤销。Token 存储在本地 ~/.claude/skills/linear-skill/config.json。撤销访问:Settings > Account > Security & Access > Personal API keys。
九、来源 Linear API 文档、GraphQL 参考、过滤。