Back to Registry View Author Profile
Official Verified
linear
Manage Linear issues, projects, and cycles via GraphQL. Use when triaging backlogs, creating tasks from conversation, checking sprint progress, or running team reviews. Requires LINEAR_API_KEY.
skill-install — Terminal
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/achilles2200ai-sys/clawbounty-2-linearOr
Purpose
Control Linear from OpenClaw. Create issues, triage backlogs, update priorities, and run sprint reviews — all from your AI assistant, without switching tabs.
Works via Linear's GraphQL API using curl. No CLI or SDK required.
When to Use
- Checking sprint progress mid-cycle
- Creating issues from meeting notes or conversation
- Triaging and reprioritizing a backlog
- Looking up an issue's status before a standup
- Bulk-updating labels, assignees, or priorities
- Generating a status report across projects or teams
When NOT to Use
- Complex Figma/design reviews (use browser tooling)
- GitHub PR integration (use the
githubskill instead) - Syncing Linear with Jira or other trackers (script with Linear's API directly)
Setup
- Open Linear → Settings → API → Personal API keys
- Create a key (read + write scope)
- Add to your OpenClaw config:
LINEAR_API_KEY=lin_api_xxxxxxxxxxxxxxxx
Verify the key works:
curl -s -X POST https://api.linear.app/graphql \
-H "Authorization: $LINEAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "{ viewer { name } }"}' | jq .
You should see your name returned.
Commands
List your open issues
curl -s -X POST https://api.linear.app/graphql \
-H "Authorization: $LINEAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "{ viewer { assignedIssues(filter: { state: { type: { nin: [\"completed\", \"cancelled\"] } } }) { nodes { id title priority state { name } team { name } } } } }"
}' | jq '.data.viewer.assignedIssues.nodes'
Get issues for a team
TEAM_KEY="ENG" # your team's key
curl -s -X POST https://api.linear.app/graphql \
-H "Authorization: $LINEAR_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"query\": \"{ team(key: \\\"$TEAM_KEY\\\") { issues(filter: { state: { type: { eq: \\\"started\\\" } } }) { nodes { id identifier title assignee { name } priority } } } }\"
}" | jq '.data.team.issues.nodes'
Create an issue
curl -s -X POST https://api.linear.app/graphql \
-H "Authorization: $LINEAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "mutation IssueCreate($input: IssueCreateInput!) { issueCreate(input: $input) { success issue { id identifier title } } }",
"variables": {
"input": {
"teamId": "TEAM_ID_HERE",
"title": "Issue title from OpenClaw",
"description": "Created via OpenClaw linear skill.",
"priority": 2
}
}
}' | jq '.data.issueCreate'
Priority levels: 0 = No priority, 1 = Urgent, 2 = High, 3 = Medium, 4 = Low.
Update an issue
ISSUE_ID="ISSUE_ID_HERE"
Metadata
AI Skill Finder
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skill Add to Configuration
Paste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-achilles2200ai-sys-clawbounty-2-linear": {
"enabled": true,
"auto_update": true
}
}
}Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.