Skip to content
cccskills
FreePublished on GitHub

fetch-linear-ticket

Fetch a Linear ticket's title + description (the source of all warp route parameters) from a ticket ID or URL, using whichever Linear access the agent has — a Linear integration/tool if present, otherwise the Linear GraphQL API with LINEAR_API_KEY — and halt clearly if no access is configured. Referenced by every warp deploy/update skill that reads a ticket.

The English summary is being prepared. Showing the original description.

Works withLinear
See how to install

Files included (1)

  • SKILL.md3.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Fetch Linear Ticket

Every warp deploy/update skill starts from a Linear ticket whose description carries the route parameters (token, chains, fee type, owners, etc.). This skill standardizes how the ticket is fetched so the access method and the not-configured error are consistent across the chain, rather than each skill hard-coding one path.

Input

  • Ticket ID or URL (required) — e.g. ENG-3516 or https://linear.app/hyperlane-xyz/issue/ENG-3516/....

Step 1: Extract the issue ID

From a URL, pull the issue key (e.g. ENG-3516). If given a bare key, use it directly.

Step 2: Fetch the ticket (capability-first)

Fetch the issue's title and description using whichever Linear access this agent has:

  • Preferred — the agent's Linear integration. If a Linear tool/integration is available (e.g. a get_issue capability), use it to fetch the issue by key. This path also exposes attachment/image signed URLs (used later for logos).

  • Fallback — the GraphQL API. If no integration is available but LINEAR_API_KEY is set, query the API directly:

    curl -sS -X POST https://api.linear.app/graphql \
      -w '\nHTTP %{http_code}\n' \
      -H "Authorization: $LINEAR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"query": "{ issue(id: \"<ISSUE_ID>\") { title description } }"}'
    

    Fail closed — validate the response before using it. curl won't error on an HTTP failure by itself, and GraphQL returns HTTP 200 even on errors. Treat any of these as a failed fetch and halt (do NOT proceed with an empty/partial description): a non-2xx HTTP status (e.g. 401/403/429/5xx), a body containing a top-level errors array, or a null data.issue.

If neither is available — no Linear integration AND LINEAR_API_KEY unset or returning 401 — halt and tell the user:

No Linear access is configured. Either enable the Linear integration, or export LINEAR_API_KEY=<your-key> and restart the coding-assistant session, then try again.

Step 3: Return

Show the user the ticket title and description before proceeding. The calling skill parses the description for its own fields (token details, chains, fee type, warp route ID, owners, quote signers, ownership table, change instructions, etc.) — this skill only fetches; it does not interpret.

Consumers

/warp-deploy-fund-deployer, /warp-deploy-init-route, /warp-deploy-validate-owners, /warp-deploy-update-owners, /warp-update, /warp-update-extend. (Fetching a fresh signed URL for a logo attachment mid-skill is a separate, integration-specific operation and stays in the caller.)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Write a changeset file in the `hyperlane-registry` repo for a PR that adds, updates, or modifies warp route config / chain metadata / addresses. Canonical pattern — never run the interactive `pnpm changeset` CLI; write the file directly. Referenced by any skill that opens a registry PR.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

Trigger Docker image builds for Hyperlane agent, monorepo, or node service images. Use when the user wants to build new Docker images for a branch, commit, or tag.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

The low-level on-chain probes for identifying what an owner address is — cast code → EOA / EIP-7702-delegated EOA / contract, VERSION() → Gnosis Safe, read-only get-owner-ica.ts derive → ICA derivation, getAccountInfo → Sealevel account existence — with how to interpret each result. The primitive layer beneath validate-owners / resolve-artifacts / update-owners, which each apply their own per-chain or per-artifact policy on top.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

Review code changes using Hyperlane monorepo coding standards. Use when reviewing PRs, checking your own changes, or doing self-review before committing.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

Debug why a Hyperlane message is not being processed. Use when given a message ID or explorer URL to investigate delivery failures, gas estimation errors, validator issues, or other processing problems.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

Debug RPC provider health issues for a chain. Use when alerts mention RPC failures, high latency, stale blocks, or provider errors. Diagnoses the issue and recommends fixes.

The English summary is being prepared. Showing the original description.

hyperlane-xyz/hyperlane-monorepo77Updated Oct 23, 2026

See all skills by hyperlane-xyz

Report a problem with this skill