name: synthesize description: Create a cross-source synthesis across multiple source analyses and claims. Use after checking multiple sources or when producing a higher-level, decision-oriented view. argument-hint: "<topic> [source-ids/claim-ids in prompt]" allowed-tools: ["Read", "Write", "Bash(uv run python scripts/db.py *)", "Bash(rc-db *)", "Bash(uv run python scripts/export.py *)", "Bash(rc-export *)", "Bash(uv run python scripts/validate.py *)", "Bash(rc-validate *)"]
/synthesize - Cross-Source Synthesis
Create a cross-source synthesis across multiple source analyses and claims. Use after checking multiple sources or when producing a higher-level, decision-oriented view.
Usage
/synthesize <topic> [source-ids/claim-ids in prompt]
Create a cross-source synthesis across multiple source analyses and existing claims.
Use this after running /check on multiple sources (or when you already have relevant source analyses and want a higher-level conclusion).
Note: For multi-source prompts, /check should typically produce the synthesis automatically; /synthesize is the standalone/iterative version of that workflow.
Prerequisites
Environment
Set REALITYCHECK_DATA to point to your data repository:
export REALITYCHECK_DATA=/path/to/realitycheck-data/data/realitycheck.lance
The PROJECT_ROOT is derived from this path - all analysis files go there.
CLI Commands
Reality Check provides CLI tools (rc-db, rc-validate, rc-export, rc-embed).
Check availability:
which rc-db # Should show path if pip-installed
If commands are not found, either:
- •Install:
pip install realitycheck(recommended) - •Use
uv runfrom framework directory:uv run python scripts/db.py ... - •Add framework as submodule and use:
.framework/scripts/db.py ...
Red Flags: Wrong Repository
IMPORTANT: Always write to the DATA repository, never to the framework repository.
If you see these directories, you're in the framework repo (wrong place for data):
- •
scripts/ - •
tests/ - •
integrations/ - •
methodology/
Stop and verify REALITYCHECK_DATA is set correctly.
Data Source of Truth
LanceDB is the source of truth, not YAML files.
- •Query sources:
rc-db source get <id>orrc-db source list - •Query claims:
rc-db claim get <id>orrc-db claim list - •Search:
rc-db search "query"
Ignore YAML files like claims/registry.yaml or reference/sources.yaml - these are exports/legacy format.
When to Use
Run synthesis when the task is inherently multi-source:
- •compare/contrast competing approaches
- •reconcile conflicting claims
- •summarize the overall state of evidence on a topic
- •produce a decision-oriented “what should we believe?” output
Output Contract
Write a synthesis document to:
PROJECT_ROOT/analysis/syntheses/<synth-id>.md
Required elements:
- •Synthesis metadata (topic, date, synthesis ID)
- •Claims referenced (claim IDs)
- •Source analysis links for relevant sources (prefer linking
analysis/sources/<source-id>.md) - •Agreement/disagreement with explanations
- •Synthesis conclusions with calibrated credence and key uncertainties
Corner case: If you have claims/evidence but no analyzable sources, explicitly say so and explain why (e.g., internal notes, private sources, offline materials). Still reference claim IDs and any evidence artifacts available.
Workflow
- •Start Tracking - Begin token usage capture with synthesis attribution
- •Define the question - What is this synthesis trying to answer?
- •Collect inputs
- •Prefer existing source analyses in
analysis/sources/ - •If a relevant source has no analysis yet, run
/checkfirst (or document the gap)
- •Prefer existing source analyses in
- •Build a cross-source map
- •Points of agreement (which claims converge?)
- •Points of disagreement (where do they conflict, and why?)
- •Write the synthesis
- •Link each major claim back to source analyses (when available)
- •Resolve conflicts where possible; otherwise record open questions + what would resolve them
- •(Optional) Register an argument chain
- •Use
rc-db chain add ... --analysis-file "analysis/syntheses/<synth-id>.md" --claims "ID1,ID2,..."for the central claim chain
- •Use
- •Complete Tracking - Finalize token usage with synthesis attribution
- •Update README
- •Add the synthesis to the "Syntheses" table (kept above "Source Analyses")
- •Commit and push
- •Commit changes to
analysis/andREADME.md(and any generated exports), then push
- •Commit changes to
Token Usage Tracking (Synthesis Mode)
For syntheses, use the lifecycle commands with attribution flags to track which source analyses feed into the synthesis:
# 1. At workflow START ANALYSIS_ID=$(rc-db analysis start \ --source-id "SYNTH-[YYYY]-[NNN]" \ --tool claude-code \ --model "claude-sonnet-4" \ --cmd synthesize) # 2. At workflow END (after writing synthesis) # Include --inputs-source-ids and --inputs-analysis-ids for cost attribution rc-db analysis complete \ --id "$ANALYSIS_ID" \ --analysis-file "analysis/syntheses/[synth-id].md" \ --inputs-source-ids "source-id-1,source-id-2" \ --inputs-analysis-ids "ANALYSIS-2026-001,ANALYSIS-2026-002" \ --estimate-cost \ --notes "Cross-source synthesis"
The inputs_source_ids and inputs_analysis_ids fields enable end-to-end cost tracking: you can trace a synthesis back to its constituent analyses and sum their costs.
Minimal Template Snippet
# Synthesis: [Topic] ## Synthesis Metadata - **Synthesis ID**: `SYNTH-[YYYY]-[NNN]` - **Topic**: [question or topic] - **Date**: YYYY-MM-DD - **Source Analyses**: - [source-id](../sources/source-id.md) - ... - **Claims Referenced**: TECH-2026-001, ...
Related Commands
- •
/check - •
/search - •
/validate - •
/export - •
/stats