Claude
Skills
Sign in
Back

consolidate-research

Included with Lifetime
$97 forever

Consolidate and synthesize research outputs from multiple AI models or sources into a unified, pattern-aware, provenance-enriched report with quality metrics. Use when the user has research outputs to consolidate, wants to synthesize multiple reports, asks to "consolidate", "synthesize", or "merge" research findings, or needs to reconcile conflicting information from different sources. Works with outputs from Claude, Gemini, GPT-5.2, or any combination of AI/human sources. Supports manifest-driven (from create-research-brief) and standalone operation.

AI Agents

What this skill does


# Consolidate Research

Synthesize research outputs from multiple sources into a unified, confidence-tiered, pattern-aware report with provenance tracking and quality metrics. Works standalone or manifest-driven from `create-research-brief`.

**Shared references**: `consolidation-manifest-schema.md` (schema), `pattern-registry.md` (patterns + defaults)

## Workflow Overview

```
1. RECEIVE INPUTS ─── Manifest detection, source identification
2. NORMALIZE INPUTS ── Model-specific extraction → common claim format
3. TRIAGE CLAIMS ───── Atomic decomposition, dependency graphs, provenance
4. RECONCILE ───────── Provenance-weighted disagreement, citation dedup
5. SYNTHESIZE ──────── Cross-domain synthesis, structural artifact merging
6. GENERATE OUTPUT ─── Pattern-specific template, quality metrics, freshness
7. SELF-REVIEW ─────── 7 mandatory checks before finalizing
```

---

## Step 1: Receive & Validate Inputs

### Manifest Detection

```
Input contains YAML block with `consolidation_manifest:` label?
│
├─ YES (manifest-driven)
│   ├─ Parse manifest fields: research_id, pattern, models, coverage_matrix
│   ├─ Extract consolidation config: mode, verification_priorities
│   ├─ Load pattern-specific output template from Pattern Registry
│   ├─ Note research chain context (upstream_id, inherited_constraints)
│   └─ Use model identifiers from manifest — do NOT guess sources
│
└─ NO (standalone mode)
    ├─ Ask for or infer: topic, sources, consolidation mode
    ├─ Derive pattern from content using Pattern Registry decision tree
    ├─ Use pattern defaults from Quick Reference table
    └─ Confirm inferred pattern + mode with user before proceeding
```

### Source Identification Heuristics

When manifest is absent and source is unlabeled, apply capability-aware signals:

| Signal | Likely Source | Strength |
|--------|--------------|----------|
| Deep reasoning chains, cross-domain analogies, self-corrections, hedged nuance | Claude Opus 4.6 | primary_researcher |
| Structured tables with dense citations, systematic catalogs, source appendix | Gemini 3.1 Pro Deep Research | structured_cataloger |
| Site-specific citations, temporal progression ("as of [date]"), intervention markers | GPT-5.2 Deep Research | targeted_investigator |
| Quick facts, recent dates, sentiment language, short-form responses | GPT-5.2 Chat | recency_validator |
| Proprietary data, specific methodologies, organizational context | Human analyst | domain_expert |

If uncertain after heuristic check, ask user to confirm. When manifest is present, always use `manifest.models[].model_id`.

### Validation

```
Research outputs provided?
├─ NO → Ask: "Please share the research outputs to consolidate."
└─ YES → Sources identifiable?
         ├─ NO → Ask: "Which source produced each output?"
         └─ YES → ≥2 sources?
                  ├─ NO → Warn: single-source consolidation has limited value.
                  │        Offer: proceed as structured review, or add sources.
                  └─ YES → Proceed to Step 2.
```

---

## Step 2: Normalize Inputs

Convert heterogeneous model outputs into a common claim format before triaging.

### Extraction Patterns by Source

| Source | Extract | Tag |
|--------|---------|-----|
| **Claude Opus 4.6** | Reasoning chains (analytical steps, not just conclusions) | `type: reasoning_chain` |
| | Conclusions linked to their supporting chains | `type: factual/causal` |
| | Web search findings with source URLs | `channel: web_search` |
| | Cross-domain insights and analogies | `type: cross_domain_synthesis` |
| | Self-review corrections (higher-confidence refinements) | `type: factual` |
| **Gemini 3.1 Pro** | Tables — preserve structure, do not flatten | `type: structural_artifact` |
| | Prose claims with inline citation mapping | `type: factual/causal` |
| | Source appendix — map citations to claims, compute quality scores | provenance metadata |
| | Comparison matrices with per-cell provenance | `type: structural_artifact` |
| | file_search-grounded claims | `channel: internal_document` |
| **GPT-5.2 Deep** | Assertions with temporal markers ("as of [date]") | `provenance.temporal_marker` |
| | Site-specific findings with source domain | `channel: site_restricted` |
| | Intervention-adjusted findings (higher targeted confidence) | boosted weight |
| | Timeline/progression narratives | `type: structural_artifact` |
| **GPT-5.2 Chat** | Quick facts with recency dates | `channel: quick_validation` |
| | Sentiment signals | `type: recommendation` |
| | *All Chat claims default to lower provenance weight* | validation role |

### Normalized Claim Format

```yaml
claim: {id: "C-{seq}", text: "...", type: factual|causal|quantitative|recommendation|unique|reasoning_chain|structural_artifact,
  source_model: claude-opus-4-6|gemini-3.1-pro|gpt-5.2-deep|gpt-5.2-chat|human,
  provenance: {channel: web_search|file_search|site_restricted|quick_validation|internal_document,
    site_restrictions: [], context_documents: [], citation_quality: 0-5, temporal_marker: "YYYY-MM-DD"|null},
  depends_on: [claim IDs]}
```

### Citation Quality Scale

| Score | Source Type | Examples |
|-------|------------|---------|
| 5 | Primary | SEC filings, peer-reviewed, official stats, vendor docs |
| 4 | High-quality secondary | Gartner, Forrester, named-source journalism |
| 3 | General secondary | News, press releases, industry publications |
| 2 | Tertiary | Wikipedia, blogs, aggregators |
| 1 | Unsourced assertion | No citation trail |
| 0 | Unverifiable | Contradicts known facts or cites non-existent sources |

---

## Step 3: Triage Claims

Decompose normalized claims into an atomic claims matrix with dependency tracking.

### Claim Types

| Type | Handling |
|------|----------|
| **Factual assertions** | Cross-validate; trace to primary sources |
| **Causal claims** | Map reasoning chains; note mechanism divergence |
| **Quantitative data** | Flag discrepancies >10%; verify primary source agreement |
| **Recommendations** | Tag as interpretation; link to supporting facts |
| **Unique insights** | Preserve with provenance flag; do not discard |
| **Reasoning chains** | Preserve structure; validate logical steps; compare across sources |
| **Structural artifacts** | Preserve format (tables, matrices, timelines); merge in Step 5 |

### Claims Matrix

Rows = claims, columns = sources. `(qN)` = citation quality. Flag same-primary-source convergence separately.

```
             │ Claude │ Gemini │ GPT-5.2D│ GPT-5.2C│ Status
─────────────┼────────┼────────┼─────────┼─────────┤
Claim A      │ ✓ (q4) │ ✓ (q5) │  ✓ (q3) │         │ Convergent (diff sources)
Claim B      │ ✓ (q4) │ ✓ (q4) │         │         │ Convergent (same primary?)
Claim C      │ ✓ (q3) │        │         │         │ Unique
Claim D      │ ✓ (q4) │ differ │  differ │         │ Contested
```

### Claim Dependency Graphs

`Claim A (factual) ──supports──► Claim B (causal) ──supports──► Claim C (recommendation)`

**Rules**: Recommendation confidence CANNOT exceed supporting facts. If a fact drops tiers, propagate to ALL dependents. Document chains in output.

---

## Step 4: Reconcile

### Provenance-Weighted Disagreement Protocol

Execute in order — stop at first resolution:

| Step | Test | Resolution |
|------|------|-----------|
| 1 | **Coexist?** Different scope/timeframe/definition? | Preserve both with clarifying context |
| 2 | **Provenance?** Higher channel? (`site_restricted` > `web_search` > `quick_validation`; `internal_document` > `web_search` for proprietary) | Favor higher provenance; note alternative |
| 3 | **Citation dedup?** Same primary source(s)? | Treat as SINGLE-SOURCE (Tier 2 cap), not independent |
| 4 | **Specificity?** One more specific or better sourced? | Favor specificity; note alternative |
| 5 | **Majority?** Most sources agree? | Lead with majority; preserve dissent |
| 6 | **All diverge** | Flag "unresolved." Agentic mode: web search. Else: present all views |

### Confidence Tier 

Related in AI Agents