# Dr Cook:literature Reviewer

> Synthesize and review academic literature. Use when summarizing multiple papers, extracting themes, creating literature review tables, or preparing systematic/narrative reviews. Triggers on: review literature, summarize papers, literature synthesis, systematic review, narrative review, 文献综述, 文献整理, 综述, 系统综述, 整理文献, 文献分析, 文献总结.

- Skill: `wen-chen/dr-cook-literature-reviewer` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add wen-chen/dr-cook-literature-reviewer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wen-chen/dr-cook-literature-reviewer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: wen-chen (https://skillmd.com/u/wen-chen)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wen-chen/dr-cook-literature-reviewer

---


# literature-reviewer

## 1. Overview

literature-reviewer synthesizes academic literature into structured reviews. It accepts uploaded papers, pasted abstracts, or PMID/DOI lists as input, and supports three review types: systematic (PRISMA-compliant), narrative (thematic), and scoping (evidence mapping). Output consists of a thematic synthesis, a key findings list, and a structured review table in a format matched to the review type and research domain. This module is the designated entry point of the Grant pipeline — it produces no upstream dependencies and writes a `context_output` object consumed directly by research-gap-finder and, subsequently, grant-writer. All downstream modules in the pipeline inherit `domain`, `language`, `key_findings`, and `references` from this module's output without re-asking the user.

## 2. Parameters

### Required

| Parameter | Values | Description |
|---|---|---|
| `domain` | `tcm` \| `bioinformatics` \| `clinical` \| `pharmacology` | Research domain. Used to select domain-specific table columns and terminology. |
| `review_type` | `systematic` \| `narrative` \| `scoping` | Type of review to conduct. Determines methodology, synthesis structure, and table template. |

### Optional

| Parameter | Values | Description |
|---|---|---|
| `language` | `en` \| `zh` (default: `en`) | Output language for all generated text. |
| `topic` | string | Explicit topic statement. Provide if the topic is not clearly derivable from the papers themselves. |
| `output_format` | `markdown` \| `table_only` \| `full_report` (default: `full_report`) | Controls scope of generated output. `table_only` produces only the review table; `full_report` produces all output sections. |

### Parameter collection rule

Ask for `review_type` first (one question, wait for the answer). Then ask for `domain` only if it cannot be inferred from the papers or abstracts already provided. Do not ask for optional parameters unless the user has explicitly mentioned them.

## 3. Workflow

**Step 1 — Accept input.**
Accept one or more of the following:
- User-uploaded PDF or text files (extract text from content provided).
- Pasted abstracts — one or more, each treated as a separate source.
- A list of PMIDs or DOIs. Note: PMID/DOI lists do not contain full text. If provided, inform the user that only metadata and abstracts may be available, and suggest running literature-downloader first to retrieve full texts before synthesis.
- A combination of the above types.

If no literature of any kind is provided, ask the user to supply papers, abstracts, or PMIDs/DOIs before proceeding. Do not generate placeholder content.

**Step 2 — Collect missing parameters.**
Apply the collection rule: ask for `review_type` first. If `domain` cannot be inferred from the provided content, ask for it next. Wait for each answer before continuing.

**Step 3 — Load synthesis methodology.**
Read `references/synthesis-methods.md`. Apply the section corresponding to the collected `review_type` (`systematic`, `narrative`, or `scoping`) to guide extraction logic, quality assessment, and synthesis structure throughout subsequent steps.

**Step 4 — Extract from each source.**
For each paper or abstract, extract the following fields (record as N/A if not reported or not available from abstracts only):
- Study design and sample size
- Population, organism, or cell type
- Intervention or exposure (if applicable)
- Key findings and primary outcome measures
- Methodology highlights (tools, assays, datasets, statistical methods)
- Quality or limitation notes

**Step 5 — Synthesize across sources.**
Group extracted information into themes. Across all sources:
- Identify recurring findings and consensus positions.
- Note explicit contradictions and unresolved debates between studies.
- Map coverage: what populations, interventions, methods, or combinations have been studied, and which are absent from the literature.

Apply synthesis guidance from `references/synthesis-methods.md` for the selected `review_type` (e.g., PICO framing for systematic; thematic grouping for narrative; evidence mapping for scoping).

**Step 6 — Generate review table.**
Read `references/review-table-formats.md`. Select the template matching the `review_type`, and apply domain-specific column customizations for the collected `domain`. For small sets (≤5 papers), use Template 1 only. For 6–20 papers with extractable outcome data under a systematic review, use Templates 1 and 2 together. For scoping reviews, use Template 3.

**Step 7 — Compose output.**
Produce all output sections as defined in Section 4:
- Thematic narrative synthesis: 3–6 paragraphs covering recurring themes, contradictions, and coverage gaps.
- Key findings list: 5–10 bullet points drawn directly from the synthesis. These will populate `key_findings` in `context_output` for downstream modules.
- Review table: structured per the template selected in Step 6.
- Reference list: format all sources in Vancouver style using information extracted from the provided papers or supplied by the user. Do not fabricate bibliographic details.

**Step 8 — Pipeline handoff.**
After presenting all output, add this note: "context_output is ready for research-gap-finder." If this session was initiated via a pipeline command (`/cook grant` or `/cook pipeline:`), offer to automatically proceed to the next step. If this was a standalone invocation, offer: "Would you like to continue to research-gap-finder to identify research gaps in this literature?" — but wait for explicit user confirmation before proceeding.

## 4. Output Format

```
## Literature Synthesis: [Topic]

### Thematic Summary
[3–6 paragraphs covering recurring themes, contradictions, and evidence gaps]

### Key Findings
1. [Finding — specific, with gene names, percentages, or effect sizes where available]
2. [Finding]
...

### Review Table
[Structured table per review-table-formats.md — template and columns matched to review_type and domain]

### References
[Vancouver-formatted reference list — numbered sequentially]
```

For `output_format: table_only`, produce only the Review Table section. For `output_format: markdown`, produce all sections in the format shown above (identical to `full_report` in markdown rendering).

## 5. context_output

### Reads from upstream

None. This module is the entry point of the Grant pipeline. It reads `domain` and `language` from user-provided parameters only — not from any upstream `context_output`.

### Writes to output

```json
{
  "module": "literature-reviewer",
  "domain": "<collected>",
  "language": "<collected>",
  "summary": "<thematic synthesis narrative, 200–300 words>",
  "key_findings": ["<finding 1>", "<finding 2>", "...up to 10"],
  "references": [
    { "pmid": "<if known>", "doi": "<if known>", "title": "...", "authors": "...", "year": 0 }
  ],
  "parameters": {
    "review_type": "<collected>",
    "topic": "<if provided by user, otherwise null>"
  },
  "status": "success | partial",
  "error_message": null
}
```

**Status values:**
- `"success"`: Full text was available for all or most sources; synthesis is based on complete content.
- `"partial"`: One or more sources were abstracts only (from PMIDs without full-text retrieval, or pasted abstracts). Downstream modules (research-gap-finder, grant-writer) must treat `key_findings` and `summary` as potentially incomplete and should note this limitation in their own outputs.

`error_message` is `null` on success or partial; populated with a brief description if the module cannot produce any usable output (e.g., all PMIDs failed to resolve and no abstracts were provided).

### Downstream readers

`summary` and `key_findings`: research-gap-finder, grant-writer, paper-writer.
`references`: citation-checker, paper-writer.
`domain` and `language`: all downstream modules in the pipeline.

## 6. References

See `references/` for:
- `synthesis-methods.md` — Review methodology by type (systematic, narrative, scoping); quality assessment tools; PRISMA flow guidance
- `review-table-formats.md` — Structured table templates by review type and domain; column customization rules; template selection guidance

