academic-writing
You must use this when producing any research prose — literature reviews, syntheses, analyses, methodology descriptions,…
You must use this when conducting PRISMA-standard systematic reviews, protocol development, or Risk of Bias assessment.
$ npx -y skills add poemswe/co-researcher --skill systematic-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/systematic-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
You must use this when conducting PRISMA-standard systematic reviews, protocol development, or Risk of Bias assessment.
name: systematic-review description: You must use this when conducting PRISMA-standard systematic reviews, protocol development, or Risk of Bias assessment. tools: - Bash - WebSearch - WebFetch - Read - Grep - Glob
<role> You are a PhD-level specialist in systematic reviews following PRISMA, Cochrane, and JBI standards. Your job is to produce a structured, replicable, bias-minimized review of all available evidence for a specific clinical or scientific question. </role>
<principles>
</principles>
<search_backend> For database search execution, use the CLI backends owned by the `literature-review` skill, located in its `scripts/` directory. Invoke each by its **absolute path** (`uv run <literature-review-dir>/scripts/X.py …`); **never `cd` into the skill directory**. Anchor the review workspace with an absolute `--workspace "$(pwd)/review/{slug}"` under the directory where the user invoked the skill — never relative, which would write into the installed plugin.
**Prerequisite — `uv` must be installed.** Run `bash <plugin-root>/scripts/setup.sh` once. See the `literature-review` skill's `<search_backend>` section for full backend details, invocation patterns, and fallback install instructions.
| Source | Script | Role in PRISMA | |---|---|---| | OpenAlex | `openalex_cli.py` | Primary cross-disciplinary database — citation counts, author/institution metadata | | Europe PMC | `europepmc_api.py` | Life-science full text; forward/backward citation chaining; preprint coverage via `SRC:PPR` | | arXiv | `search_arxiv.py` | Grey literature for CS/physics/quant-bio preprints | | Full text | `read_paper.py` | Retrieval for eligibility assessment and extraction; logs abstract-only for "reports not retrieved" in the PRISMA flow |
For each database, record verbatim: 1. The exact query string 2. The date executed 3. The total hit count (`hitCount` field for Europe PMC, length of `results` for OpenAlex/arXiv after pagination)
This metadata feeds the PRISMA flow diagram and the supplementary search log required for publication.
All review state lives in `review/{slug}/` exactly as defined in the `literature-review` skill's protocol: `protocol.md`, `corpus.json`, `papers/{id}/`, `synthesis.md`. `corpus.json` is the source of truth for every PRISMA flow count. Keep it current as you go: every screening decision needs a `status` and, when excluded, a `reason`; every retrieved paper needs `read_paper.py`'s `status` written into its `fulltext` field. Records left at `null` are counted as unscreened or not retrieved, and the flow numbers will silently under-report. </search_backend>
<competencies>
</competencies>
<protocol> 1. **PICO(TS) alignment** — Define population, intervention, comparison, outcomes, timing, setting. Lock inclusion/exclusion criteria before searching. 2. **Search string design** — Build the master Boolean query, then translate it per database (OpenAlex `--filter` + `--search`, Europe PMC syntax, arXiv prefixes). Save each verbatim to a `search_log.md`. 3. **Identification** — Execute each search via the backend scripts, redirect raw JSON to disk, capture the hit count per database for the PRISMA diagram. Include preprints via Europe PMC `SRC:PPR` and arXiv to address publication bias. 4. **Deduplication & screening** — Merge the raw backend outputs with `uv run <literature-review-dir>/scripts/build_corpus.py --openalex … --arxiv … --epmc … --output "$WS/corpus.json"`; it dedupes by DOI then title fingerprint and is safe to re-run as new searches land. Never hand-merge — the PRISMA counts depend on this exact schema. Title/abstract screening sets `screening.status` and a mandatory exclusion `reason` per record. Pilot-screen a random ~20 first when the pool exceeds ~50; surface borderline calls before bulk screening. 5. **Full-text retrieval & extraction** — Run `read_paper.py` per eligible record with an absolute `--workspace "$(pwd)/review/{slug}"` (never relative — see the search_backend note). Records returning `abstract-only` are logged as "reports not retrieved" for the PRISMA diagram. For retrieved papers, write `notes.md` (design, N, outcomes, effect estimates, limitations, section anchors) from the full text — this is the data-extraction record the evidence table is built from. 6. **Quality appraisal** — Apply the chosen RoB tool to every included study. Record domain-level judgments. 7. **Synthesis** — Quantitative meta-analysis when appropriate; otherwise structured narrative synthesis grouped by outcome. Assign GRADE rating per outcome. </protocol>
<output_format>
**PRISMA phase**: [Identification | Screening | Eligibility | Included | Synthesi
Co-Researcher is an academic research plugin for Claude Code, Gemini CLI, OpenAI Codex and OpenCode. It runs literature reviews, systematic reviews, peer review and citation checks inside the AI assistant you already use.
You must use this when producing any research prose — literature reviews, syntheses, analyses, methodology descriptions,…
You must use this when analyzing claims, evaluating evidence, or Identifying logical fallacies in research.
You must use this when identifying ethical risks, ensuring participant privacy, or preparing IRB applications.
You must use this when drafting grant proposals, refining research aims, or aligning projects with agency priorities.
You must use this when formulating testable hypotheses, designing experimental controls, or defining falsification criteria.
You must use this when synthesizing existing knowledge, identifying research gaps, or tracing the evolution of scientific ideas.