ci-triage
Diagnose a failing GitHub Actions run — find the first real error in the logs, tell a flake apart from a genuine failure, and identify the commit that broke…
Turn a rough report into a Linear issue someone can pick up — reproduce the claim, check for duplicates, and fill in team, priority, and labels. Use when the user says to file, open, or create an issue, hands over a bug report or error, or asks to get something into Linear.
$ npx -y skills add superset-sh/superset --skill file-issue --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/file-issueContext preview
The summary Claude sees to decide when to auto-load this skill.
Turn a rough report into a Linear issue someone can pick up — reproduce the claim, check for duplicates, and fill in team, priority, and labels. Use when the user says to file, open, or create an issue, hands over a bug report or error, or asks to get something into Linear.
name: file-issue description: Turn a rough report into a Linear issue someone can pick up — reproduce the claim, check for duplicates, and fill in team, priority, and labels. Use when the user says to file, open, or create an issue, hands over a bug report or error, or asks to get something into Linear. argument-hint: the bug, request, or error to file allowed-tools: mcp__linear__*
An issue is a handoff to someone who was not in this conversation. The test is whether they can start without asking you a question.
Search for the error text and for the feature name separately — people describe the same bug in words that share no vocabulary. Check closed issues too, but do not read "closed" as "regression": most closed duplicates were closed during triage, not fixed. Call it a regression only when the issue shows a fix that shipped, or it was reopened — then it is a more urgent and differently-shaped report than a new bug.
Found a duplicate? Comment the new evidence on it instead of opening a second issue. Show the user the duplicate you matched and the comment you intend to leave, and post it only once they say to. A wrong match buries a real bug under an unrelated issue, and nobody goes looking for what they think is already tracked.
The report you were handed is a symptom filtered through someone's theory of the cause. Separate the two. Write down what was observed, and mark anything you inferred as inferred.
Where you can check the claim, check it. An issue that says "search is broken" and an issue that says "search returns no results for queries with an apostrophe, verified on staging" have very different lifespans.
1. **What happens** — one sentence, observable, no diagnosis. 2. **Steps** — numbered, starting from a state the reader can reach. 3. **Expected vs actual** — both stated, even when the difference seems obvious. 4. **Scope** — who and how many are affected, and since when. 5. **Evidence** — the error, the log line, the request id. Attach rather than paste anything long.
Put the diagnosis last if you have one, marked as a guess. A confident wrong cause at the top of an issue sends the assignee down it before they read the steps.
Resolve the team from the area the bug lives in, not from who reported it. If you cannot tell, ask rather than guessing — a misrouted issue sits until someone triages it by hand.
Priority is about consequence, not annoyance: data loss and broken auth are urgent, a misaligned button is not, however visible. Set an estimate only if you understand the fix well enough to defend it; a wrong estimate is worse than none.
Print the title, body, team, priority, and labels, and ask the user to confirm. Filing is a write to a shared backlog that other people triage and get notified about; a misrouted or duplicate issue costs someone else's attention to undo. Reporting the result afterwards is not confirmation — by then the write has happened.
Once they confirm, create it and report the identifier and URL along with what you set, so a routing mistake gets corrected immediately rather than after it goes unread for a week.
one-sentence symptom.
unfindable by anyone hitting the actual bug.
Superset is an agentic IDE to orchestrate 100+ coding agents in parallel. Run any agent with your own subscription.
Diagnose a failing GitHub Actions run — find the first real error in the logs, tell a flake apart from a genuine failure, and identify the commit that broke…
Triage a GitHub issue into something actionable — reproduce the claim, find duplicates, judge severity, and apply labels, milestone, and assignee. Use when the…
Find and merge duplicate Linear issues — group reports of the same underlying bug, pick the survivor, and move the evidence across. Use when the backlog has…
Draft a Linear project status update from what actually moved — progress, risks, and the one decision that needs making. Use when someone asks for a project…
Personalized audit that teaches the advanced Superset features the user isn't using yet (automations, parallel agents, tasks, multi-host, terminal remote…
Turn a recurring chore into a Superset automation. Drafts the agent prompt, confirms schedule and target, creates it with the CLI, and reviews the first run…