npx skills add ...
npx skills add openai/symphony --skill linear
Use Symphony's `linear_graphql` client tool for raw Linear GraphQL operations such as comment editing and upload flows.
npx skills add openai/symphony --skill linear
Use this skill for raw Linear GraphQL work during Symphony app-server sessions.
Use the linear_graphql client tool exposed by Symphony's app-server session.
It reuses Symphony's configured Linear auth for the session.
Tool input:
Tool behavior:
errors array as a failed GraphQL operation even if the
tool call itself completed.When you need an unfamiliar mutation, input type, or object field, use targeted
introspection through linear_graphql.
List mutation names:
Inspect a specific input object:
Use these progressively:
issue(id: $key) when you have a ticket key such as MT-686.issues(filter: ...) when you need identifier search semantics.issue(id: $id) for narrower reads.Lookup by issue key:
Lookup by identifier filter:
Resolve a key to an internal id:
Read the issue once the internal id is known:
Use this before changing issue state when you need the exact stateId:
Use commentUpdate through linear_graphql:
Use commentCreate through linear_graphql:
Use issueUpdate with the destination stateId:
Use the GitHub-specific attachment mutation when linking a PR:
If you only need a plain URL attachment and do not care about GitHub-specific link metadata, use:
Use these when the exact field or mutation shape is unclear:
Do this in three steps:
linear_graphql with fileUpload to get uploadUrl, assetUrl, and
any required upload headers.uploadUrl with curl -X PUT and the exact
headers returned by fileUpload.linear_graphql again with commentCreate (or commentUpdate) and
include the resulting assetUrl in the comment body.Useful mutations:
linear_graphql for comment edits, uploads, and ad-hoc Linear API
queries.stateId
instead of hardcoding names inside mutations.attachmentLinkGitHubPR over a generic URL attachment when linking a
GitHub PR to a Linear issue.fileUpload; those URLs already carry the needed authorization.