Linear同步(专业版)
全功能Linear命令行工具,支持任务全生命周期管理、批量操作、文档与里程碑管理、GraphQL查询及Git分支和PR集成。
天轰穿
@thcjp
Install
$ openclaw skills install @thcjp/linear-sync-tool-pro功能说明: 本技能涵盖 命令行方案、全量操作 等核心能力。
Linear同步工具(专业版)
全功能Linear项目管理命令行工具,覆盖任务全生命周期、批量操作、文档管理、GraphQL API和Git集成。专业版面向需要深度项目管理自动化的研发团队.
概述
Linear作为研发项目管理工具,其高级功能(任务流转、批量操作、文档管理、GraphQL查询、Git集成)在命令行场景下缺乏统一封装。专业版Skill将这些能力整合为可被AI Agent直接调用的命令行操作,实现从需求创建、任务分配、代码开发到合并关闭的全流程自动化. 相比免费版,专业版新增任务更新与删除、评论管理、批量操作、文档管理、里程碑管理、GraphQL API和Git集成七大能力模块,并提供多角色场景指南和完整故障排查表.
核心能力
| 能力模块 | 专业版支持 | 说明 |
|---|---|---|
| 任务列表 | 全量 | 按状态、团队、分配者过滤 |
| 任务详情 | 全量 | 查看完整信息和评论 |
| 任务创建 | 全量 | 标题、描述、状态、优先级、分配者 |
| 任务更新 | 支持 | 修改标题、状态、优先级等字段 |
| 任务删除 | 支持 | 安全删除(需确认) |
| 任务评论 | 支持 | 添加、查看和回复评论 |
| 任务流转 | 支持 | start开始、PR创建、状态切换 |
| 批量操作 | 支持 | 批量创建、更新和状态变更 |
| 文档管理 | 支持 | 创建、查看、更新和删除文档 |
| 里程碑管理 | 支持 | 创建和查看项目里程碑 |
| 项目管理 | 全量 | 创建、查看、更新项目 |
| 团队管理 | 全量 | 列出、创建、删除、成员管理 |
| GraphQL API | 支持 | 直接执行GraphQL查询和变更 |
| Git集成 | 支持 | 分支创建、PR关联 |
| 配置管理 | 全量 | 环境变量和TOML配置文件 |
核心功能执行
用input_params参数进行配置.
处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应.
输出: 返回核心功能执行的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
input_params参数,支持创建/查询/导出操作
参数配置与调用
用config_options参数进行配置.
处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应.
输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
config_options参数,支持修改/重置/导入操作
结果处理与输出
用output_format参数进行配置.
处理: 解析结果处理与输出的输入参数,完成核心逻辑,返回结构化响应.
输出: 返回结果处理与输出的响应数据,包含状态码、结果和日志.
- 执行此能力时使用
output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:全功能、Linear、管理工具、支持任务全生命周、同步工具专业版是、面向研发团队的完、整项目管理命令行、在免费版基础上解、锁任务全生命周期、直接调用和、集成等全部高级能、核心能力、评论全生命周期、批量任务操作、项目里程碑管理、原始查询、分支创建与、任务状态自动流转、团队与项目管理全等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
使用场景
开发者场景:任务开发全流程
从领取任务到创建PR的完整开发工作流自动化:
# 1. 查看分配给自己的任务
linear issue list -a self -s started
# ...
# 2. 开始开发任务(自动创建分支)
linear issue start ABC-123
# ...
# 3. 创建PR关联任务
linear issue pr
# ...
# 4. 添加评论记录进度
linear issue comment add ABC-123 -b "已完成核心逻辑,待代码审查"
# ...
# 5. 更新任务状态
linear issue update ABC-123 -s "In Review"
项目经理场景:批量任务管理
批量创建和管理项目任务,提升团队协作效率:
# 批量创建任务(通过脚本循环)
for task in "实现登录页" "实现注册页" "实现密码重置"; do
linear issue create -t "$task" -d "需求描述" -s "Backlog" --priority 2
done
# ...
# 查看项目所有任务的状态分布
linear issue list -A | grep -oP 'Status: \K\S+' | sort | uniq -c
# ...
# 查看项目里程碑
linear milestone list --project <projectId>
# ...
# 创建新项目
linear project create -n "Q1迭代" -t ENG -s started --target-date 2026-03-31
技术负责人场景:GraphQL自定义查询
通过GraphQL API执行CLI未覆盖的高级查询:
# 导出GraphQL schema用于参考
linear schema -o /tmp/linear-schema.graphql
# ...
# 查询当前用户信息
linear api '{ viewer { id name email } }'
# ...
# 带变量查询
linear api 'query($teamId: String!) { team(id: $teamId) { name } }' \
--variable teamId=abc123
# ...
# 复杂过滤查询
linear api 'query($filter: IssueFilter!) { issues(filter: $filter) { nodes { title } } }' \
--variables-json '{"filter": {"state": {"name": {"eq": "In Progress"}}}}'
# ...
# 获取前5个任务的标题
linear api '{ issues(first: 5) { nodes { identifier title } } }' | jq '.data.issues.nodes[].title'
文档管理场景:项目文档协同
创建和管理Linear中的项目文档:
# 列出所有文档
linear document list
# ...
# 从文件创建文档
linear document create --title "设计规格" --content-file ./spec.md --project <projectId>
# ...
# 查看文档
linear document view <slug>
# ...
# 更新文档内容
linear document update <slug> --content-file ./updated-spec.md
# ...
# 删除文档
linear document delete <slug> -y
快速开始
前置条件
- 已安装
linear命令行工具 - 已在Linear设置中创建API Key
- 已完成认证和项目配置
依赖详情
# 检查CLI
linear --version
# ...
# 认证登录
linear auth login
# ...
# 在项目根目录配置
cd my-project
linear config
使用流程
- 阅读## 核心能力章节了解skill功能
- 按## 依赖说明配置环境
- 执行所需能力对应的命令
- 参考## 错误处理章节处理异常
- 查看## FAQ解答常见疑问
# 1. 查看可用命令
linear --help
# ...
# 2. 查看任务列表
linear issue list
# ...
# 3. 创建任务(完整参数)
linear issue create -t "实现用户注册" -d "需要邮箱验证" -s "In Progress" -a self --priority 1
# ...
# 4. 更新任务
linear issue update ABC-123 -s "Done" -t "更新后的标题"
# ...
# 5. 添加评论
linear issue comment add ABC-123 -b "已修复并测试通过"
# ...
# 6. 查看项目列表
linear project list
# ...
# 7. 创建文档
linear document create --title "会议纪要" --content-file ./notes.md
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
示例
任务全生命周期管理
# 创建任务(完整参数)
linear issue create \
-t "修复支付bug" \
-d "用户支付时出现500错误" \
-s "In Progress" \
-a self \
--priority 1
# ...
# 更新任务字段
linear issue update ABC-123 -s "Done" -t "已修复支付bug"
linear issue update ABC-123 --priority 2
# ...
# 开始开发任务
linear issue start ABC-123
# ...
# 创建PR关联任务
linear issue pr
# ...
# 添加评论
linear issue comment add ABC-123 -b "修复方案:添加异常处理和重试机制"
# ...
# 删除任务(需确认)
linear issue delete ABC-123 -y
批量操作
# 批量创建任务
for task in "登录页" "注册页" "首页" "个人中心"; do
linear issue create -t "实现${task}" -d "开发${task}前端页面" -s "Backlog" --priority 2
done
# ...
# 批量更新状态(使用GraphQL)
linear api 'mutation {
issueUpdate(id: "ABC-123", input: {stateId: "done-state-id"}) { success }
}'
# ...
# 批量查询任务状态
linear issue list -A --format json | jq '.[] | {id: .id, title: .title, state: .state.name}'
文档管理
# 列出文档
linear document list
# ...
# 创建文档(从文件)
linear document create \
--title "技术设计文档" \
--content-file ./design.md \
--project <projectId>
# ...
# 创建文档(直接内容)
linear document create \
--title "会议纪要" \
--content "# 周会纪要\n\n## 议题\n1. 进度同步\n2. 风险评估" \
--project <projectId>
# ...
# 查看文档
linear document view <slug>
# ...
# 更新文档
# ...
# 删除文档
linear document delete <slug> -y
里程碑与项目管理
# 列出项目
linear project list
# ...
# 创建项目
linear project create \
-n "Q1产品迭代" \
-t ENG \
-s started \
--target-date 2026-03-31
# ...
# 查看项目里程碑
linear milestone list --project <projectId>
# ...
# 创建里程碑
linear milestone create -n "MVP发布" --project <projectId> --target-date 2026-02-15
# ...
# 查看项目更新
linear project-update list --project <projectId>
团队管理
# 列出团队
linear team list
# ...
# 查看团队成员
linear team members
# ...
# 查看团队信息
linear team view ENG
# ...
# 查看团队标签
linear label list
GraphQL API直接调用
# 导出Schema用于参考
# ...
# 搜索Schema中的特定类型
grep -i "cycle" /tmp/linear-schema.graphql
grep -A 30 "^type Issue " /tmp/linear-schema.graphql
# ...
# 执行查询
linear api '{ viewer { id name email } }'
# ...
# 带变量的查询
) { team(id: $teamId) { name } }' \
--variable teamId=abc123
# ...
# 带JSON变量的复杂查询
) { issues(filter: $filter) { nodes { title } } }' \
--variables-json '{"filter": {"state": {"name": {"eq": "In Progress"}}}}'
# ...
# 使用curl直接调用
curl -s -X POST https://api.linear.app/graphql \
-H "Content-Type: application/json" \
-H "Authorization: $(linear auth token)" \
-d '{"query": "{ viewer { id } }"}'
Git集成配置
# 配置版本控制系统
# 在 .linear.toml 中设置
# vcs = "git" 或 vcs = "jj"
# ...
# 任务开始时自动创建分支
linear issue start ABC-123
# 自动创建分支:eng/ABC-123-fix-login-bug
# ...
# 创建PR关联任务
linear issue pr
# 自动创建PR并关联到任务
配置文件完整示例
# .linear.toml
team_id = "ENG"
workspace = "mycompany"
issue_sort = "priority"
vcs = "git"
| 配置项 | 环境变量 | TOML键 | 示例值 |
|---|---|---|---|
| 团队ID | LINEAR_TEAM_ID | team_id | "ENG" |
| 工作区 | LINEAR_WORKSPACE | workspace | "mycompany" |
| 任务排序 | LINEAR_ISSUE_SORT | issue_sort | "priority" 或 "manual" |
| 版本控制 | LINEAR_VCS | vcs | "git" 或 "jj" |
| 配置文件查找顺序: |
- 当前目录的
linear.toml或.linear.toml - 项目根目录的
linear.toml或.linear.toml - 项目根目录的
.config/linear.toml - 用户目录的
$HOME/.config/linear/linear.toml
优选实践
- 任务标题使用标准格式:采用
[模块] 动词+对象格式(如[支付] 修复回调超时),便于检索和分类. - 利用start命令自动化分支创建:
linear issue start自动创建符合命名规范的分支,减少手动操作. - GraphQL用于高级查询:CLI未覆盖的查询需求通过
linear api直接执行GraphQL,灵活获取所需数据. - 批量操作使用脚本循环:将常用批量操作封装为Shell脚本,通过
for循环执行,提升效率. - 文档与任务关联:创建文档时指定
--project参数,将文档关联到项目,保持知识库结构清晰. - 配置分层管理:项目级配置放项目根目录,个人偏好放用户目录,通过配置文件查找顺序实现自动加载.
- 定期导出Schema参考:Linear API更新后,用
linear schema导出最新Schema,确保GraphQL查询字段有效.
常见问题
Q1: 任务更新时状态ID怎么获取?
通过linear issue list --format json查看任务的状态信息,或通过GraphQL查询{ workflowStates { id name } }获取所有状态ID.
Q2: 批量创建任务时如何控制速率?
Linear API有速率限制。批量操作时在循环中添加sleep 1控制请求间隔,避免触发429错误.
Q3: Git集成的分支命名规则是什么?
默认格式为<团队前缀>/<任务ID>-<任务标题slug>。具体格式可在.linear.toml中通过相关配置项自定义.
Q4: GraphQL查询返回字段不全?
Linear的GraphQL API按需返回字段,必须在查询中明确指定需要的字段。使用linear schema导出Schema查看可用字段.
Q5: 文档创建支持Markdown吗?
支持。通过--content-file上传的Markdown文件会被Linear解析并渲染。直接使用--content参数时也可传入Markdown格式文本.
Q6: issue pr命令如何关联代码仓库?
需在项目根目录执行,CLI会自动检测Git远程仓库并创建PR。确保仓库已关联到Linear团队设置的Git集成中.
Q7: 多团队环境下如何切换操作的团队?
通过LINEAR_TEAM_ID环境变量临时指定,或在.linear.toml中设置team_id。也可在GraphQL查询中通过teamId参数指定.
Q8: 任务删除是否可恢复?
Linear的任务删除是软删除,可在网页端的回收站中恢复。建议删除前先添加评论记录删除原因.
Q9: 如何查看任务的完整评论历史?
通过linear issue view ABC-123查看任务详情时会包含评论。或通过GraphQL查询{ issue(id: "ABC-123-id") { comments { body user { name } } } }.
Q10: 配置文件修改后不生效?
配置文件在命令执行时读取。确保修改的是正确查找路径下的文件。使用linear config交互式重新生成配置确保生效.
错误处理
| 错误场景(症状) | 可能原因 | 解决方案 | 优先级 |
|---|---|---|---|
| 认证失败 | API Key过期或权限不足 | 重新创建API Key,检查权限范围 | 高 |
| 查询返回空 | 团队ID配置错误 | 检查.linear.toml的team_id | 高 |
| 创建任务报错 | 必填字段缺失 | 确保提供标题(-t)和描述(-d) | 中 |
| GraphQL报错 | 查询语法错误 | 对照Schema检查字段名和类型 | 中 |
| issue start失败 | Git未配置或仓库问题 | 检查Git远程配置和VCS设置 | 中 |
| issue pr创建失败 | 仓库未关联Linear | 在Linear设置中配置Git集成 | 中 |
| 批量操作触发429 | API速率限制 | 添加请求间隔,降低并发 | 中 |
| 文档创建失败 | 项目ID错误 | 通过project list确认项目ID | 低 |
| 里程碑创建失败 | 日期格式错误 | 使用YYYY-MM-DD格式 | 低 |
| 配置不生效 | 文件路径错误 | 确认配置文件在查找路径中 | 低 |
专业版特性
本专业版相比免费版新增以下能力:
- 任务更新与删除:修改任务标题、状态、优先级等字段,安全删除任务
- 任务评论管理:添加、查看和回复评论,记录开发进度和决策
- 任务状态流转:
issue start自动创建分支,issue pr自动创建PR关联任务 - 批量操作:通过脚本循环实现批量创建、更新和状态变更
- 文档管理:创建、查看、更新和删除Linear文档,支持Markdown内容
- 里程碑管理:创建和查看项目里程碑,跟踪关键节点
- GraphQL API直接调用:执行CLI未覆盖的高级查询和变更操作
- Git集成:分支自动创建、PR关联,实现代码与任务的自动联动
- 项目与团队全量管理:创建项目、管理团队成员和标签
定价
| 版本 | 价格 | 功能 | 适用场景 |
|---|---|---|---|
| 免费体验版 | 0元 | 任务查询+基础创建+团队项目查看 | 个人试用 |
| 收费专业版 | 29.9元/月 | 全功能+任务全生命周期+批量+GraphQL+Git集成 | 团队/企业 |
| 专业版通过SkillHub SkillPay发布. |
依赖说明
运行环境
- Agent平台:支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
- 操作系统:Windows / macOS / Linux
- linear CLI:已安装并通过认证
- Git:已配置(Git集成功能需要)
第三方依赖
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| linear CLI | 命令行工具 | 必需 | 通过包管理器安装 |
| Linear账户 | 在线账户 | 必需 | 在Linear官网注册 |
| Linear API Key | 认证凭据 | 必需 | 在Linear设置中创建 |
| Git | 版本控制 | 可选 | Git集成功能需要 |
| jq | 命令行工具 | 可选 | GraphQL结果处理时使用 |
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
API Key 配置
- Linear API Key:在Linear网页端设置 → 账户 → 安全中创建
- 存储方式:通过
linear auth login命令安全存储,或通过环境变量LINEAR_API_KEY配置 - Token获取:通过
linear auth token命令获取当前认证Token(用于curl直接调用) - 禁止:在代码或配置文件中明文写入API Key或Token
- 权限管理:API Key的权限范围在Linear设置中控制,建议遵循最小权限原则
可用性分类
- 分类:MD+EXEC(纯Markdown指令,需要exec命令行执行能力)
- 说明:基于Markdown的AI Skill,通过自然语言指令驱动Agent执行Linear全量命令行操作
已知限制
- 需要API Key,无Key环境无法使用
输出格式
{
"success": true,
"data": {
"result": "Linear同步(专业版)处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "linear sync pro"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}
安全注意事项
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
| 使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。 |
效率量化分析
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
差异化对比
| 对比维度 | Linear同步(专业版) | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 全功能Linear管理工具,支持任务全生命周期、批量操作、GraphQL API | 通用场景 | 通用场景 |
Top skills in this category
Gog
@steipeteGoogle Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
API Gateway
@byungkyuCall third-party APIs through the Maton gateway, which injects the credential for an app the user has already connected. Use this skill when the user names a connected app and a concrete action in it - read a mailbox, query a CRM, file an issue, update a spreadsheet, run a query through a connected
Notion
@steipeteNotion API for creating and managing pages, databases, and blocks.
Mcporter
@steipeteUse the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
Caldav Calendar
@asleep123Sync and query CalDAV calendars (iCloud, Google, Fastmail, Nextcloud, etc.) using vdirsyncer + khal. Works on Linux.