Interact with Linear for issue queries, comment management, state transitions, and PR attachments. Use the Linear MCP tools or gh CLI for operations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/symphony-agent-skills:linearThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill for Linear operations: querying issues, managing comments,
Use this skill for Linear operations: querying issues, managing comments, transitioning states, and attaching PRs.
Linear MCP tools may be deferred — if they are not immediately visible, use
ToolSearch to discover and load them before use. Do NOT conclude that MCP tools
are unavailable without searching first.
Use the available Linear MCP tools for common operations:
get_issue / list_issues — query issuessave_issue — create or update issuessave_comment / list_comments / delete_comment — manage commentslist_issue_statuses / get_issue_status — workflow statesget_project / list_projects — project queriesget_team / list_teams — team queriescreate_attachment / get_attachment / delete_attachment — attachmentscreate_issue_label / list_issue_labels — labelssearch_documentation — search Linear docsUse get_issue with the issue identifier (e.g., MT-686).
list_issue_statuses to find available states for the team.save_issue with the new stateId.Use save_comment with the issue ID and comment body.
Use create_attachment with the PR URL and issue ID.
For operations not covered by MCP tools, you can use gh api graphql with the
Linear API. Common patterns:
query IssueByKey($key: String!) {
issue(id: $key) {
id
identifier
title
state { id name type }
project { id name }
branchName
url
description
}
}
query IssueTeamStates($id: String!) {
issue(id: $id) {
id
team {
id
key
name
states { nodes { id name type } }
}
}
}
mutation UpdateComment($id: String!, $body: String!) {
commentUpdate(id: $id, input: { body: $body }) {
success
comment { id body }
}
}
mutation CreateComment($issueId: String!, $body: String!) {
commentCreate(input: { issueId: $issueId, body: $body }) {
success
comment { id url }
}
}
mutation MoveIssueToState($id: String!, $stateId: String!) {
issueUpdate(id: $id, input: { stateId: $stateId }) {
success
issue { id identifier state { id name } }
}
}
mutation AttachGitHubPR($issueId: String!, $url: String!, $title: String) {
attachmentLinkGitHubPR(
issueId: $issueId
url: $url
title: $title
linkKind: links
) {
success
attachment { id title url }
}
}
stateId
instead of hardcoding names.attachmentLinkGitHubPR over a generic URL attachment when linking a
GitHub PR to a Linear issue.npx claudepluginhub markoinla/symphony --plugin symphony-agent-skillsManages Linear issues, projects, and teams using MCP tools, linear CLI, and GraphQL API. Create, update, query issues; handle labels, status, references, and backlogs.
Manages Linear.app issues via Linearis CLI with JSON output: create, read, update, search issues; list teams/projects/cycles/labels/users; add comments.
Manages Linear issues from the command line with git/jj integration. Supports issue CRUD, comments, teams, projects, and project updates via the linear CLI.