关于 linearis
linearis 是一项通过 `linearis` 命令行在 shell 中操作 Linear.app 的技能,命令以 JSON 返回结果。它要求先查阅 CLI 自带的用法说明,而非猜测命令或选项。
主要功能
- 01通过 shell 操作 Linear.app
- 02支持 JSON 输出和字段筛选
- 03通过用法说明查找命令
- 04处理身份验证和调用错误
- 05读取和管理问题讨论
适用场景
- 01创建和跟踪 Linear 问题
- 02操作前查询可用命令
- 03在问题讨论串中记录进展
- 04查看问题附件及关联资源
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ linearis-oss/ linearis --skill linearis安装后在 Claude Code 中输入/linearis确认已加载。
详细介绍
linearis
通过 linearis CLI 从 shell 操作 Linear.app(仅输出 JSON;linear 是别名)。不要猜测命令用法——CLI 会自行说明,而本技能讲解的是协议,不是标志。
预检查(响应式——根据 CLI 自身的输出采取相应操作;不要每轮都预先运行检查)
- 未安装 — 如果 shell 报告找不到命令,告诉用户尚未安装 linearis,并提供
npm install -g linearis。无需安装的备用方案是为命令加上前缀npx linearis@latest(会增加冷启动延迟,而且每次调用都需要网络——仅作备用方案,并非默认选项)。绝不要静默运行npm install -g。 - 需要身份验证 — 任何命令都可能在 stderr 上输出以下内容并以退出代码 42 失败:
{ "error": "AUTHENTICATION_REQUIRED", "action": "USER_ACTION_REQUIRED", "instruction": "Run 'linearis auth login' …", "exit_code": 42 }。 通过exit_code === 42/error === "AUTHENTICATION_REQUIRED"(而不是改述后的文本)检测,并向用户展示 CLI 自身的instruction。linearis auth login是你无法完成的交互式浏览器流程——请交由用户操作。 - 调用无效 — 未知命令或选项、参数数量错误,或指定命令组却未提供子命令时,会在 stderr 上以退出代码
2失败:{ "error": "UNKNOWN_COMMAND", "message": "…", "suggestion": "Did you mean read?", "command": "linearis issues", "available_commands": [...], "instruction": "Run 'linearis issues usage' …", "exit_code": 2 }。 根据错误内容恢复,而不要靠猜测:从available_commands中选择,或运行instruction。error可能是UNKNOWN_COMMAND、UNKNOWN_OPTION、MISSING_ARGUMENT、MISSING_REQUIRED_OPTION、MISSING_OPTION_ARGUMENT、TOO_MANY_ARGUMENTS、MISSING_SUBCOMMAND、INVALID_USAGE。仅输入命令组(linearis issues)会导致失败,并不表示请求帮助。 - 更新(仅供参考,绝不阻塞操作) — 可以选择运行一次
linearis version check→{ current, latest, channel, updateAvailable }。如果updateAvailable为 true,告知用户并在运行npm install -g linearis@latest前征求同意,同时遵循channel(不要将next用户切换到latest)。npm 可能会卡住或触发速率限制;发生超时或任何错误时,直接使用已安装的版本继续操作。通过linearis version(JSON)读取已安装版本,不要使用--version。
先探索,再操作
- 运行一次
linearis usage,查看域列表(issues、projects、cycles 等)。 - 操作前运行
linearis <domain> usage,查看该域完整的命令和标志参考。 - 绝不要编造标志或子命令——
usage是权威依据,并始终保持最新。
输出
每条命令都会在 stdout 上输出 JSON。使用全局标志 --fields identifier,title,state.name 和 --compact 在源头整理输出——无需外部二进制文件,且适用于 Windows 和全新容器。只有在需要复杂重塑数据时才使用 jq;如果没有 jq,则回退到原始 JSON。
值得了解的不变规则(其他内容见 usage)
- ID 的格式要求宽松:UUID、团队键(
ENG)、工单标识符(ABC-123)或名称均可互换使用。引用工单时请使用标识符。 issues create必须指定--team;某些筛选条件需要指定范围标志——请在usage中确认,不要死记。- 线程式讨论位于
issues discuss/discussions/replies/reply下。顶层的comments域是已弃用的接口(仍可使用)——请优先使用issues下的讨论命令。将重要进展记录在讨论线程中,并在状态变更时同步更新描述。 files download <url>仅获取 Linear 存储 URL(uploads.linear.app);files upload会返回可嵌入的assetUrl;issues read --with-attachments会列出关联资源(PR、文档、URL)——这些是引用,不一定是可下载文件。
本文未涵盖的内容,请参阅 linearis <domain> usage。
评论
支持 Markdown