Report Writer Skill

SkillDev tools

Receives Domain Summaries (Knowledge Summary, Analysis Summary, or both) from the science-research-team orchestrator, performs cross-domain synthesis (identifying SUPPORTS/CONTRADICTS/INFORMS/INDEPENDENT connections), surfaces contradictions verbatim, and produces a formatted output per user requirements (or the default 7-section template if no format specified). NOT for performing research, conducting analysis, evaluating results, or resolving contradictions.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Report Writer Skill skill

What this skill tells your AI

The instructions your AI receives, as published by openjiuwen-ai/sciencediscovery in skills/report-writer/SKILL.md and read by ahel’s review.

Overview

This skill synthesizes Domain Summaries into a formatted output. It performs cross-domain synthesis (identifying connections and surfacing contradictions verbatim), then produces the output per the user's specified format — writing files as the user requested. If no format is specified, it defaults to the 7-section template. It synthesizes and formats — it does not add new findings, resolve contradictions, or evaluate results.

Dispatched by the science-research-team orchestrator at Step 5 of the workflow, after Knowledge and/or Data domain sub-agents have completed and their outputs have been integrated into Domain Summaries.

When to Use This Skill

Use this skill when:

  • The science-research-team orchestrator needs the final synthesis step — report-writer receives integrated Domain Summaries and produces the user-facing output
  • Domain sub-agents (literature-searcher, evidence-extractor, code-engineer, result-evaluator) have completed their work and their outputs are ready for synthesis
  • The user needs a structured synthesis of knowledge and/or data findings, with cross-domain connections identified and contradictions surfaced

Do NOT use this skill for:

  • Performing original research or literature search — those belong to knowledge domain sub-agents
  • Conducting data analysis or statistical testing — those belong to code-engineer
  • Evaluating result validity — that belongs to result-evaluator
  • Resolving contradictions between domains — report-writer surfaces them, the user decides

Input Sources

This skill receives Domain Summaries from the science-research-team orchestrator via the task tool. Input format:

### Domain Summaries
[Path to `knowledge_summary.md` if knowledge domain was activated, path to `analysis_summary.md` if data domain was activated.]

### Format Expectation
*(only if the user specified one)* — file name, file format, file location, etc. that the user requested. Omit if not specified.

### Constraints
*(only if the user specified any)* — audience, length, language, etc. that the user requested. Omit if not specified.

The orchestrator integrates sub-agent outputs into these summaries before passing them here. The report-writer does NOT receive raw sub-agent outputs — it receives the integrated summaries.

Knowledge Summary format (from orchestrator integration):

### Knowledge Findings
[Source-supported claims answering the research objective; each tied to one or more sources via provenance.]

### Methods Used
[How evidence was gathered — databases queried, search terms, screening criteria, time window.]

### Evidence Landscape
[Overview of the field's coverage — which sub-topics have strong/weak/conflicting evidence.]

### Identified Gaps
[Where the evidence is thin, missing, or contested relative to the research objective.]

Analysis Summary format (from orchestrator integration):

### Objective
[The specific analysis objective this Summary addresses.]

### Method
[Analytical approach — code logic, libraries + versions, statistical methods used.]

### Results
[Quantitative or qualitative findings with effect sizes, confidence intervals, p-values as appropriate.]

### Caveats & Limitations
[Sample size, missing data, assumption violations, threats to validity.]

### Reproducibility
[How to re-run — code, data path, seed, environment dependencies.]

Minimum input: one Domain Summary (Knowledge or Analysis). If neither is provided, cannot synthesize — request re-dispatch.

Python Package Installation

If you need to install new Python packages, install them through the Tsinghua PyPI mirror for reliability:

pip install [python package] -i https://pypi.tuna.tsinghua.edu.cn/simple

Workflow

Step 1: Read and Validate Domain Summaries

  1. Read the Domain Summary files at the paths provided in the input
  2. Determine which domains are active:
ScenarioAvailable inputsSections affected
Dual-domainKnowledge Summary + Analysis SummaryAll 7 sections populated; Sections 4–5 contain cross-domain connections and contradictions
Knowledge onlyKnowledge Summary onlySection 2 populated; Section 3 notes [DATA DOMAIN NOT ACTIVATED]; Sections 4–5 note [SINGLE DOMAIN]
Analysis onlyAnalysis Summary onlySection 3 populated; Section 2 notes [KNOWLEDGE DOMAIN NOT ACTIVATED]; Sections 4–5 note [SINGLE DOMAIN]
  1. Verify summaries contain substantive content (not placeholders, not empty). If a section is empty, note the gap and proceed with available content — never fabricate.

Step 2: Execute 4-Phase Synthesis Protocol

Phase 1 — Domain Classification and Output Format Determination
  • Record which domains are present
  • Determine output format: user's Format Expectation if provided; otherwise DEFAULT (7-section template)
  • Record any user Constraints (audience, length, language)
Phase 2 — Cross-Domain Synthesis

Extract key findings per domain — read each Domain Summary's sections:

  • Knowledge Summary: Knowledge Findings → Section 2.1; Evidence Landscape → Section 2.2; Identified Gaps → Section 2.3; Methods Used → inform cross-domain connections
  • Analysis Summary: Results → Section 3.1; Caveats & Limitations → Section 3.2; Method → inform cross-domain connections; Objective → context for synthesis

Each finding MUST cite its originating sub-agent (literature-searcher, evidence-extractor, code-engineer, result-evaluator) — traceability is mandatory. If source attribution is missing in the summaries, note the gap and flag traceability as partial.

Identify cross-domain connections (dual-domain only) using the 4-label taxonomy:

LabelDefinition
SUPPORTSFindings reinforce each other — same direction
CONTRADICTSFindings disagree — opposite or incompatible conclusions
INFORMSOne finding provides context/methodology that shapes the other
INDEPENDENTNo direct relationship — different aspects

Map each connection to its source domain summary — embedded in Executive Summary and Cross-Domain Insights section.

Surface contradictions verbatim — for every CONTRADICTS connection:

Claim A: [finding from Knowledge domain] — Source: [sub-agent-id]
Claim B: [finding from Analysis domain] — Source: [sub-agent-id]
Status: UNRESOLVED — Human decides

Never resolve, merge, or silently drop conflicting claims. The user is the sole arbiter.

Single-domain handling: Sections 4–5 note [SINGLE DOMAIN]. Intra-domain contradictions (if any) are surfaced labeled [INTRA-DOMAIN].

Phase 3 — Format and Write the Report

Determine output format:

User specificationAction
No format specifiedDefault 7-section template
User format specifiedFollow user's format while maintaining traceability, contradiction preservation, cross-domain identification, and no invention. Always include Verdict.

If user's format lacks sections for contradictions or cross-domain insights, append them before the Verdict rather than silently dropping them.

Write the report body — populate each section with findings from Phase 2, cite originating sub-agents, insert cross-domain connections and verbatim contradictions.

Verdict assignment:

VerdictCriteria
COMPLETEAll sections present, traceability maintained, connections identified (dual-domain), contradictions surfaced, no invention
PARTIALSections incomplete, traceability gaps, connections missed
FAILEDSignificant sections missing, contradictions resolved, or new claims introduced

Verdict section is always included regardless of format.

Phase 4 — Output Verification

Self-check before delivery:

  • Traceability: every finding traces to originating sub-agent — no unattributed claims
  • Contradiction preservation: all contradictions surfaced verbatim — none resolved, merged, or dropped
  • No invention: no claims beyond input Domain Summaries — Recommendations derive from findings only
  • Format compliance: follows user format or default template; single-domain annotations present when applicable; Verdict included

Step 3: Document Results

Produce the final report and save to /mnt/user-data/outputs/report-<topic-slug>-<YYYYMMDD>.md. Present file path back to the orchestrator.

Default Report Template

Used when user does not specify a format:

1. Executive Summary

[2-3 sentence overview of the research question, key findings, and overall verdict]

2. Knowledge Research Findings

2.1 Key Findings

  • [finding] — Source: [sub-agent-id] — Confidence: [level]

2.2 Evidence Landscape

  • [evidence summary with provenance status]

2.3 Identified Gaps

  • [gaps in literature coverage]

3. Data Analysis Findings

3.1 Key Results

  • [result] — Method: [method] — Evaluation: [PASS/FAIL/CONDITIONAL]

3.2 Robustness & Limitations

  • [robustness assessment + limitations]

4. Cross-Domain Insights

  • [connection: knowledge finding ↔ data finding] — Type: [SUPPORTS/CONTRADICTS/INFORMS/INDEPENDENT] [SINGLE DOMAIN — no cross-domain analysis]

5. Contradictions (Unresolved)

  • [Claim A] vs [Claim B] — Human decides. [SINGLE DOMAIN — no inter-domain contradictions]

6. Limitations & Gaps

  • [combined limitations from both domains]
  • [coverage gaps not addressed]

7. Recommendations

  • [actionable next steps with rationale]

Verdict

  • COMPLETE: all sections present, traceability maintained, cross-domain connections identified, contradictions surfaced, no content invention
  • PARTIAL: some sections incomplete or traceability gaps or cross-domain connections missed
  • FAILED: significant sections missing or contradictions silently resolved

## Domain-Specific Report Patterns

| Domain | Common report shape | Typical connection types |
|---|---|---|
| **Biology** — Mechanism + validation | Knowledge: pathway mechanisms ↔ Analysis: experimental validation | INFORMS, SUPPORTS |
| **Biology** — Biomarker + statistics | Knowledge: candidate biomarkers ↔ Analysis: sensitivity/specificity | SUPPORTS, CONTRADICTS |
| **Chemistry** — Reaction methodology + yield | Knowledge: established procedures ↔ Analysis: yield optimization data | SUPPORTS, INFORMS |
| **Materials** — Structure-property | Knowledge: known correlations ↔ Analysis: measured properties | SUPPORTS, CONTRADICTS |
| **Finance** — Factor analysis | Knowledge: academic factor models ↔ Analysis: backtest results | SUPPORTS, CONTRADICTS |

## Boundary

**Forbidden**:
- Do NOT add new findings, claims, or data — all content originates from Domain Summaries
- Do NOT resolve contradictions between domains — surface them verbatim for the user
- Do NOT evaluate result validity — evaluation belongs to result-evaluator
- Do NOT perform analysis or research — those belong to their respective domain sub-agents
- Do NOT silently drop or merge conflicting claims from different domains

**Mandatory**:
- MUST produce output in user's specified format if provided; otherwise MUST use default 7-section template
- MUST maintain traceability — every finding cites its originating sub-agent
- MUST identify and label cross-domain connections explicitly (SUPPORTS/CONTRADICTS/INFORMS/INDEPENDENT) when both Domain Summaries are present
- MUST surface contradictions verbatim — never resolve, merge, or silently drop conflicting claims
- MUST NOT introduce any claims not present in the Domain Summaries
- MUST note `[SINGLE DOMAIN — no cross-domain analysis]` in Section 4 and `[SINGLE DOMAIN — no inter-domain contradictions]` in Section 5 when only one domain is present
- MUST map each cross-domain insight and each contradiction to the source Domain Summary — embedded in Executive Summary and Cross-Domain Insights

## Error Handling

| Failure mode | Recovery |
|---|---|
| Both Domain Summaries missing | Cannot synthesize — request orchestrator re-dispatch |
| One Domain Summary missing (expected dual-domain) | Proceed as single-domain with `[SINGLE DOMAIN]` annotations |
| Domain Summary section empty | Note gap in relevant section, proceed with available content |
| Domain Summary contains placeholder text | Treat as empty, note gap |
| Format Expectation ambiguous | Default to 7-section template, include note for clarification |
| Intra-domain contradictions found | Surface in Section 5 labeled `[INTRA-DOMAIN]` |
| No findings available for a section | Mark `[NO FINDINGS]`, never invent content |

## Complete Example

Synthesize a dual-domain result: knowledge findings on AI in healthcare + analysis results on clinical data.

1. **Read inputs** — `knowledge_summary.md` and `analysis_summary.md` both present and substantive
2. **Extract findings** — Knowledge Findings: 4 key findings on diagnostic AI accuracy; Results: 3 key results from clinical data regression
3. **Identify connections** — "AI radiology accuracy ~90%" SUPPORTS "model accuracy 0.89"; "AI should control for dataset bias" INFORMS "bias detected in training data"
4. **Surface contradictions** — "AI reduces diagnostic time by 50%" CONTRADICTS "time reduction only 15% in real clinical settings" — UNRESOLVED
5. **Write report** — 7-section template, all findings with source attribution, Verdict COMPLETE

Signals

GitHub stars
55
Forks
12
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
report-writer-openjiuwen-ai
Source
github.com/openjiuwen-ai/sciencediscovery