# Dr Cook:research Gap Finder

> Identify research gaps and generate research questions from literature. Use when finding unexplored areas, understudied populations, methodological limitations, or conflicting findings in a field. Triggers on: research gap, find gaps, what's missing, unexplored, understudied, research question, hypothesis generation, 研究空白, 未探索, 找差距, 研究问题, 科学假说, 选题建议.

- Skill: `wen-chen/dr-cook-research-gap-finder` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add wen-chen/dr-cook-research-gap-finder`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wen-chen/dr-cook-research-gap-finder/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-research-gap-finder

---


# research-gap-finder

## 1. Overview

research-gap-finder identifies research gaps by systematically analyzing a literature corpus from three angles: topical coverage gaps (what has not been studied), methodological gaps (what has been studied inadequately), and controversy gaps (what remains unresolved or contradictory). For each gap identified, the module generates a specific gap statement, an actionable research question, and — when requested — a testable hypothesis. This module is Step 2 of the Grant pipeline: it receives `context_output` from literature-reviewer and produces focused research directions for grant-writer. When running in the pipeline, parameters already present in upstream context are not re-collected from the user.

## 2. Parameters

### Required

| Parameter | Values | Description |
|---|---|---|
| `domain` | `tcm` \| `bioinformatics` \| `clinical` \| `pharmacology` | Research domain. Controls the variables used in the Literature Matrix Gap Scan. |

### Optional

| Parameter | Values | Description |
|---|---|---|
| `scope` | `narrow` \| `broad` (default: `narrow`) | `narrow` = focused gap within one sub-area; `broad` = map all major gaps across the field |
| `output_style` | `questions` \| `hypotheses` \| `both` (default: `both`) | Whether to produce questions only, hypotheses only, or both |
| `n_gaps` | integer 3–10 (default: `5`) | Number of gaps to identify and present |

### Parameter collection rule

If `domain` is already in an upstream `context_output`, inherit it silently — do NOT ask again. If missing and cannot be inferred, ask once. Do not ask for optional parameters unless the user raises them.

## 3. Workflow

**Step 1 — Check upstream context.**
If `context_output` from literature-reviewer is present, extract: `domain` (inherit, skip collection), `key_findings` (primary evidence base), `references` (verify gap claims), `summary` (narrative field context). If no upstream context, ask the user for a literature summary or key findings before proceeding. Do not generate placeholder gaps.

**Step 2 — Collect missing parameters.**
If `domain` was not inherited, ask for it first. Default `scope` to `narrow` without asking on standalone runs. Never ask for multiple parameters in one message.

**Step 3 — Load gap-analysis framework.**
Read `references/gap-analysis-frameworks.md`. Apply all three methods in Steps 4–6.

**Step 4 — Apply Method 1: Literature Matrix Gap Scan.**
Construct a mental 2D matrix using the two or three most important domain variables (e.g., for `tcm`: herb × disease; for `bioinformatics`: gene × cancer type × regulatory mechanism; for `clinical`: intervention × population subgroup). Identify unstudied cells (no evidence) and sparse cells (one or two small studies). These are topical coverage gaps.

**Step 5 — Apply Method 2: Controversy Mapping.**
From `key_findings`, identify contradictory finding pairs. For each: state both findings; diagnose the likely cause (cell line, population, assay, dose); formulate a resolution question specifying the factor that would reconcile the contradiction.

**Step 6 — Apply Method 3: Methodological Gap Scan.**
For each topic, flag evidence that is: small-N (<30/group for RCTs, <5 studies for systematic reviews); in vitro only; animal only; retrospective only; or correlational only. For each limitation, specify the methodological upgrade (study design + inferential gap it closes).

**Step 7 — Synthesize and rank.**
Rank candidate gaps on feasibility, novelty, and impact (each 1–5). Select top `n_gaps`. For each: write a gap statement (1–2 sentences), a research question (specific, named variables), and — if `output_style` is `hypotheses` or `both` — a testable hypothesis.

**Step 8 — Format and pipeline handoff.**
Present output per Section 4. In the Grant pipeline, append: "context_output is ready for grant-writer. Confirm to proceed." Standalone: offer to continue to grant-writer but wait for user confirmation.

## 4. Output Format

```
## Research Gaps Identified: [Topic]

### Gap 1: [Gap name]
**Statement:** [1–2 sentences describing what is missing and why it matters]
**Research Question:** [Specific, answerable question naming the key variables]
**Hypothesis:** [Testable, falsifiable hypothesis — if output_style includes hypotheses]
**Feasibility:** [1–5] | **Novelty:** [1–5] | **Impact:** [1–5]

### Gap 2: [Gap name]
...
```

If `output_style` is `questions`, omit the Hypothesis line. If `output_style` is `hypotheses`, include both lines — the question provides context for the hypothesis.

## 5. context_output

### Reads from upstream (literature-reviewer)

| Field | Use in this module |
|---|---|
| `domain` | Inherited as required parameter — not re-collected |
| `language` | Passed through unchanged to downstream modules |
| `key_findings` | Primary input for Methods 1–3 in Steps 4–6 |
| `references` | Verify gap claims; identify underrepresented study designs |
| `summary` | Narrative context for field coverage |

### Writes to output

```json
{
  "module": "research-gap-finder",
  "domain": "<inherited>",
  "language": "<inherited>",
  "summary": "<paragraph describing the 3 most important gaps, 100–200 words>",
  "key_findings": ["<Gap 1 research question>", "<Gap 2 research question>", "..."],
  "parameters": { "scope": "<collected>", "n_gaps": 5, "output_style": "both" },
  "status": "success",
  "error_message": null
}
```

**Note on `key_findings` repurposing:** This module's `key_findings` carries research questions, not literature findings. grant-writer reads them as the basis for the proposal's Innovation and Approach sections — each question maps to a specific aim. Modules needing original literature findings (paper-writer, citation-checker) should read from literature-reviewer's output directly.

**Status:** `"success"` when all three methods applied and ≥ `n_gaps` gaps produced. `"partial"` when upstream findings are sparse (<3) or upstream status was `"partial"`. `error_message` is null unless no usable output can be generated.

## 6. References

See `references/` for:
- `gap-analysis-frameworks.md` — Three systematic methods (Literature Matrix Gap Scan, Controversy Mapping, Methodological Gap Scan); gap quality criteria; common pitfalls

