claude/skills/linear-cli/SKILL.md
Manage Linear issues from the command line using the linear cli. This skill allows automating linear management.
npx skillsauth add lilpacy/dotfiles linear-cliInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A CLI to manage Linear issues from the command line, with git and jj integration.
Generated from linear CLI v1.10.0
The linear command must be available on PATH. To check:
linear --version
If not installed, follow the instructions at:
https://github.com/schpet/linear-cli?tab=readme-ov-file#install
When working with issue descriptions or comment bodies that contain markdown, always prefer using file-based flags instead of passing content as command-line arguments:
--description-file for issue create and issue update commands--body-file for comment add and comment update commandsWhy use file-based flags:
\n sequences from appearing in markdownExample workflow:
# Write markdown to a temporary file
cat > /tmp/description.md <<'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 for comments
linear issue comment add ENG-123 --body-file /tmp/comment.md
Only use inline flags (--description, --body) for simple, single-line content.
linear issue update -d / --description-file replaces the entire description. Existing content will be lost.linear issue update: Linear stores pasted images in structured descriptionData, but the CLI only sends plain description markdown. Updating a description that contains pasted images can flatten those blocks into dead uploads.linear.app links or broken ![Image #1] placeholders.linear issue comment add -b) to add information or status updates instead of updating the description.linear issue view and preserve it. For issues with pasted images, prefer editing in the Linear UI, moving the screenshots to comments/documents, or using stable external image URLs instead.--team when creating issueslinear issue create without --team fails with Could not determine team key. Always pass --team <KEY> explicitly (e.g. --team LIL). Check CLAUDE.md for the configured team_id.
-p flag conflict: --parent vs --priorityBoth --parent and --priority map to -p. Using -p twice causes an error. Always use the long form for at least one of them:
# Bad: -p used for both parent and priority
linear issue create -t "title" -p LIL-220 -p 1
# Good: use long form for priority
linear issue create -t "title" -p LIL-220 --priority 1
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 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 config # Interactively generate .linear.toml configuration
linear schema # Print the GraphQL schema to stdout
linear api # Make a raw GraphQL API request
For curated examples of organization features (initiatives, labels, projects, bulk operations), see organization-features.
To see available subcommands and flags, run --help on any command:
linear --help
linear issue --help
linear issue list --help
linear issue view --help
linear issue create --help
Each command has detailed help output describing all available flags and options.
Prefer the CLI for all supported operations. The api command should only be used as a fallback for queries not covered by the CLI.
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"
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 <<'GRAPHQL'
query($teamId: String!) { team(id: $teamId) { name } }
GRAPHQL
# Search issues by text
linear api --variable term=onboarding <<'GRAPHQL'
query($term: String!) { searchIssues(term: $term, first: 20) { nodes { identifier title state { name } } } }
GRAPHQL
# Numeric and boolean variables
linear api --variable first=5 <<'GRAPHQL'
query($first: Int!) { issues(first: $first) { nodes { title } } }
GRAPHQL
# Complex variables via JSON
linear api --variables-json '{"filter": {"state": {"name": {"eq": "In Progress"}}}}' <<'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'
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 } }"}'
data-ai
ユーザー向けの回答、要件整理、説明、計画、レビュー、仕様、要約を作成するときに使う。自然言語だけでは条件、状態、多重度、期間、時刻、境界値、制約、推論、計算が曖昧になりうる場合、表、デシジョンテーブル、Mermaid 図、計算式、境界値表で一意化する。推測で補った図表要素は必ず明示する。
tools
Cross-agent messaging via SQLite. Send messages between Claude Code, Codex, Gemini CLI, and other agents. No daemon, no network, no dependencies beyond bash and sqlite3.
development
Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots. Use when the user asks to build a new app or landing page, wants to redesign something, invokes Hallmark by name, or uses audit/redesign/study.
development
Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.