skills/recursive-synthesis/SKILL.md
Orchestrate multi-agent collaborative document synthesis through 6 phases - Divergence, Synthesis, Commentary, Consolidation, Reality Check, Final Merge. Produces authoritative founding documents from complex multi-perspective inputs. Use for constitutional documents, architecture decisions, organizational charters, or any document requiring rigorous multi-perspective synthesis. Activates on "synthesize document", "multi-agent authorship", "collaborative synthesis", "founding document", "architecture document", "recursive synthesis", "constitutional document", "multi-perspective document". NOT for simple document writing, single-author tasks, quick summaries, or documents that don't require adversarial review.
npx skillsauth add curiositech/windags-skills recursive-synthesisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Orchestrate multi-agent collaborative document synthesis through 6 phases to produce authoritative founding documents that require rigorous multi-perspective analysis.
Is this a founding document (constitution, charter, ADR)?
├── NO → Use single-author writing skills instead
└── YES → Continue to phase selection
Are 10+ perspectives genuinely needed?
├── NO → Use standard collaborative writing
└── YES → Continue to agent selection
Are there irreconcilable tensions expected?
├── NO → Use simplified consensus process
└── YES → Full 6-phase recursive synthesis
│
├── Phase 0: Setup (always required)
│ ├── Problem scope clear? → NO: Clarify before proceeding
│ ├── Agents selected for max diversity? → NO: Redesign roster
│ └── Ground rules established? → NO: Define steel-man rules
│
├── Phase 1: Divergence
│ ├── All 10 papers received? → NO: Wait/chase missing
│ ├── Genuine diversity achieved? → NO: Replace echo agents
│ └── Quality threshold met? → NO: Request rewrites
│
├── Phase 2: Synthesis
│ ├── Convergence > 50%? → YES: Proceed to commentary
│ ├── Convergence 25-50%? → Flag high-tension synthesis
│ └── Convergence < 25%? → Abort: Unsynthesizable problem
│
├── Phase 3: Commentary
│ ├── All steel-man sections present? → NO: Enforce requirement
│ ├── Irreconcilable tensions flagged? → YES: Prepare dissenting appendix
│ └── Constructive amendments provided? → NO: Request specifics
│
├── Phase 4: Consolidation
│ ├── Soul Document coherent? → NO: Lead Architect revision
│ ├── Dissenting Appendix honest? → NO: Add minority voices
│ └── Scope clearly documented? → NO: Define boundaries
│
├── Phase 5: Reality Check
│ ├── Any "COMPLEX" verdicts? → YES: Major rework required
│ ├── Multiple "BUILD" verdicts? → YES: Address P0/P1 demands
│ └── Majority "SHIP" verdicts? → YES: Proceed to final merge
│
└── Phase 6: Final Merge
├── Constitution authoritative? → NO: Strengthen principles
├── Practitioner's Guide actionable? → NO: Add concrete steps
└── Editorial Notes complete? → NO: Document all decisions
Which agent type?
├── Philosophical/Complex reasoning → Use Opus
├── Domain-specific technical → Use Sonnet
└── Senior practitioner judgment → Use Opus
Which phase?
├── Phase 1 (Divergence) → Mix: 4 Opus (complex), 6 Sonnet (technical)
├── Phase 2 (Synthesis) → Opus (long context required)
├── Phase 3 (Commentary) → Match Phase 1 model per agent
├── Phase 4 (Consolidation) → Opus (highest judgment)
├── Phase 5 (Reality Check) → Opus (senior practitioner)
└── Phase 6 (Final Merge) → Opus (best writing quality)
Symptoms: All agents reach similar conclusions despite different prompts; position papers sound alike; no genuine tensions emerge Diagnosis: Agent selection lacks intellectual diversity OR prompts insufficiently enforce perspective differences Fix: Replace 3-4 agents with genuinely opposing viewpoints; strengthen agent persona prompts with specific belief systems; enforce no-cross-talk rules
Symptoms: Synthesis phase finds 80%+ agreement; few items in dissenting appendix; Reality Check agents have no major concerns Diagnosis: Problem wasn't complex enough to require recursive synthesis OR agent perspectives were too narrow Fix: Either abort to simpler process OR restart with more adversarial agent selection (add contrarians, edge cases, minority positions)
Symptoms: Later phases lose nuance from earlier phases; agents reference incomplete information; final document doesn't reflect early insights Diagnosis: Token limits causing information loss between phases OR inadequate summarization strategy Fix: Use structured references instead of full text; create phase summaries at each transition; implement strategic excerpt selection
Symptoms: Agents get stuck in Phase 3 commentary requesting endless revisions; Lead Architect can't reconcile conflicting demands; Reality Check identifies problems but no solutions Diagnosis: No clear decision-making authority established OR quality gates too perfectionist Fix: Designate tie-breaking authority; set "good enough" thresholds; impose time boxes on each phase; accept documented tensions rather than forcing resolution
Symptoms: Process generates more meta-documents than actual content; agents debate methodology more than substance; final Constitution is less clear than original problem statement Diagnosis: Process became end in itself rather than means to clarity Fix: Enforce deliverable-focused phase gates; require every meta-document to improve end-user experience; Constitution must be simpler than process that created it
Context: Engineering org with 50+ microservices needs unified API design principles. Current state: conflicting guidance, inconsistent implementations, integration friction.
Phase 0 Setup: Agent selection for maximum tension:
Phase 1 Divergence Results:
Key insight: These aren't just different opinions—they represent fundamentally different mental models of what an API should optimize for.
Phase 2 Synthesis Challenge: Synthesizer finds convergence on:
But irreconcilable tensions:
Phase 3 Commentary Reveals:
Phase 4 Consolidation Decision: Lead Architect makes architectural choice: "REST-first with GraphQL gateway for specific use cases" Dissenting Appendix: Documents when GraphQL is preferred, migration path
Phase 5 Reality Check Catches:
Phase 6 Final Output:
Phase 0 Complete When:
Phase 1 Complete When:
Phase 2 Complete When:
Phase 3 Complete When:
Phase 4 Complete When:
Phase 5 Complete When:
Phase 6 Complete When:
Do NOT use recursive synthesis for:
When to delegate instead:
team-builder skilldag-planner skillorchestrator skillnegotiator skillfacilitator skillAnti-boundaries (when you SHOULD use this):
tools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.