linear
Linear
Direct Linear GraphQL API access via Bun CLI. Zero external dependencies.
Two script variants:
| Script | Size | Use Case |
|---|---|---|
scripts/linear.ts |
~120 lines | Standard: setup + api, agent constructs queries using api.md |
scripts/linear-issue.ts |
~570 lines | Issue-specific: wraps search/create/update/list/comment as named commands |
Setup
Check if config.json exists in this directory:
- Exists → use directly
- Missing → ensure
LINEAR_API_KEYenv var is set (Linear Settings → API → Personal API Keys), then run:
bun <skill-dir>/scripts/linear.ts setup
# or (full version)
bun <skill-dir>/scripts/linear-issue.ts setup
Config structure:
{ "apiKey": "$LINEAR_API_KEY", "teamKey": "YOUR_TEAM_KEY" }
apiKey: API key or env var reference ($LINEAR_API_KEY)teamKey: Linear team key (e.g.WOR)
Issue Commands (linear-issue.ts)
| Command | Purpose |
|---|---|
setup |
Interactive config.json initialization |
search <query> |
Search issues by keyword |
list [--state <name>] [--project <slug>] |
List issues |
create --title "..." [--body "..." | --body-file path] [--template feat] |
Create issue |
update <id> [--parent <id>] [--state <name>] |
Update issue |
comment <id> [--body "..." | --body-file path] |
Add comment |
teams / templates / states |
Query workspace metadata |
api '<graphql>' [--vars '<json>'] |
Arbitrary GraphQL query |
Standard Commands (linear.ts)
| Command | Purpose |
|---|---|
setup |
Initialize config.json |
api '<graphql>' [--vars '<json>'] |
Arbitrary GraphQL query |
Use --body-file for multi-line body (write to temp file) to avoid shell escaping issues.
See references/api.md for query examples and detailed usage.
More from ianchenx/ian-skills
ian-gemini-web
Image generation skill using Gemini Web. Generates images from text prompts via Google Gemini. Also supports text generation. Use as the image generation backend for other skills like cover-image, xhs-images, article-illustrator.
24handoff
Write HANDOFF.md before ending a complex session. Use when wrapping up, switching tasks, or when context is getting large and a fresh session would help.
8codex-review
Multi-lens adversarial review via Codex. Trigger on "review", "审查", "check the code".
8codex-agent
Delegate coding tasks to Codex CLI. Use when executing code changes, reviews, debugging, or parallelizing tasks via Codex.
7spec-driven-dev
新功能的规划→spec→issue 生命周期。当用户说"讨论下"、"写 spec"、"开 issue"、"怎么做"、"设计一下"、"拆任务"、"评估方案"、或描述新功能需求时触发。即使用户只是随口提到一个想法或改进方向,只要涉及"该怎么做"的问题,都应触发此 skill 来结构化思考。
4