Skill: ivangdavila/synthesize (version 1.0.0)

--- name: "Synthesize" description: "Combine multiple sources into unified insights with source tracking, conflict resolution, and coverage verification." --- ## Core Principle Synthesis fails when sources contradict silently or coverage has gaps. Track everything, resolve conflicts explicitly. ## Protocol ``` Gather → Map → Extract → Reconcile → Synthesize → Verify ``` ### 1. Gather Inventory all sources with metadata: ``` | # | Source | Type | Date | Credibility | Scope | ``` Flag: outdated sources, conflicting authority levels, coverage gaps. ### 2. Map Identify themes across sources. Build overlap matrix: - Which sources cover which themes? - Where do sources agree/disagree? - What's covered by only one source? ### 3. Extract Per source, pull: key claims, evidence, unique insights. Tag each extraction with source number. Nothing unattributed. ### 4. Reconcile For conflicts: - Note the disagreement explicitly - Weight by: recency, authority, evidence quality - Choose position OR present both with reasoning Never silently pick one. Conflicts = valuable signal. ### 5. Synthesize Merge extractions into unified narrative: - Lead with consensus (N sources agree) - Surface tensions (A says X, B says Y because...) - Highlight unique insights (only source 3 mentions...) ### 6. Verify Coverage check before delivering: - [ ] All sources represented - [ ] No theme dropped - [ ] Conflicts addressed - [ ] Gaps acknowledged ## Output Format ``` 📚 SOURCES: [count] ([types breakdown]) 🎯 SYNTHESIS: [unified narrative] ⚡ KEY INSIGHTS: [bulleted, with source attribution] ⚠️ TENSIONS: [conflicts and resolution reasoning] 🕳️ GAPS: [what wasn't covered, needs more research] ``` ## Decline When Sources too heterogeneous, scope undefined, or time insufficient for proper reconciliation. References: `source-types.md`, `conflict-resolution.md`, `coverage-matrix.md`

path: conflict-resolution.md
content: # Conflict Resolution Strategies

## Detection

Conflicts appear as:
- Direct contradiction (A says X, B says not-X)
- Magnitude disagreement (A says 10%, B says 50%)
- Scope difference (A discusses narrow case, B generalizes)
- Temporal shift (A was true in 2020, B reflects 2024)

## Resolution Hierarchy

### 1. Reconcile (Preferred)
Both can be true under different conditions:
- "A applies to [context], B applies to [other context]"
- "A was true until [event], now B applies"
- "A measures [X], B measures [Y] — different metrics"

### 2. Weight & Choose
When truly contradictory, weight by:
1. **Recency** — newer data for evolving topics
2. **Methodology** — better research design wins
3. **Sample size** — larger/more representative
4. **Expertise** — domain authority of source
5. **Consensus** — N sources vs 1 outlier

### 3. Present Both
When resolution isn't possible:
- State both positions clearly
- Explain why resolution failed
- Note what would resolve it (more data, time, etc.)

## Documentation Format

```
⚔️ CONFLICT: [topic]
   Source A: [claim] (weight: X)
   Source B: [claim] (weight: Y)
   Resolution: [reconciled/chose A/chose B/both presented]
   Reasoning: [why]
```

## Red Flags

- Silently dropping one source's claim
- Averaging contradictory numbers without justification
- Assuming newer always beats older
- Ignoring outliers without examination


path: coverage-matrix.md
content: # Coverage Matrix

## Building the Matrix

Map sources (rows) against themes/topics (columns):

```
| Source      | Theme A | Theme B | Theme C | Theme D |
|-------------|---------|---------|---------|---------|
| Source 1    | ██      | ██      | ░░      | ░░      |
| Source 2    | ░░      | ██      | ██      | ░░      |
| Source 3    | ██      | ░░      | ██      | ██      |
| Coverage    | 2/3     | 2/3     | 2/3     | 1/3     |
```

██ = covered, ░░ = not covered

## Analysis

### Strong Coverage (3+ sources)
- High confidence in synthesis
- Cross-validate claims
- Note consensus vs disagreement

### Moderate Coverage (2 sources)
- Acceptable confidence
- Flag if sources disagree
- Note limitations

### Weak Coverage (1 source)
- Flag explicitly: "Based solely on [source]"
- Seek additional sources if critical
- Don't over-generalize single-source claims

### Gap (0 sources)
- Acknowledge explicitly
- Either: seek sources, or note as limitation
- Never invent to fill gaps

## Pre-Synthesis Checklist

- [ ] Every source appears in at least one theme
- [ ] No critical theme has 0 coverage
- [ ] Single-source themes are flagged
- [ ] Coverage aligns with synthesis scope

## When to Expand Research

- Critical theme has <2 sources
- High-stakes decision depends on weak coverage
- User specifically needs depth on gap area


path: source-types.md
content: # Source Types & Credibility Weights

## Primary Sources (High Weight)
- **Original research** — peer-reviewed studies, official reports
- **First-hand accounts** — interviews, testimonies, direct observation
- **Official documentation** — specs, legal documents, standards

## Secondary Sources (Medium Weight)
- **Analysis/Commentary** — expert articles, reviews, case studies
- **Aggregated data** — surveys, meta-analyses, industry reports
- **Educational content** — textbooks, courses, tutorials

## Tertiary Sources (Lower Weight)
- **Summaries** — encyclopedias, wikis, overview articles
- **News reporting** — journalism (verify with primary when possible)
- **Social/Community** — forums, discussions, anecdotal

## Credibility Signals

| Signal | Increases | Decreases |
|--------|-----------|-----------|
| Author expertise | Domain credentials | No background |
| Publication venue | Peer review, editorial | Self-published |
| Citations | Well-cited by others | No references |
| Recency | Recent for fast-moving topics | Outdated data |
| Transparency | Methodology shown | Black box claims |
| Conflicts | Disclosed/none | Hidden interests |

## Weighting Formula

```
credibility = base_type_weight 
            × recency_factor (0.5-1.0)
            × authority_factor (0.5-1.5)
            × transparency_factor (0.7-1.0)
```

Use relative weights when reconciling conflicts between sources.


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)