← 返回 Skills 市场
kyaukyuai

Linear CLI

作者 Yuya Kakui · GitHub ↗ · v3.2.0 · MIT-0
cross-platform ⚠ suspicious
656
总下载
1
收藏
1
当前安装
25
版本数
在 OpenClaw 中安装
/install kyaukyuai-linear-cli
功能描述
Use the linear-cli agent-native runtime to read and mutate Linear from Claude Code, Codex, or other agents. Use when the runtime needs default JSON output, s...
使用说明 (SKILL.md)

Linear CLI

An agent-native Linear runtime for the current v3 execution model, with stable JSON contracts, startup discovery, dry-run previews, timeout-aware write semantics, source-adjacent intake, and git/jj workflow integration.

Recommended Agent Loop

When using this CLI from an agent runtime, prefer this order:

  1. Discover command traits with linear capabilities; use --compat v1 only when an older consumer still expects the trimmed legacy shape
  2. Read Linear state with default-JSON core surfaces or --json
  3. Preview writes with --dry-run --json when available
  4. Apply writes on the default machine-readable surface, then inspect operation, receipt, and error.details
  5. Inspect exit codes and error.details instead of parsing styled terminal text

Prompt-driven human/debug flows are secondary and explicit. When a command supports prompts or editor entry, pass --profile human-debug --interactive; otherwise missing required inputs fail fast.

Agent-safe execution semantics are now the default runtime behavior. --text and --profile human-debug are the explicit human/debug escape hatches for maintainers, and --profile agent-safe remains accepted for compatibility with older automation.

When upstream tooling hands the runtime a normalized Slack, ticket, or similar source envelope, prefer --context-file, add --apply-triage if that envelope already contains deterministic team/state/label hints, and choose --autonomy-policy explicitly when the wrapper needs suggest-only or preview-required staging.

Recommended supporting docs:

Prerequisites

The linear command must be available on PATH. To check:

linear --version

If not installed, follow the instructions at:
https://github.com/kyaukyuai/linear-cli?tab=readme-ov-file#install

Best Practices for Markdown Content

When working with issue descriptions or comment bodies that contain markdown, prefer file-based flags for existing files and stdin for generated pipeline content:

  • Use --description-file for issue create and issue update commands when the content already exists on disk
  • Use --body-file for comment add and comment update commands when the content already exists on disk
  • Pipe stdin for generated markdown, for example cat description.md | linear issue create --title "My Issue" --team ENG

Why avoid large inline flags:

  • Ensures proper formatting in the Linear web UI
  • Avoids shell escaping issues with newlines and special characters
  • Prevents literal \ sequences from appearing in markdown
  • Makes it easier to work with multi-line content in scripts and pipelines

Example workflow:

# Write markdown to a temporary file
cat > /tmp/description.md \x3C\x3C'EOF'
## Summary

- First item
- Second item

## Details

This is a detailed description with proper formatting.
EOF

# Create issue using the file
linear issue create --title "My Issue" --description-file /tmp/description.md

# Or pipe generated markdown directly
cat /tmp/description.md | linear issue create --title "My Issue" --team ENG

# Or for comments
linear issue comment add ENG-123 --body-file /tmp/comment.md

Only use inline flags (--description, --body) for simple, single-line content.

Available Commands

linear auth               # Manage Linear authentication
linear issue              # Manage Linear issues
linear team               # Manage Linear teams
linear project            # Manage Linear projects
linear project-update     # Manage project status updates
linear cycle              # Manage Linear team cycles
linear milestone          # Manage Linear project milestones
linear initiative         # Manage Linear initiatives
linear initiative-update  # Manage initiative status updates (timeline posts)
linear label              # Manage Linear issue labels
linear document           # Manage Linear documents
linear notification       # Manage Linear notifications
linear webhook            # Manage Linear webhooks
linear workflow-state     # Manage Linear workflow states
linear user               # Manage Linear users
linear project-label      # Manage Linear project labels
linear config             # Interactively generate .linear.toml configuration
linear schema             # Print the GraphQL schema to stdout
linear api                # Make a raw GraphQL API request
linear capabilities       # Describe the agent-facing command surface
linear resolve            # Resolve references without mutating Linear

Reference Documentation

  • auth - Manage Linear authentication
  • issue - Manage Linear issues
  • team - Manage Linear teams
  • project - Manage Linear projects
  • project-update - Manage project status updates
  • cycle - Manage Linear team cycles
  • milestone - Manage Linear project milestones
  • initiative - Manage Linear initiatives
  • initiative-update - Manage initiative status updates (timeline posts)
  • label - Manage Linear issue labels
  • document - Manage Linear documents
  • notification - Manage Linear notifications
  • webhook - Manage Linear webhooks
  • workflow-state - Manage Linear workflow states
  • user - Manage Linear users
  • project-label - Manage Linear project labels
  • config - Interactively generate .linear.toml configuration
  • schema - Print the GraphQL schema to stdout
  • api - Make a raw GraphQL API request
  • capabilities - Describe the agent-facing command surface
  • resolve - Resolve references without mutating Linear

For curated examples of organization features (initiatives, labels, projects, bulk operations), see organization-features.

Discovering Options

To see available subcommands and flags, run --help on any command:

linear --help
linear issue --help
linear issue list --help
linear issue create --help

Each command has detailed help output describing all available flags and options.

For machine-readable discovery, prefer:

linear capabilities
linear capabilities --compat v1

Using the Linear GraphQL API Directly

Prefer the CLI for all supported operations. The api command should only be used as a fallback for queries not covered by the CLI.

Check the schema for available types and fields

Write the schema to a tempfile, then search it:

linear schema -o "${TMPDIR:-/tmp}/linear-schema.graphql"
grep -i "cycle" "${TMPDIR:-/tmp}/linear-schema.graphql"
grep -A 30 "^type Issue " "${TMPDIR:-/tmp}/linear-schema.graphql"

Make a GraphQL request

Important: GraphQL queries containing non-null type markers (e.g. String followed by an exclamation mark) must be passed via heredoc stdin to avoid escaping issues. Simple queries without those markers can be passed inline.

# Simple query (no type markers, so inline is fine)
linear api '{ viewer { id name email } }'

# Query with variables — use heredoc to avoid escaping issues
linear api --variable teamId=abc123 \x3C\x3C'GRAPHQL'
query($teamId: String!) { team(id: $teamId) { name } }
GRAPHQL

# Search issues by text
linear api --variable term=onboarding \x3C\x3C'GRAPHQL'
query($term: String!) { searchIssues(term: $term, first: 20) { nodes { identifier title state { name } } } }
GRAPHQL

# Numeric and boolean variables
linear api --variable first=5 \x3C\x3C'GRAPHQL'
query($first: Int!) { issues(first: $first) { nodes { title } } }
GRAPHQL

# Complex variables via JSON
linear api --variables-json '{"filter": {"state": {"name": {"eq": "In Progress"}}}}' \x3C\x3C'GRAPHQL'
query($filter: IssueFilter!) { issues(filter: $filter) { nodes { title } } }
GRAPHQL

# Pipe to jq for filtering
linear api '{ issues(first: 5) { nodes { identifier title } } }' | jq '.data.issues.nodes[].title'

Advanced: Using curl directly

For cases where you need full HTTP control, use linear auth token:

curl -s -X POST https://api.linear.app/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: $(linear auth token)" \
  -d '{"query": "{ viewer { id } }"}'
安全使用建议
This skill is a documentation-heavy wrapper around the local `linear` CLI and appears internally consistent. Before installing or using it: 1) ensure you have a trusted `linear` binary installed from the linked repository; 2) understand that the CLI uses your Linear credentials (configured via `linear auth` or .linear.toml) — do not pass files or stdin that contain secrets unless you intend the CLI to consume them; 3) be cautious when invoking commands that accept file paths or stdin (bulk-file, content-file, bulk-stdin) to avoid accidental exposure of local files; and 4) review any use of curl or raw API commands if you plan to let the agent execute autonomously, since those could make arbitrary network requests if used improperly.
功能分析
Type: OpenClaw Skill Name: kyaukyuai-linear-cli Version: 3.2.0 The skill bundle provides a comprehensive interface to the Linear CLI, including commands for issue management and authentication. It includes high-risk capabilities such as the ability to retrieve the Linear API token via `linear auth token` and broad network access via `Bash(curl:*)`, which is explicitly documented in `SKILL.md` as a fallback for GraphQL requests. While these features are aligned with the stated purpose of the skill, they represent a significant attack surface for data exfiltration if the agent is compromised. No evidence of intentional malice or harmful instructions was found in the documentation or the Deno-based documentation generator script (`scripts/generate-docs.ts`).
能力评估
Purpose & Capability
The skill's name/description match the instructions and reference docs: it expects a local `linear` CLI and documents commands for reading/mutating Linear resources. It does not require unrelated environment variables, binaries, or config paths.
Instruction Scope
SKILL.md tells the agent to run the `linear` CLI and to use file/stdin flags (e.g., --content-file, --bulk-file, --bulk-stdin) and occasional interactive editor flows. Allowed-tools includes Bash(linear:*) and Bash(curl:*). This is reasonable for a CLI wrapper, but means an agent run can read local files passed to those flags and (because curl is allowed) perform network calls if invoked that way — review any file paths you give the agent and be cautious about piping secrets or system config into the CLI.
Install Mechanism
There is no install spec (instruction-only), so nothing will be written to disk by the skill itself. The README points to a GitHub repo for installing the `linear` binary — that is external to the skill and should be reviewed/trusted by the user before installation.
Credentials
The skill declares no required env vars or credentials (none in requires.env). Operationally, the `linear` CLI needs Linear credentials (auth configured via `linear auth` or .linear.toml) to perform mutations — this is expected and proportional, but those secrets will be used by the CLI if present. The skill does not ask for unrelated credentials.
Persistence & Privilege
always is false and the skill is user-invocable; it does not request persistent/global privileges or modify other skills' configurations. Autonomous invocation is allowed by default but is not combined with other red flags here.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install kyaukyuai-linear-cli
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /kyaukyuai-linear-cli 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v3.2.0
Refresh skill docs for linear-cli v3.2.0
v3.1.0
Refresh skill docs for linear-cli v3.1.0
v3.0.1
Rollout hardening for linear-cli v3.0.1
v3.0.0
Refresh skill docs for linear-cli v3.0.0
v2.15.0
Add agent-safe execution profile and downstream certification for v2.15.0
v2.14.0
Add operation receipts, unified preview/apply contracts, and reference resolution for v2.14.0
v2.13.0
Refresh skill docs for linear-cli v2.13.0
v2.12.4
Refresh skill docs for linear-cli v2.12.4
v2.11.0
Refresh skill docs for linear-cli v2.11.0
v2.10.0
Refresh skill docs for linear-cli v2.10.0
v2.9.1
Refresh skill docs for linear-cli v2.9.1
v2.9.0
Add agent UX consistency improvements and safer stdin/write workflows for linear-cli v2.9.0
v2.8.2
Add dry-run safety rails and automation contract v2 read surfaces
v2.8.1
Publish Linear CLI skill for v2.8.1
v2.8.0
Automation Contract v2 and write safety rails
v2.7.1
Release linear-cli v2.7.1
v2.7.0
Refresh skill docs for linear-cli v2.7.0
v2.6.0
Refresh skill docs for linear-cli v2.6.0
v2.5.0
Refresh skill docs for linear-cli v2.5.0
v2.4.1
Add JSON output for issue relation add/delete
元数据
Slug kyaukyuai-linear-cli
版本 3.2.0
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 25
常见问题

Linear CLI 是什么?

Use the linear-cli agent-native runtime to read and mutate Linear from Claude Code, Codex, or other agents. Use when the runtime needs default JSON output, s... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 656 次。

如何安装 Linear CLI?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install kyaukyuai-linear-cli」即可一键安装,无需额外配置。

Linear CLI 是免费的吗?

是的,Linear CLI 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Linear CLI 支持哪些平台?

Linear CLI 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Linear CLI?

由 Yuya Kakui(@kyaukyuai)开发并维护,当前版本 v3.2.0。

💬 留言讨论