| name | synthesize |
| description | Read all per-framework analysis fragments in a decision workspace and produce a cross-framework synthesis — agreement/disagreement matrix, score table, weighted verdict, and the open questions any individual framework couldn't resolve. Run after /decision:analyze, or invoke directly to re-synthesize. |
Synthesize
Aggregates per-framework fragments into one document.
Inputs
A workspace folder produced by /decision:analyze, with decision.md and a populated fragments/ directory. The user may pass the path or the slug; if neither, list recent workspaces and ask.
Procedure
-
Read decision.md (for context) and every file in fragments/.
-
Extract the score (0-100) from each fragment. Each framework guide instructs the subagent to end with ## Score: <N>.
-
Build the score table:
| Framework | Score | One-line verdict |
|---|
-
Build the agreement matrix. Identify points where frameworks converge (e.g., "5/7 frameworks flag stakeholder-A as a blocker") and where they diverge (e.g., "MCDA prefers Option A; pre-mortem prefers Option B"). Convergence is signal; divergence is where the real work is.
-
Surface unresolved questions — what did multiple frameworks list as "would need to know X to decide"? These are the things to investigate before committing.
-
Weighted verdict. Compute a weighted average of the framework scores. By default, weight each framework equally. If the user has indicated a bundle bias (e.g., "personal" bundle suggests they care about regret-minimization more), reflect that. Always show both the equal-weighted and (if applicable) bias-weighted result.
-
Write synthesis.md in the workspace root. Structure:
# Synthesis: <Decision title>
## Score table
| Framework | Score | Verdict |
## Convergence
<where frameworks agree>
## Divergence
<where they disagree, and why>
## Unresolved questions
<items that need investigation before committing>
## Weighted verdict
- Equal-weighted: <score>/100, leaning <option/direction>
- <Other weightings if applicable>
## Recommendation
<one paragraph: what the integrated picture says, and what the user should do next>
## Confidence
<how robust the recommendation is — wide framework agreement vs split>
-
Report the synthesis path back to the user.
Notes
- Don't override the per-framework analyses — synthesis is an aggregation, not a re-evaluation.
- If frameworks badly conflict (>30 point spread between top and bottom), say so explicitly and recommend the user examine the divergent fragments rather than blindly trusting the average.