Skip to content

/duplicate-sweep

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 grown noisy, someone asks whether an issue is already reported, or you are cleaning up before planning.

From plugin
superset
14k18 skills1 agent1 command
Install
$ npx -y skills add superset-sh/superset --skill duplicate-sweep --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/duplicate-sweep

Context preview

The summary Claude sees to decide when to auto-load this skill.

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 grown noisy, someone asks whether an issue is already reported, or you are cleaning up before planning.

SKILL.md

duplicate-sweep.SKILL.md
name: duplicate-sweep
description: 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 grown noisy, someone asks whether an issue is already reported, or you are cleaning up before planning.
argument-hint: team key, or a single issue to check for duplicates
allowed-tools: mcp__linear__*

Sweep duplicates

Two issues for one bug means two people investigate it and neither sees the other's findings. The goal is one issue per underlying problem, holding everything anyone learned.

1. Search the way reporters write, not the way you think

The same bug gets filed as "export is broken", "CSV download 500s", and "can't get my data out". No shared vocabulary. Run several searches — the error string, the feature name, the user-facing verb — and pool the results rather than trusting one query.

Include closed issues. A closed one is not evidence the bug came back — triage closes far more issues than fixes do. Treat it as a regression only when the issue records a fix that shipped or was reopened; otherwise it is just another report of the same open problem.

2. Same symptom is not the same bug

Group only when the underlying cause is plausibly identical. Two issues that both say "page is slow" are the same report only if they are slow for the same reason; merging them buries whichever one nobody reproduced.

When you are unsure, link them as related and say why rather than merging. An incorrect merge loses an issue silently, and nobody goes looking for what they think is already tracked.

3. Pick the survivor deliberately

Not simply the oldest. Prefer the one with the best reproduction, then the most discussion, then the earliest. If the oldest is a one-line report and a later one has steps, logs, and three participants, the later one survives.

4. Confirm the groups before you touch anything

Show the user each group you intend to merge: the survivor, the issues folding into it, and what you will move across. Merging is destructive in the way that matters — an issue closed as a duplicate stops being found by the people watching it, and an incorrect merge is only discovered when someone re-reports the bug months later. Get an explicit go-ahead per group, or on the set if the user prefers, before the first write.

5. Move what matters before closing

Anything only present on the duplicate — reproduction steps, a customer name, a log line, a subscriber who wants to know when it is fixed — goes onto the survivor first. Then close the duplicate with a comment pointing at it, so someone arriving from a search or an old link lands somewhere useful.

Never delete. A closed issue with a pointer is how the next person's search finds the survivor.

6. Report

List each group: the survivor, what was merged into it, and what you moved across. Flag the pairs you deliberately did not merge and why — those are the judgment calls someone may want to overturn.

Anti-patterns

  • Merging by title similarity alone. Titles are the least reliable signal in a backlog.
  • Closing the duplicate first and copying the details afterwards. Interrupted halfway, the

evidence is gone from anywhere anyone will look.

  • Sweeping silently. If someone is subscribed to an issue you closed, tell them where it went.
Read more
Ships withsuperset

Superset is an agentic IDE to orchestrate 100+ coding agents in parallel. Run any agent with your own subscription.

Get the whole plugin, auto-invoked
Stats
14,178
Stars
1,268
Forks
Active
Maintenance
TypeScript
Language
3h ago
Last commit
10mo ago
Created

Repo: superset-sh/superset

Other skills on superset.