ワンクリックで
linear
Query and manage Linear issues. Use when the user asks about issues, tasks, projects, or wants to create/update Linear items.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Query and manage Linear issues. Use when the user asks about issues, tasks, projects, or wants to create/update Linear items.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | linear |
| description | Query and manage Linear issues. Use when the user asks about issues, tasks, projects, or wants to create/update Linear items. |
| user-invocable | true |
Use ./linear.sh in the project root to interact with the Linear API. The script takes a GraphQL query as an argument or via stdin. The LINEAR_API_KEY env var must be set (via .env + direnv).
./linear.sh '{ projects(first: 20) { nodes { id name state } } }'
./linear.sh '{ project(id: "PROJECT_ID") { issues(first: 50) { nodes { identifier title state { name } priority } } } }'
./linear.sh '{ issue(id: "ISSUE_ID") { identifier title description state { name } labels { nodes { name } } children { nodes { identifier title state { name } } } } }'
./linear.sh '{ issueSearch(query: "search terms", first: 20) { nodes { identifier title state { name } } } }'
./linear.sh 'mutation { issueCreate(input: { teamId: "TEAM_ID", title: "Issue title", description: "Description" }) { issue { identifier title url } } }'
./linear.sh 'mutation { issueCreate(input: { teamId: "TEAM_ID", title: "Sub-issue title", parentId: "PARENT_ISSUE_ID" }) { issue { identifier title url } } }'
./linear.sh 'mutation { issueUpdate(id: "ISSUE_ID", input: { stateId: "STATE_ID" }) { issue { identifier title state { name } } } }'
./linear.sh '{ teams(first: 10) { nodes { id name key } } }'
./linear.sh '{ workflowStates(first: 50) { nodes { id name type team { key } } } }'
For mutations with markdown content (mermaid diagrams, code blocks, etc.), use file mode to avoid escaping issues. Write a markdown file with YAML frontmatter and pass it to ./linear.sh --file:
---
mutation: issue-create
teamId: TEAM_UUID
projectId: PROJECT_UUID
title: Issue title
priority: 1
---
Markdown description here, with ```mermaid``` blocks and anything else.
---
mutation: issue-update
id: ISSUE_UUID
---
Updated markdown description.
---
mutation: project-create
name: Project name
description: Short description (255 char limit)
teamIds: TEAM_UUID
---
Long-form project content (unlimited markdown).
---
mutation: project-update
id: PROJECT_UUID
description: Short description (255 char limit)
---
Long-form project content (unlimited markdown).
Frontmatter keys map directly to GraphQL input fields. The markdown body becomes description for issues or content for projects. Integer values are auto-detected.
Workflow: Use the Write tool to create the temp file, then call ./linear.sh in a separate Bash call. This keeps the bash command starting with ./linear.sh so the permission allow rule matches.
# Step 1: Use the Write tool to create /tmp/my-issue.md
# Step 2: Run in Bash:
./linear.sh --file /tmp/my-issue.md | jq .
./linear.sh — never call the Linear API directly via curl (sandbox restrictions)jq for readable formatting: ./linear.sh '...' | jq .mutation { ... } syntax--file modeTEAM-123, IDs are UUIDsdescription (255 char limit) and content (unlimited markdown)description (unlimited markdown, no separate content field)