From orchestration-studio
When a bug recurs ("we fixed this last week!") or a root cause is confirmed, hunt the ENTIRE family: find every surface with the same pattern, fix the root once with a shared resolver, and add an anti-recurrence guard so the pattern cannot be reintroduced. Use for recurring bugs, post-fix sweeps, and "why does this keep coming back" investigations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/orchestration-studio:bug-family-huntThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A bug that "comes back every week" was never one bug. It is a PATTERN with N
A bug that "comes back every week" was never one bug. It is a PATTERN with N instances; every previous fix patched one instance. The tell: each past fix looks correct, touches a different file, and the symptom reappears on the next redesign.
git log --oneline --all -i --grep "<symptom keyword>"
Read every previous fix for the same symptom. If they patched DIFFERENT call sites for the same logical operation, you've confirmed a family: N copies of the same logic, each rotting independently.
Production example: a display-name bug "fixed" 3 times — each fix patched one UI surface. The hunt found 7 surfaces, each with its own copy of the fallback chain plus 3 divergent label maps. Every redesigned surface dropped a step and regressed. The data layer was fine the whole time.
Grep for the pattern's signature, not the symptom:
git grep -n "<the repeated expression>" -- 'src/' # e.g. the fallback chain, the un-targeted call
Build the full instance table (file:line → status). This is also how sibling bugs surface: a confirmed root cause ("un-targeted RPCs go to an arbitrary node") predicts its family — audit EVERY call of the same shape, not just the reported one. In practice one confirmed routing bug predicted four more (catalog fetch, archive list, session restore, entity CRUD), all confirmed.
Extract the logic into ONE function/module and migrate every instance to thin wrappers over it. The fix is structural: after this, a new surface CANNOT half-implement the logic — it imports the resolver or it doesn't work.
// guard sketch
const offenders = grepSource(/PROVIDER_LABELS|\.cyboName \?\?/)
.filter((f) => f !== "src/lib/agent-display.ts");
expect(offenders).toEqual([]);
While adding the tests, check the package actually RUNS them in CI — a missing
"test" script means every existing test file was decorative.
Before closing: "what else has this shape?" Dispatch an audit (see
audit-swarm) scoped to the pattern — confirmed-family audits have the highest
signal-to-noise of any audit type. Fix CRITICAL siblings now; file the rest
with the family label so the next report matches instantly.
npx claudepluginhub rp4ri/orchestration-studioProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.