npx skills add ...
npx skills add n8n-io/n8n --skill linear-issue
npx skills add n8n-io/n8n --skill linear-issue
Fetch and analyze Linear issue with all related context. Use when starting work on a Linear ticket, analyzing issues, or gathering context about a Linear issue.
Start work on Linear issue $ARGUMENTS
This skill depends on external tools. Before proceeding, verify availability:
Required:
gh): Must be installed and authenticated. Run gh auth status to verify. Used to fetch linked PRs and issues.Optional (graceful degradation):
If a required tool is missing, stop and tell the user what needs to be set up before continuing.
Follow these steps to gather comprehensive context about the issue:
Use the Linear MCP tools available in the active harness to fetch the issue details and comments together:
Both calls should be made together in the same step to gather the complete context upfront.
After fetching the issue, immediately check its labels:
Look at the labels returned with the issue.
If any label is n8n-private:
a. Run git remote -v (via Bash) to list all configured remotes.
b. If any remote URL contains n8n-io/n8n without the -private suffix (i.e. matches the public repo), stop immediately and tell the user:
This issue is marked
n8n-privateand must be developed in a clean clone of the private repository.One or more of your remotes point to the public
n8n-io/n8nrepo. Mixed remotes are not allowed — you must work in a separate local clone ofn8n-io/n8n-privatewith no references to the public repo. For the full process, see: https://www.notion.so/n8n/Processing-critical-high-security-bugs-vulnerabilities-in-private-2f45b6e0c94f803da806f472111fb1a5
Do not continue with any further steps — return after showing this message.
If the label is not present, or all remotes point exclusively to n8n-io/n8n-private, continue normally.
IMPORTANT: This step is NOT optional. You MUST scan and fetch all visual content from BOTH the issue description AND all comments.
Screenshots/Images (ALWAYS fetch):
<img> tagscurl -sL "url" -o /path/to/image.png (GitHub URLs require following redirects) OR the linear mcpRead tool on the downloaded file to view itLoom Videos (ALWAYS fetch transcript):
Related Linear Issues:
GitHub PRs and Issues:
gh CLI to fetch PR/issue details:
gh pr view <number> for pull requestsgh issue view <number> for issuescurl -H "Authorization: token $(gh auth token)" -L <image-url> -o image.pngNotion Documents:
Comments were already fetched in Step 1. Review them for:
Determine whether this issue is specific to a particular n8n node (e.g. a trigger, action, or tool node). Look for clues in:
node:linear, node:slack)If the issue is node-specific:
Find the node type ID. Use Grep to search for the node's display name (or keywords from it) in packages/frontend/editor-ui/data/node-popularity.json to find the exact node type ID. For reference, common ID patterns are:
n8n-nodes-base.<camelCaseName> (e.g. "HTTP Request" → n8n-nodes-base.httpRequest)n8n-nodes-base.<name>Trigger (e.g. "Gmail Trigger" → n8n-nodes-base.gmailTrigger)n8n-nodes-base.<name>Tool (e.g. "Google Sheets Tool" → n8n-nodes-base.googleSheetsTool)@n8n/n8n-nodes-langchain.<camelCaseName> (e.g. "OpenAI Chat Model" → @n8n/n8n-nodes-langchain.lmChatOpenAi)Look up the node's popularity score — first check for a Flaky assessment (see below), otherwise use the popularity file:
Primary: Check for Flaky's assessment in Linear comments. Flaky is an auto-triage agent that posts issue analysis as a comment. Search the comments already fetched in Step 1 for a comment from a user named "Flaky" (or containing "Flaky" in the author name) — do not re-fetch comments. If found, extract the popularity score and level directly from Flaky's analysis and use those values.
Fallback (if no Flaky comment exists): Look up the node's popularity score from packages/frontend/editor-ui/data/node-popularity.json. Use Grep to search for the node ID in that file. The popularity score is a log-scale value between 0 and 1. Use these thresholds to classify:
| Score | Level | Description | Examples |
|---|---|---|---|
| ≥ 0.8 | High | Core/widely-used nodes, top ~5% | HTTP Request (0.98), Google Sheets (0.95), Postgres (0.83), Gmail Trigger (0.80) |
| 0.4–0.8 | Medium | Regularly used integrations | Slack (0.78), GitHub (0.64), Jira (0.65), MongoDB (0.63) |
| < 0.4 | Low | Niche or rarely used nodes | Amqp (0.34), Wise (0.36), CraftMyPdf (0.33) |
Include the raw score and the level (high/medium/low) in the summary, and note whether it came from Flaky or the popularity file.
If the node is not found in the popularity file (and no Flaky comment exists), note that it may be a community node or a very new/niche node.
Primary: Check for Flaky's effort estimate in Linear comments. Search the comments already fetched in Step 1 for a Flaky comment — do not re-fetch. If found, extract the effort/complexity estimate directly from it and use that as your assessment.
Fallback (if no Flaky comment exists): After gathering all context, assess the effort required to fix/implement the issue. Use the following T-shirt sizes:
| Size | Approximate effort |
|---|---|
| XS | ≤ 1 hour |
| S | ≤ 1 day |
| M | 2-3 days |
| L | 3-5 days |
| XL | ≥ 6 days |
To make this assessment, consider:
Provide the T-shirt size along with a brief justification explaining the key factors that drove the estimate. Note whether it came from Flaky or your own assessment.
Before presenting, verify you have completed:
gh CLIAfter gathering all context, present a comprehensive summary including:
n8n-nodes-base.xxx), popularity score with level (e.g. 0.64 — medium popularity)AI-1975, node-1975, or just 1975 (will search)