yc-software/qm/linear

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Search, read, create, and update the user's Linear issues, projects, and comments through per-user OAuth.

Install

npx vskill@latest install yc-software/qm/linear

SKILL.md

The same SKILL.md was published earlier as evolvingagentslabs/evolving-agents/linear.

Linear

Use this skill when the user asks about Linear issues, tickets, projects, cycles, or their team's work tracking — finding issues, checking status, filing a bug, leaving a comment, or updating an issue.

This is an OAuth connector. The resolved user's Linear token already lives on your computer as an environment variable (the way a logged-in CLI's cached credential would):

  • $VAULT_TOKEN_API_LINEAR_APP — for api.linear.app

Linear's API is GraphQL at https://api.linear.app/graphql. Pass the token as a bearer header (-H "Authorization: Bearer $VAULT_TOKEN_API_LINEAR_APP"). Do not ask the user for a token, log it, or use another principal's credential.

If the variable is empty or the API returns 401/400 (authentication), tell the user they need to connect Linear (Connectors page) and stop — don't guess at issue data.

Find / read issues

Query issues by text, assignee, or state:

bash
curl -sS -X POST 'https://api.linear.app/graphql' \
-H "Authorization: Bearer $VAULT_TOKEN_API_LINEAR_APP" \
-H 'content-type: application/json' \
--data '{"query":"{ issues(first: 20, filter: { title: { containsIgnoreCase: \"login\" } }) { nodes { identifier title state { name } assignee { name } url } } }"}'

Read one issue by id/identifier:

bash
curl -sS -X POST 'https://api.linear.app/graphql' \
-H "Authorization: Bearer $VAULT_TOKEN_API_LINEAR_APP" \
-H 'content-type: application/json' \
--data '{"query":"{ issue(id: \"ENG-123\") { identifier title description state { name } assignee { name } url comments { nodes { body user { name } } } } }"}'

Keep issue identifiers and urls in your answer so claims can be traced.

To create or assign an issue you usually need a team id — list them once:

bash
curl -sS -X POST 'https://api.linear.app/graphql' \
-H "Authorization: Bearer $VAULT_TOKEN_API_LINEAR_APP" \
-H 'content-type: application/json' \
--data '{"query":"{ teams(first: 100) { nodes { id key name } pageInfo { hasNextPage endCursor } } }"}'

Linear paginates every list: if pageInfo.hasNextPage is true, re-query with after: "<endCursor>" — never conclude a team or issue doesn't exist from one page.

Writes require approval

Creating an issue, commenting, or changing state is a write. Prepare the exact mutation, summarize what it will create/change (team, title, target issue), and ask for approval before running it.

After approval, create an issue:

bash
curl -sS -X POST 'https://api.linear.app/graphql' \
-H "Authorization: Bearer $VAULT_TOKEN_API_LINEAR_APP" \
-H 'content-type: application/json' \
--data '{"query":"mutation($input: IssueCreateInput!) { issueCreate(input: $input) { success issue { identifier url } } }","variables":{"input":{"teamId":"TEAM_ID","title":"Login button misaligned on mobile","description":"Reported by a user; repro on iOS Safari."}}}'

Add a comment to an existing issue:

bash
curl -sS -X POST 'https://api.linear.app/graphql' \
-H "Authorization: Bearer $VAULT_TOKEN_API_LINEAR_APP" \
-H 'content-type: application/json' \
--data '{"query":"mutation($input: CommentCreateInput!) { commentCreate(input: $input) { success comment { url } } }","variables":{"input":{"issueId":"ISSUE_UUID","body":"Fixed in the latest deploy."}}}'

Always report the resulting issue/comment identifier and url.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/yc-software/qm/linear/badge)](https://verified-skill.com/skills/yc-software/qm/linear)

Something wrong with this skill or its page? Tell us.