plugins/summarizer/skills/multi-source-synthesis/SKILL.md
Combines multiple summaries into coherent synthesis. Activates when user requests combine these summaries, synthesize results, merge findings, or multi-source synthesis. This is the reduce step after individual sources have been summarized. Enforces deduplication, conflict surfacing, confidence scoring across sources, and attribution to all sources.
npx skillsauth add jamie-bitflight/claude_skills multi-source-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.
Combine multiple summaries into a single coherent synthesis with proper attribution, deduplication, and conflict handling.
The model MUST activate this skill when:
Before applying this skill, the model MUST ensure:
The model MUST follow these steps in order:
Merge identical or overlapping information from different sources:
Rules:
Example:
BEFORE DEDUPLICATION:
- Source A: "API rate limit is 100 requests per minute"
- Source B: "Rate limiting enforced at 100 req/min per key"
AFTER DEDUPLICATION:
- API rate limit is 100 requests per minute per key (sources: A, B)
Deduplication Decision Matrix:
| Situation | Action | |-----------|--------| | Same info, different sources | Merge, cite all sources, use most complete version | | Same topic, different conclusions | Keep both, surface conflict explicitly | | Different aspects of same topic | Keep separate, group under same theme cluster | | Different people/viewpoints | Keep separate, attribute to each source |
Group related findings by topic or theme, NOT by source:
Rules:
Example structure:
## Authentication Methods
The API supports JWT authentication (sources: A, C) and OAuth 2.0 (source: B). JWT tokens expire after 24 hours (source: A), while OAuth tokens are configurable per client (source: B).
Order clusters by relevance to the user's query or task:
Rules:
Calculate confidence for each synthesized claim based on source agreement:
Confidence Scoring Rules:
| Source Profile | Confidence Level | |----------------|------------------| | Multiple fresh authoritative sources agree | High | | Single authoritative source, recent | Medium-High | | Multiple sources but somewhat dated | Medium | | Single source or informal source | Medium-Low | | Old data, conflicting sources, or ambiguous | Low |
The model MUST:
Confidence calculation factors (from Fidelity Rules Rule 6):
Produce a narrative synthesis with proper attribution:
Rules:
source_type: multi-source in frontmattersource_path as a YAML list(source: A) or (sources: A, B, C)Attribution format:
JWT tokens expire after 24 hours (source: API Documentation v2.3). However, the Developer Guide states tokens expire after 12 hours. This discrepancy requires clarification.
Choose detail level based on the number of distinct findings after deduplication:
| Result Count | Strategy | Format | |--------------|----------|--------| | Small (1-5 findings) | Present each finding with full detail | Bulleted list with inline attribution | | Medium (6-15 findings) | Group by theme, provide detail within each theme | Themed sections with subsections | | Large (16+ findings) | High-level summary + offer drill-down | Executive summary + detailed sections |
Small result set example:
## Summary
Four key capabilities were identified:
- JWT authentication with 24-hour token expiration (source: API Docs)
- Rate limiting at 100 requests/min per API key (sources: API Docs, Developer Guide)
- WebSocket support for real-time updates (source: Developer Guide)
- Webhook notifications for asynchronous events (source: Integration Guide)
Large result set example:
## Summary
The synthesis covers 23 distinct API capabilities across 5 categories: authentication, rate limiting, real-time features, data formats, and error handling.
### Authentication (5 findings)
[Detailed subsection with attributions...]
### Rate Limiting (4 findings)
[Detailed subsection with attributions...]
[Additional sections...]
See "What Was Found" section for complete enumeration with source references.
When sources disagree, the model MUST surface conflicts explicitly:
Rules:
Conflict pattern:
## Uncertain
- Token expiration time: API Documentation v2.3 states 24 hours, but Developer Guide v1.8 states 12 hours. The API Documentation is more recent (2026-01-15 vs 2025-11-03), but both are official sources. Recommend testing or contacting support for clarification.
Use the structured format from Structured Summary with these multi-source specifics:
YAML frontmatter:
---
source_type: multi-source
source_path:
- /path/to/source-a.md
- https://example.com/source-b
- /path/to/source-c.pdf
summarized_at: "2026-02-06T14:32:00Z"
method: hybrid
word_count_source: null
word_count_summary: 847
compression_ratio: null
confidence: medium
confidence_notes: "Three sources from 2025-2026, all authoritative. One minor conflict on token expiration requires verification."
---
Body sections (all required):
When this skill is invoked after a team-based summarization (teammates instead of subagents), the synthesis workflow is the same but the input format differs:
| Orchestration | Input to Synthesis | |---|---| | Subagents | Summary text returned directly from Agent tool calls | | Teammates | Findings delivered via Teammate inbox messages to the leader |
In team mode, teammates message each other directly when they discover overlapping or contradictory information. This means some deduplication and conflict detection happens during the map step rather than only in this reduce step.
The leader MUST still run the full synthesis workflow (Steps 1-6) on the collected findings. Teammate cross-checking reduces but does not eliminate the need for post-hoc deduplication and conflict handling.
SOURCE: Team coordination pattern from orchestrating-swarms skill (accessed 2026-02-06). Swarm pattern (self-organizing workers with shared task list) applied to multi-source summarization.
../summarizer/templates/{format_id}.md (default: structured). The template defines the schema, required sections, and fidelity constraints for the selected format.The model MUST NOT:
This skill is adapted from Anthropic's knowledge-synthesis skill in the knowledge-work-plugins repository (accessed 2026-02-06). Synthesis workflow steps, confidence scoring methodology, and result set size strategies are derived from that source.
development
When an application needs to store config, data, cache, or state files. When designing where user-specific files should live. When code writes to ~/.appname or hardcoded home paths. When implementing cross-platform file storage with platformdirs.
testing
Enforce mandatory pre-action verification checkpoints to prevent pattern-matching from overriding explicit reasoning. Use this skill when about to execute implementation actions (Bash, Write, Edit) to verify hypothesis-action alignment. Blocks execution when hypothesis unverified or action targets different system than hypothesis identified. Critical for preventing cognitive dissonance where correct diagnosis leads to wrong implementation.
tools
Reference guide for the Twelve-Factor App methodology — 15 principles (12 original + 3 modern extensions) for building portable, resilient, cloud-native applications. Use when evaluating application architecture, designing cloud-native services, reviewing codebases for methodology compliance, advising on configuration, scaling, observability, security, and deployment patterns. Incorporates the 2025 open-source community evolution and cloud-native reinterpretations of each factor.
tools
Converts user-facing documentation (how-to guides, tutorials, API references, examples) in any format — Markdown, PDF, DOCX, PPTX, XLSX, AsciiDoc, RST, HTML, Jupyter notebooks, man pages, TOML/YAML/JSON configs, and plain text — into Claude Code skill directories with SKILL.md plus thematically grouped references/*.md files. Use when given a docs directory or mixed-format documentation to transform into an AI skill. Uses MCP file-reader server for binary formats.