When a maintainer says "unclear where this should live" or "unclear where to further that conversation," the high-value move is not to reply in place — it's to do the consolidation FOR them. Traverse the JIRA/GitHub link graph across every linked ticket, read ALL comments plus related PRs, commits, and mail, untangle the conflated concerns into distinct threads each with a home, verify each claim in code, and hand back a map: "here's where each sub-thread belongs." This is a SOURCING/communication move — it turns a maintainer's "where do I continue?" into a delivered map. Use when a discussion is fragmented across many tickets/PRs and a maintainer signals they can't see the shape. Trigger terms: unclear where this belongs, fragmented discussion, scattered across tickets, link graph, issuelinks, consolidate, untangle, which issue tracks this, where should this live.
Long-running problems fragment: the truth about one bug ends up spread across a dozen
JIRA tickets, PRs, commits, and mailing-list threads, each holding a piece. When a
maintainer says "unclear where to further that conversation," the graceful move is
not to add one more reply to one more ticket — it's to do the consolidation for
them. Traverse the whole link graph, read everything, and hand back a map that says
where each distinct sub-concern belongs. That turns "where do I continue?" into a
delivered artifact the maintainer can act on immediately.
This is a communication/navigation skill, not an execution one: its deliverable is a
map, not a diff. Its value is that a scarce maintainer no longer has to hold the whole
tangle in their head — you did, and you handed it back untangled.
When to use
A maintainer explicitly signals the discussion has no clear home ("unclear where
this should live", "where do we track this?").
A single problem is visibly spread across many linked tickets / PRs / commits / mail
and the concerns in it are conflated.
You've read enough of the graph to see distinct sub-threads the participants haven't
separated.
When NOT to use
The problem lives in a single ticket, or nobody has signalled confusion about where it belongs — then just reply in place; an unasked-for map is noise, not help.
The practice (checklist)
Traverse the link graph. Walk every linked ticket (jira issuelinks /
GitHub cross-refs) — causes, is-duplicated-by, relates-to — until the graph
closes. Draw it; the shape is the first deliverable. Done when a full pass
adds no new node — not when you've read "enough".
Read ALL comments across all of them, plus related PRs, commits, and dev@
mail. The piece that resolves a conflation is usually in a ticket nobody linked
from the one the maintainer was standing in. Done when every node in the graph
you drew has been opened, including the ones that look irrelevant.
Untangle conflated concerns into distinct threads, each with a home. Name
each sub-concern separately and assign it the issue that should own it.
Verify each claim in code, not from memory or from the comment history —
the discussion may carry stale or wrong framings (including your own earlier
ones; expect to correct some).
Hand back a map, in plain voice: "here's where each sub-thread belongs."
Offer venues, don't grab them; state the maintainer knows the layout better and
you're happy either way.
Rationalizations
Shortcut
Why it fails
"I'll just reply in this one ticket."
The truth is fragmented across the graph; a reply in place adds a ninth scattered piece instead of the map the maintainer actually needs.
"I've read the comments — I can map it from memory."
The discussion carries stale and conflated framings (including your own); verify each claim in code first or you hand back a wrong map.
"I'll pick the home for each sub-thread and move it."
Offer venues, don't grab them — the maintainer knows the layout better; deliver the map and let them act.
RECEIPT
SOURCING-receipt (per the README's two receipt classes — a navigation move that
demonstrably worked before any PR merged, not a merge-receipt).
apache/solr SOLR-17764 — a Solr committer: "unclear where to further that
conversation." The graceful-shutdown truth was fragmented across ~8 JIRA tickets plus
PRs, commits, and the dev@ list. Rather than reply in place, the link graph was
traversed (jira issuelinks), every linked ticket and related PR read, and a
four-thread map handed back, each concern given its home:
incidental test flakiness → SOLR-18285 (make graceful shutdown opt-in);
the upstream root cause → jetty #15368 / PR #15435;
the SolrJ retry-classification gap → SOLR-18188 / #4643.
Verifying each claim in code during the pass corrected two of the contributor's own
earlier wrong framings before they were posted.
Source detail: agentic-oss/solr/issues/SOLR-17764/consolidation.md.
Lifecycle
Signals it worked: the maintainer acts on the map (moves a sub-thread, closes or
narrows a ticket, picks a venue); the "where does this live?" question stops
recurring; participants adopt the thread separation you named.
What to log on a misfire: a map that split concerns the maintainer considered
one (over-consolidation), or one that missed a linked ticket and so mis-assigned a
home — capture the wrong edge in the graph. Record it in
LEDGER.md (the SOLR-17764 row is logged there).
Death criterion: none foreseeable; fragmentation across trackers is structural
to long-lived projects, though link-graph tooling (JIRA vs GitHub) is per-house.
Relates to: the code-verification half overlaps verify-before-a-committer-comment;
offering venues without claiming them is adjacent to offer-don't-grab. This is the
communication counterpart to follow-the-thread — one finds the issues, this one maps
where a tangle of them belongs.
1---2name: consolidate-a-scattered-thread3description: When a maintainer says "unclear where this should live" or "unclear where to further that conversation," the high-value move is not to reply in place — it's to do the consolidation FOR them. Traverse the JIRA/GitHub link graph across every linked ticket, read ALL comments plus related PRs, commits, and mail, untangle the conflated concerns into distinct threads each with a home, verify each claim in code, and hand back a map: "here's where each sub-thread belongs." This is a SOURCING/communication move — it turns a maintainer's "where do I continue?" into a delivered map. Use when a discussion is fragmented across many tickets/PRs and a maintainer signals they can't see the shape. Trigger terms: unclear where this belongs, fragmented discussion, scattered across tickets, link graph, issuelinks, consolidate, untangle, which issue tracks this, where should this live.4---56# Consolidate a scattered thread78## Purpose910Long-running problems fragment: the truth about one bug ends up spread across a dozen11JIRA tickets, PRs, commits, and mailing-list threads, each holding a piece. When a12maintainer says *"unclear where to further that conversation,"* the graceful move is13not to add one more reply to one more ticket — it's to **do the consolidation for14them**. Traverse the whole link graph, read everything, and hand back a map that says15where each distinct sub-concern belongs. That turns "where do I continue?" into a16delivered artifact the maintainer can act on immediately.1718This is a communication/navigation skill, not an execution one: its deliverable is a19map, not a diff. Its value is that a scarce maintainer no longer has to hold the whole20tangle in their head — you did, and you handed it back untangled.2122## When to use2324- A maintainer explicitly signals the discussion has no clear home ("unclear where25 this should live", "where do we track this?").26- A single problem is visibly spread across many linked tickets / PRs / commits / mail27 and the concerns in it are conflated.28- You've read enough of the graph to see distinct sub-threads the participants haven't29 separated.3031## When NOT to use3233The problem lives in a single ticket, or nobody has signalled confusion about where it belongs — then just reply in place; an unasked-for map is noise, not help.3435## The practice (checklist)3637- [ ] **Traverse the link graph.** Walk every linked ticket (`jira issuelinks` /38 GitHub cross-refs) — causes, is-duplicated-by, relates-to — until the graph39 closes. Draw it; the shape is the first deliverable. *Done when* a full pass40 adds no new node — not when you've read "enough".41- [ ] **Read ALL comments across all of them**, plus related PRs, commits, and dev@42 mail. The piece that resolves a conflation is usually in a ticket nobody linked43 from the one the maintainer was standing in. *Done when* every node in the graph44 you drew has been opened, including the ones that look irrelevant.45- [ ] **Untangle conflated concerns into distinct threads, each with a home.** Name46 each sub-concern separately and assign it the issue that should own it.47- [ ] **Verify each claim in code**, not from memory or from the comment history —48 the discussion may carry stale or wrong framings (including your own earlier49 ones; expect to correct some).50- [ ] **Hand back a map**, in plain voice: "here's where each sub-thread belongs."51 Offer venues, don't grab them; state the maintainer knows the layout better and52 you're happy either way.5354## Rationalizations5556| Shortcut | Why it fails |57|---|---|58| "I'll just reply in this one ticket." | The truth is fragmented across the graph; a reply in place adds a ninth scattered piece instead of the map the maintainer actually needs. |59| "I've read the comments — I can map it from memory." | The discussion carries stale and conflated framings (including your own); verify each claim in code first or you hand back a wrong map. |60| "I'll pick the home for each sub-thread and move it." | Offer venues, don't grab them — the maintainer knows the layout better; deliver the map and let them act. |6162## RECEIPT6364**SOURCING-receipt** (per the README's two receipt classes — a navigation move that65demonstrably worked before any PR merged, not a merge-receipt).6667**apache/solr SOLR-17764** — a Solr committer: *"unclear where to further that68conversation."* The graceful-shutdown truth was fragmented across ~8 JIRA tickets plus69PRs, commits, and the dev@ list. Rather than reply in place, the link graph was70traversed (`jira issuelinks`), every linked ticket and related PR read, and a71four-thread map handed back, each concern given its home:7273- incidental test flakiness → **SOLR-18285** (make graceful shutdown opt-in);74- test-framework `ClosedChannelException` → **SOLR-18295**;75- the upstream root cause → **jetty #15368 / PR #15435**;76- the SolrJ retry-classification gap → **SOLR-18188 / #4643**.7778Verifying each claim in code during the pass corrected two of the contributor's own79earlier wrong framings before they were posted.80Source detail: `agentic-oss/solr/issues/SOLR-17764/consolidation.md`.8182## Lifecycle8384- **Signals it worked:** the maintainer acts on the map (moves a sub-thread, closes or85 narrows a ticket, picks a venue); the "where does this live?" question stops86 recurring; participants adopt the thread separation you named.87- **What to log on a misfire:** a map that split concerns the maintainer considered88 one (over-consolidation), or one that missed a linked ticket and so mis-assigned a89 home — capture the wrong edge in the graph. Record it in90 [`LEDGER.md`](../../LEDGER.md) (the SOLR-17764 row is logged there).91- **Death criterion:** none foreseeable; fragmentation across trackers is structural92 to long-lived projects, though link-graph tooling (JIRA vs GitHub) is per-house.93- **Relates to:** the code-verification half overlaps verify-before-a-committer-comment;94 offering venues without claiming them is adjacent to offer-don't-grab. This is the95 communication counterpart to follow-the-thread — one finds the issues, this one maps96 where a tangle of them belongs.
Run npx skillmds@latest add serhiy-bzhezytskyy/consolidate-a-scattered-thread in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
When a maintainer says "unclear where this should live" or "unclear where to further that conversation," the high-value move is not to reply in place — it's to do the consolidation FOR them. Traverse the JIRA/GitHub link graph across every linked ticket, read ALL comments plus related PRs, commits, and mail, untangle the conflated concerns into distinct threads each with a home, verify each claim in code, and hand back a map: "here's where each sub-thread belongs." This is a SOURCING/communication move — it turns a maintainer's "where do I continue?" into a delivered map. Use when a discussion is fragmented across many tickets/PRs and a maintainer signals they can't see the shape. Trigger terms: unclear where this belongs, fragmented discussion, scattered across tickets, link graph, issuelinks, consolidate, untangle, which issue tracks this, where should this live. It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
serhiy-bzhezytskyy (@serhiy-bzhezytskyy) published this skill. Their other Agent Skills are listed on their SkillMD profile.