Loading...
Loading...
Manage Linear tickets, projects, milestones, and documents. Use for coordinating work across skills (orca-security, multi-repo) or tracking remediation progress.
npx skill4agent add nodnarbnitram/claude-code-extensions linearlinearis${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/https://api.linear.app/graphqlexport LINEAR_API_TOKEN='lin_api_xxxxx'uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/read-ticket.py ICE-2041${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/curlreferences/graphql-reference.md| Script | Purpose |
|---|---|
| List issues with optional team, status, and project filters |
| Full-text search issues |
| Create a ticket |
| Read ticket details by identifier or UUID |
| Update ticket fields |
| Add a comment to a ticket |
| Create a project |
| Add tickets to a project |
| Create a project milestone |
| Add tickets to a milestone |
| Create a project document |
| List documents, optionally by project |
| Read a document by UUID |
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/list-issues.py --team ICE-T
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/list-issues.py --team ICE-T --limit 100
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/list-issues.py --team ICE-T --status "Todo,In Progress"
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/list-issues.py --team ICE-T --project "Orca Security Remediation"--team--limit-l50--status-s--projectuv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/search-issues.py "Orca Security"
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/search-issues.py "CVE" --team ICE-T
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/search-issues.py "Privileged Role" --status "Todo,Triage"
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/search-issues.py "Docker" --team ICE-T --limit 20query--team--status-s--project--assignee-a--limit-l25uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/create-ticket.py "Fix CVE-2024-1234" \
--team ICE-T \
--description "Critical vulnerability in production" \
--priority 1 \
--labels "security" \
--jsontitle--team--description-d--priority-p1=urgent2=high3=normal4=low--labels--jsonuv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/read-ticket.py ICE-2021
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/read-ticket.py 9e05263f-ed01-4b85-9c74-569fd1a0ce13uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/update-ticket.py ICE-2021 --status "In Progress"
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/update-ticket.py ICE-2021 --status "Done" --priority 2
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/update-ticket.py ICE-2021 --labels "security,urgent"--status--priority1=urgent2=high3=normal4=low--assignee--labels--project--project-milestone--title--descriptionuv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/add-comment.py ICE-2021 "Fixed in PR #123"uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/create-project.py "Security Remediation Q1" \
--team ICE-T \
--description "Eliminate all High severity alerts" \
--priority 1 \
--jsonname--team--description--content--priority0=none1=urgent2=high3=normal4=low--target-dateYYYY-MM-DD--jsonuv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/add-issues-to-project.py PROJECT_UUID ICE-2027
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/add-issues-to-project.py PROJECT_UUID ICE-2027 ICE-2028 ICE-2029
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/add-issues-to-project.py PROJECT_UUID --issues ICE-2027,ICE-2028uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/create-milestone.py "P1: Critical Fixes" \
--project PROJECT_UUID \
--description "RCE and exposed secrets" \
--target-date 2026-02-09 \
--jsonname--project--description--target-dateYYYY-MM-DD--jsonuv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/add-issues-to-milestone.py MILESTONE_UUID ICE-2027 ICE-2028uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/create-document.py \
--title "Security Findings Report" \
--project PROJECT_UUID \
--content-file ./report.md \
--json--title--project--content--content-file--jsonuv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/list-documents.py --project PROJECT_UUID
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/list-documents.py --project "Security Remediation" --limit 100uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/read-document.py DOCUMENT_UUID# 1. Create project
PROJECT_ID=$(uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/create-project.py \
"Security Remediation" \
--team ICE-T \
--description "Eliminate all security vulnerabilities")
# 2. Create milestone
MILESTONE_ID=$(uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/create-milestone.py \
"P1: Critical" \
--project "$PROJECT_ID" \
--target-date 2026-02-09)
# 3. Create ticket
TICKET_ID=$(uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/create-ticket.py \
"Patch CVE-2024-1234" \
--team ICE-T \
--priority 1)
# 4. Link ticket into the plan
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/add-issues-to-project.py "$PROJECT_ID" "$TICKET_ID"
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/add-issues-to-milestone.py "$MILESTONE_ID" "$TICKET_ID"
# 5. Attach supporting documentation
uv run ${CLAUDE_PLUGIN_ROOT}/skills/linear/scripts/create-document.py \
--title "Findings Report" \
--project "$PROJECT_ID" \
--content-file ./report.mdcurl -X POST https://api.linear.app/graphql \
-H "Content-Type: application/json" \
-H "Authorization: $LINEAR_API_TOKEN" \
-d '{"query":"{ viewer { id name } }"}'Bearerreferences/graphql-reference.mddescriptioncontent1Error: LINEAR_API_TOKEN not set and ~/.linear_api_token not foundError: Ticket ICE-9999 not foundError: Team 'INVALID' not foundError: Milestone 'Release 1' matched multiple projects (...)3.0Linear GraphQL endpoint only