← Back to Skills Marketplace
jolestar

Linear Graphql Skill

by jolestar · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
295
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install linear-graphql-skill
Description
Operate Linear workspace issues, projects, and teams through Linear GraphQL API using UXC. Use when tasks require querying or creating issues, managing proje...
README (SKILL.md)

Linear GraphQL Skill

Use this skill to run Linear GraphQL API operations through uxc.

Reuse the uxc skill guidance for discovery, schema inspection, auth lifecycle, and error recovery.

Prerequisites

  • uxc is installed and available in PATH.
  • Network access to https://api.linear.app/graphql.
  • Linear API key or OAuth credentials available.

Authentication

Linear supports two authentication methods:

Option 1: Personal API Key (Recommended for development)

  1. Get your API key from Linear: https://linear.app/settings/api

  2. Set credential with custom Authorization header:

    uxc auth credential set linear-graphql \
      --auth-type api_key \
      --header "Authorization:{{secret}}" \
      --secret "lin_api_XXX"
    

    Or use environment variable:

    export LINEAR_API_KEY="lin_api_XXX"
    uxc auth credential set linear-graphql \
      --auth-type api_key \
      --header "Authorization:{{secret}}" \
      --secret-env LINEAR_API_KEY
    
  3. Bind endpoint:

    uxc auth binding add \
      --id linear-graphql \
      --host api.linear.app \
      --path-prefix /graphql \
      --scheme https \
      --credential linear-graphql \
      --priority 100
    

Important (Personal API Key only): Linear API keys require Authorization: lin_api_XXX format (no Bearer prefix). The --header "Authorization:{{secret}}" configuration above is required for API key auth. For OAuth access tokens, use standard Authorization: Bearer \x3Ctoken> semantics (handled by the OAuth credential flow in uxc).

Credential/binding IDs in this skill use linear-graphql by convention; IDs are local aliases and can be changed if needed.

Option 2: OAuth 2.0 (For production/user-delegated access)

  1. Create an OAuth app in Linear: https://linear.app/settings/api

  2. Start OAuth login:

    uxc auth oauth start linear-graphql \
      --endpoint https://api.linear.app/graphql \
      --redirect-uri http://127.0.0.1:8788/callback \
      --scope read \
      --scope write
    

    After approval, complete it with:

    uxc auth oauth complete linear-graphql \
      --session-id \x3Csession_id> \
      --authorization-response 'http://127.0.0.1:8788/callback?code=...&state=...'
    
  3. Bind endpoint:

    uxc auth binding add \
      --id linear-graphql \
      --host api.linear.app \
      --path-prefix /graphql \
      --scheme https \
      --credential linear-graphql \
      --priority 100
    

Core Workflow

  1. Use fixed link command by default:

    • command -v linear-graphql-cli
    • If the command exists, confirm it is the expected uxc link for this skill before using it.
    • If a command conflict is detected and cannot be safely reused, stop and ask skill maintainers for guidance instead of dynamically renaming the command.
    • If missing, create it: uxc link linear-graphql-cli https://api.linear.app/graphql
    • linear-graphql-cli -h
  2. Discover operations:

    • linear-graphql-cli -h
    • Returns hundreds of GraphQL operations
  3. Inspect specific operation:

    • linear-graphql-cli query/issues -h
    • linear-graphql-cli mutation/issueCreate -h
  4. Execute queries:

    # Query issues (simple)
    linear-graphql-cli query/issues '{"first":10}'
    
    # Query issues with explicit selection set for useful fields
    linear-graphql-cli query/issues '{"first":10,"_select":"nodes { identifier title url state { name } assignee { name } }"}'
    
    # Query teams
    linear-graphql-cli query/teams '{"first":10}'
    
    # Create issue (requires write scope)
    linear-graphql-cli mutation/issueCreate '{
      "input": {
        "teamId": "TEAM_ID",
        "title": "New Issue Title",
        "description": "Issue description"
      }
    }'
    

Available Operations

Queries

  • query/issues - List and filter issues
  • query/issue - Get single issue
  • query/teams - List teams
  • query/team - Get single team
  • query/projects - List projects
  • query/workflowStates - List workflow states

Mutations

  • mutation/issueCreate - Create new issue
  • mutation/issueUpdate - Update issue
  • mutation/issueArchive - Archive issue
  • mutation/commentCreate - Add comment

Usage Examples

List recent issues

linear-graphql-cli query/issues '{"first":20,"_select":"nodes { identifier title url state { name } assignee { name } }"}'

Get issue by ID

linear-graphql-cli query/issue id=ISSUE_ID

List teams

linear-graphql-cli query/teams

Create issue

linear-graphql-cli mutation/issueCreate '{"input":{"teamId":"YOUR_TEAM_ID","title":"Fix bug"}}'

Troubleshooting

Authentication Errors

Error: "Bearer token" prefix rejected

  • Linear API does not accept Authorization: Bearer lin_api_XXX
  • Ensure credential uses --auth-type api_key --header "Authorization:{{secret}}"
  • Do not use --auth-type bearer

Error: "Credential not found"

  • Check credential exists: uxc auth credential list
  • Verify binding: uxc auth binding list
  • Create binding if missing (see Authentication section)

OAuth login spans multiple agent turns

  • Prefer uxc auth oauth start ... and uxc auth oauth complete ...
  • Use uxc auth oauth login ... --flow authorization_code only when one process can wait for the pasted callback URL

Error: "No binding matched"

  • Check binding exists: uxc auth binding match api.linear.app/graphql
  • If missing, create binding with uxc auth binding add (see Authentication section)

For detailed authentication troubleshooting, see uxc skill's references/auth-configuration.md.

Common Issues

Daemon issues after credential changes

  • Restart daemon: uxc daemon restart
  • Check status: uxc daemon status

Environment variable not found

  • Ensure variable is exported in daemon's environment
  • Or use --secret for literal values (less secure)
  • Or use --secret-op for 1Password (most secure)

Guardrails

  • Keep automation on JSON output envelope; do not use --text.
  • Parse stable fields first: ok, kind, data, error.
  • Prefer positional JSON for non-string and typed arguments (for example: linear-graphql-cli query/issues '{"first":10}' and linear-graphql-cli mutation/issueCreate '{"input":{"teamId":"TEAM_ID","title":"Test"}}').
  • Use reserved GraphQL argument _select (string) when you need explicit return fields, e.g. {"_select":"nodes { identifier title }"}.
  • Use linear-graphql-cli as the default command path.
  • linear-graphql-cli \x3Coperation> ... is equivalent to uxc https://api.linear.app/graphql \x3Coperation> ....
  • Prefer read operations first (query/), then write operations (mutation/).
  • For write operations, always confirm user intent before execution.
  • If auth fails, check credential with uxc auth credential info linear-graphql.

References

Usage Guidance
This skill appears to implement exactly what it claims (control Linear via the Linear GraphQL API using the 'uxc' CLI), but there are inconsistencies you should address before installing: - Ensure you have the 'uxc' CLI installed and network access to https://api.linear.app/graphql. The SKILL.md expects these even though the package metadata lists no binaries. - The docs show using an environment variable LINEAR_API_KEY (or literal secret). Prefer storing secrets in uxc's credential store or environment variables rather than typing secrets on the command line. Avoid using literal secrets in shell history. - The included scripts (scripts/validate.sh) require ripgrep (rg); run these in a safe dev environment and inspect scripts before executing them. - Because the package metadata omits declared env requirements, double-check any automation that grants credentials to skills; only provide the Linear API key (or OAuth client credentials) and not unrelated tokens. If you want higher assurance, ask the maintainer to: (1) declare required binaries/env vars in the registry metadata, (2) remove examples that pass literal secrets on the command line, and (3) confirm no other endpoints or unexpected behaviors are present.
Capability Analysis
Type: OpenClaw Skill Name: linear-graphql-skill Version: 1.0.0 The linear-graphql-skill is a legitimate tool designed to interface with the Linear GraphQL API using the uxc utility. The documentation in SKILL.md and usage-patterns.md provides clear, standard instructions for authentication and API interaction, including safety guardrails such as confirming user intent for write operations. No evidence of data exfiltration, malicious execution, or prompt injection was found; all network activity is directed to the official Linear API endpoint (api.linear.app).
Capability Assessment
Purpose & Capability
Name/description match the implementation: the SKILL.md instructs use of uxc against api.linear.app and supports API key or OAuth—exactly what a Linear GraphQL skill would need. However the package metadata declares no required environment variables or binaries even though the runtime guidance expects the uxc CLI (and environment variable LINEAR_API_KEY as an option). That mismatch is inconsistent.
Instruction Scope
Instructions are narrowly scoped to using the uxc CLI to discover, inspect, and run GraphQL operations against api.linear.app; they do not request unrelated system files or external endpoints. They do instruct use of an environment variable (LINEAR_API_KEY) and provide commands that accept literal secrets (not recommended). The SKILL.md also expects the agent/user to create bindings and run an OAuth local callback flow—these are normal but require interactive/privileged steps from the user.
Install Mechanism
No install spec is present (instruction-only), so nothing will be downloaded or written by the skill at install time. The included scripts (scripts/validate.sh) are local validation helpers and do not fetch remote code. This is low install risk.
Credentials
The only sensitive credentials the skill needs are Linear API key or OAuth tokens, which are proportionate to its purpose. However the skill package metadata does not declare any required env vars or a primary credential while the runtime docs explicitly reference LINEAR_API_KEY and credential setup, and the validation script requires the 'rg' binary. The omission increases the chance of misconfiguration or accidental exposure (e.g., pasting literal secrets into command lines).
Persistence & Privilege
The skill is not always-enabled and does not request elevated platform privileges. It does not attempt to modify other skills or system-wide configuration beyond creating uxc bindings/links for its own endpoint, which is expected for this type of integration.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install linear-graphql-skill
  3. After installation, invoke the skill by name or use /linear-graphql-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of Linear GraphQL Skill - Provides CLI-based access to Linear workspace issues, projects, and teams via the Linear GraphQL API using UXC. - Supports both Personal API Key and OAuth authentication, with detailed setup instructions for each. - Includes examples for querying and managing issues, projects, and teams. - Offers troubleshooting guidance for common authentication and command-line issues. - Emphasizes guardrails for safe automation and best practices in API interaction.
Metadata
Slug linear-graphql-skill
Version 1.0.0
License
All-time Installs 2
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is Linear Graphql Skill?

Operate Linear workspace issues, projects, and teams through Linear GraphQL API using UXC. Use when tasks require querying or creating issues, managing proje... It is an AI Agent Skill for Claude Code / OpenClaw, with 295 downloads so far.

How do I install Linear Graphql Skill?

Run "/install linear-graphql-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Linear Graphql Skill free?

Yes, Linear Graphql Skill is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Linear Graphql Skill support?

Linear Graphql Skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Linear Graphql Skill?

It is built and maintained by jolestar (@jolestar); the current version is v1.0.0.

💬 Comments