Install
openclaw skills install @thcjp/linear-sync-tool-pro全功能Linear命令行工具,支持任务全生命周期管理、批量操作、文档与里程碑管理、GraphQL查询及Git分支和PR集成。
openclaw skills install @thcjp/linear-sync-tool-pro功能说明: 本技能涵盖 命令行方案、全量操作 等核心能力。
全功能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 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命令行工具# 检查CLI
linear --version
# ...
# 认证登录
linear auth login
# ...
# 在项目根目录配置
cd my-project
linear config
# 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
# 导出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 } }"}'
# 配置版本控制系统
# 在 .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.tomllinear.toml或.linear.toml.config/linear.toml$HOME/.config/linear/linear.toml[模块] 动词+对象格式(如[支付] 修复回调超时),便于检索和分类.linear issue start自动创建符合命名规范的分支,减少手动操作.linear api直接执行GraphQL,灵活获取所需数据.for循环执行,提升效率.--project参数,将文档关联到项目,保持知识库结构清晰.linear schema导出最新Schema,确保GraphQL查询字段有效.通过linear issue list --format json查看任务的状态信息,或通过GraphQL查询{ workflowStates { id name } }获取所有状态ID.
Linear API有速率限制。批量操作时在循环中添加sleep 1控制请求间隔,避免触发429错误.
默认格式为<团队前缀>/<任务ID>-<任务标题slug>。具体格式可在.linear.toml中通过相关配置项自定义.
Linear的GraphQL API按需返回字段,必须在查询中明确指定需要的字段。使用linear schema导出Schema查看可用字段.
支持。通过--content-file上传的Markdown文件会被Linear解析并渲染。直接使用--content参数时也可传入Markdown格式文本.
需在项目根目录执行,CLI会自动检测Git远程仓库并创建PR。确保仓库已关联到Linear团队设置的Git集成中.
通过LINEAR_TEAM_ID环境变量临时指定,或在.linear.toml中设置team_id。也可在GraphQL查询中通过teamId参数指定.
Linear的任务删除是软删除,可在网页端的回收站中恢复。建议删除前先添加评论记录删除原因.
通过linear issue view ABC-123查看任务详情时会包含评论。或通过GraphQL查询{ issue(id: "ABC-123-id") { comments { body user { name } } } }.
配置文件在命令执行时读取。确保修改的是正确查找路径下的文件。使用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关联任务| 版本 | 价格 | 功能 | 适用场景 |
|---|---|---|---|
| 免费体验版 | 0元 | 任务查询+基础创建+团队项目查看 | 个人试用 |
| 收费专业版 | 29.9元/月 | 全功能+任务全生命周期+批量+GraphQL+Git集成 | 团队/企业 |
| 专业版通过SkillHub SkillPay发布. |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| linear CLI | 命令行工具 | 必需 | 通过包管理器安装 |
| Linear账户 | 在线账户 | 必需 | 在Linear官网注册 |
| Linear API Key | 认证凭据 | 必需 | 在Linear设置中创建 |
| Git | 版本控制 | 可选 | Git集成功能需要 |
| jq | 命令行工具 | 可选 | GraphQL结果处理时使用 |
| LLM API | API | 必需 | 由Agent平台内置LLM提供 |
linear auth login命令安全存储,或通过环境变量LINEAR_API_KEY配置linear auth token命令获取当前认证Token(用于curl直接调用){
"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 | 通用场景 | 通用场景 |