Documentation
README
Food-Research β Comprehensive Evidence Synthesis for Food & Nutrition Science
Build a broad, defensible understanding of a topic by searching many sources, screening them consistently, and synthesizing across them. Original work; no third-party research text is reused. Architecture informed by open community literature-search skills (see Acknowledgements in the repo README).
Streams β pick one and when to use it
Four streams share the same search/screening machinery but differ in depth. Three
of them (quick brief, full review, deep research) prioritize sources by
journal ranking via journal_ranker; the systematic stream does not
(inclusion is by pre-specified eligibility, not prestige).
| Stream | Use it when⦠| Depth | Journal-ranking filter |
|---|---|---|---|
| quick brief | You need fast orientation on a topic β "what's known about X", a starting point, a scoping glance. | One search pass; top sources; key open questions. May run inline without subagents. | Yes β Tier 1 only, usually |
| full review | You want a thorough narrative review manuscript (the default). | Four-layer search + two-phase screening + synthesis β write manuscript (writer) β review loop (reviewer) β Word (.docx). |
Yes β Tier 1 preferred, Tier 2 to fill gaps |
| deep research | The question extends beyond the literature β regulatory landscape, market/technology state, an open-ended "investigate this" β or you want an iterative, verified deep dive on a subtopic. | Calls the food-deep-research skill (scope β plan β investigate β verify β synthesize β critique loop); its literature portion still passes through journal ranking. |
Yes β for the literature portion |
| systematic | You need a reproducible, auditable PRISMA review / meta-analysis with a protocol, β₯3 databases, dual independent screening, and risk-of-bias (OHAT) β i.e. a defensible, publishable systematic review. | Full systematic_reviewer pipeline (protocol β sr_search β dual 3-step sr_screener + sr_moderator β PRISMA β data_extractor results table β risk_of_bias OHAT β sr_synthesis β reviewer loop β writer Word .docx). |
No β eligibility-based inclusion |
Overall flow
flowchart TD
Q[Research question] --> M{Which stream?}
M -- quick / full --> S1[search_strategist]
M -- deep research --> DR[food-deep-research skill<br/>scope, plan, investigate,<br/>verify, critique loop]
M -- systematic --> SR[systematic_reviewer<br/>PRISMA pipeline]
S1 --> S2[source_scout<br/>four-layer search + dedup]
S2 --> S3[screener_appraiser<br/>two-phase screening + quality tags]
S3 --> JR[journal_ranker<br/>Tier 1 preferred; Tier 2 to fill gaps;<br/>avoid Tier 4]
DR --> JR
JR --> SY[synthesis<br/>evidence matrix, grading, gaps, coverage advisory]
SY --> WR[writer<br/>manuscript, APA7 / target journal]
WR --> RV[reviewer<br/>editorial + integrity]
RV -- revise --> SY
RV -- accept --> DOCX[Final review manuscript .docx]
SR --> SROUT[Systematic-review manuscript .docx<br/>PRISMA + OHAT bias + per-RQ synthesis]
Both the full review and systematic streams finish by writing a manuscript,
passing it through the reviewer loop, and delivering a Word document
(writer). The quick brief and deep research streams do not (quick brief
returns a short brief; deep research is handled by the food-deep-research skill).
Stream detail β invocation & subagent call sequence
Quick brief
- When it wakes: the user wants fast orientation, not an exhaustive review. Phrases like "give me a quick brief onβ¦", "what's known aboutβ¦", "quick overview ofβ¦", "brief me onβ¦", "orient me onβ¦", "TL;DR of the research onβ¦". Also the default when the user asks a scoped factual research question and signals speed ("quickly", "just the highlights").
- How it runs (lightweight β may be inline, no subagents required):
- Frame the question in one line (concepts + scope).
- One search pass over 2β3 high-yield sources (PubMed/Consensus/CrossRef via MCP, else web search) β no four-layer expansion.
- Apply
journal_rankerTier 1 only β keep Q1/Q2 food-science & nutrition, Nature/Science/Cell, and Q1/Q2 other-discipline hits; ignore the rest unless nothing Tier 1 exists. - Skim-appraise (relevance + obvious rigor red flags) β no full rubric.
- Write a short brief: 3β6 key findings with citations, the consensus vs open questions, and 2β3 sources to read next.
- Subagents: optional. Run inline for speed; only spin up
source_scoutif the topic is broad.journal_rankeris applied as a filter step, not necessarily a separate dispatch.
Full review (default)
- When it wakes: the user wants a thorough, citable review/evidence brief β "do a literature review onβ¦", "comprehensive review ofβ¦", "survey the field ofβ¦", "build an evidence brief onβ¦", "review the evidence forβ¦" β or asks to research a topic without signalling that speed matters.
- How it runs (full subagent pipeline): dispatch subagents in this order (independent retrieval runs in parallel):
search_strategistβ search plan (concepts, controlled vocabulary, Boolean strings, source list).source_scoutβ four-layer search + dedup β candidate set (parallel per source).screener_appraiserβ two-phase screening + quality rubric β included set with High/Medium/Low tags.journal_rankerβ prioritize by tier (Tier 1 preferred; Tier 2 only to fill gaps; avoid Tier 4).synthesisβ evidence matrix, grading, contradiction resolution, coverage advisory, gaps.writerβ write the review manuscript (APA 7.0 default, or target journal viajournal-selector).reviewerβ editorial + integrity review; if not Accept, loop back tosynthesis/writerto revise, then re-review (cap ~2β3).writerβ export the accepted manuscript to Word (.docx).
- Output: a finished review manuscript (
.docx) + annotated bibliography +.bib/.ris.
Deep research
- When it wakes: "deep research onβ¦", "investigate β¦ thoroughly", "I need a deep dive / full briefing onβ¦", or a question extending beyond the literature (regulatory, market, technology landscape). Calls the
food-deep-researchskill; its literature portion still passes throughjournal_ranker.
Systematic
- When it wakes β use the systematic stream when the user needs a defensible, reproducible, publishable systematic review, signalled by any of:
- Explicit terms: "systematic review", "systematic literature review", "PRISMA", "meta-analysis".
- A methodological requirement: "follow a protocol / PROSPERO", "two independent reviewers / dual screening", "with risk of bias", "OHAT", "PRISMA flow diagram".
- A rigor/audit intent: the user wants the review to be reproducible and auditable (every search string, screening decision, and exclusion reason recorded), not just a narrative overview.
- If the user only wants a broad narrative overview, use full review instead; if unsure which they want, ask one question ("narrative review or a full PRISMA systematic review with risk-of-bias?").
- How it runs: the
systematic_reviewerorchestrator drives protocol βsr_search(β₯3 databases) β dual independent three-step screening (sr_screenerΓ2 +sr_moderator) β PRISMA flow βdata_extractorresults table βrisk_of_bias(OHAT) βsr_synthesisβreviewerloop βwriterWord .docx. Journal ranking is not applied (eligibility-based inclusion).
Subagents (dispatch, don't inline)
Run these as subagents (via the Agent tool). Layers that are independent β e.g. per-source retrieval β run in parallel.
search_strategistβ turns the question into a search plan: concepts, synonyms/controlled vocabulary (MeSH, FSTA/CAB thesaurus terms), Boolean strings per database, filters, and the source list.source_scoutβ executes the four-layer retrieval across sources, records hit counts, and deduplicates into one candidate set.screener_appraiserβ two-phase screening + the food-science quality rubric; outputs the included set with quality tags.journal_rankerβ prioritizes the screened sources by journal ranking (Q1/Q2 food-science & nutrition, plus Nature/Science/Cell families and Q1/Q2 in any other discipline = highest; Q3 second; Q4 avoided). Used by quick brief, full review, and deep research only β never inside a systematic review.synthesisβ evidence matrix, contradiction resolution, evidence grading, gap analysis, and the coverage advisory.writerβ writes the review manuscript and exports Word (.docx) (APA 7.0 default, or target journal viajournal-selector). Full review + systematic.reviewerβ combined editorial + integrity review with a revision loop. Full review + systematic.
Systematic-review subagents (systematic stream only):
8. systematic_reviewer β PRISMA orchestrator (protocol β search β dual screening β PRISMA β extraction β risk of bias β synthesis β review β Word).
9. sr_search β β₯3 databases (Web of Science, Scopus, PubMed preferred); combine + deduplicate; log all strings/counts.
10. sr_screener β run as two independent instances; three steps (title β abstract β full text) with per-record include/exclude + reasons.
11. sr_moderator β after each step, compares the two screeners, resolves conflicts, keeps PRISMA counts.
12. data_extractor β pulls the results table (by research question) from the final shortlist.
13. risk_of_bias β OHAT risk-of-bias assessment (in vitro / human / animal) by default.
14. sr_synthesis β PRISMA description β risk-of-bias results β per-RQ synthesis; formats APA 7.0 or target journal.
For a quick brief you may run the workflow inline without subagents.
Step 1 β Frame the question (search_strategist)
- Interventions/nutrition: PICO (Population, Intervention/Exposure, Comparator, Outcome).
- Composition/process/safety: define the food matrix, factor/treatment, and measured response.
- State scope, timeframe, languages, and exclusions. Break the question into concepts and list synonyms + controlled-vocabulary terms per concept.
Step 2 β Plan the sources
Cover several source classes so the picture isn't skewed by one index:
- Bibliographic: FSTA (Food Science & Technology Abstracts β the core food index), PubMed/MEDLINE, Web of Science, Scopus, CAB Abstracts, AGRICOLA, AGRIS (FAO).
- Preprints: bioRxiv, ChemRxiv, agriRxiv.
- Semantic / aggregators: CrossRef, Semantic Scholar, Consensus, Dimensions, Lens.org.
- Safety & regulatory / grey: EFSA, US FDA, USDA (incl. FoodData Central), Codex Alimentarius, WHO, EU/national food-standards bodies.
- Chemistry / bioactives: PubChem, ChEMBL, FooDB, Phenol-Explorer.
- Methods / standards: AOAC, ISO.
Tooling: use whatever literature MCP tools are connected (e.g. PubMed, Consensus, bioRxiv, CrossRef, Scopus/ScienceDirect) for live retrieval; fall back to web search for any source without a tool. Record which tool/source produced each result so the search is reproducible.
Step 3 β Four-layer search (source_scout)
- Layer 1 β structured search: Boolean/keyword + controlled vocabulary across the bibliographic databases (target 100β500 raw hits). Apply date/language filters.
- Layer 2 β backward chaining: mine the reference lists of the key reviews and seminal papers for older frequently-cited work.
- Layer 3 β forward chaining: "cited by" from seminal works to catch the latest research.
- Layer 4 β semantic / cross-disciplinary: related-article and semantic tools to catch methodologically or disciplinarily adjacent work (chemistry, engineering, nutrition, microbiology) that keyword search misses.
- Deduplicate by DOI/title across sources. Record the hit count at each layer.
- Stop when the search saturates β e.g. β₯3 of: no new themes appearing, citation loops closing, timeframe covered, key authors/venues all seen, new hits <10% novel.
Step 4 β Two-phase screening & appraisal (screener_appraiser)
- Phase A β title/abstract: apply inclusion/exclusion; narrow to ~30β50 candidates.
- Phase B β full text: read the semantically strong and borderline items; land ~15β30 (more for systematic).
- Quality rubric (score each source): study design & rigor; replication and whether n is biological (not pseudo-replicated); method validation (LOD/LOQ, recovery, controls, appropriate standards); journal quality and predatory/fabrication check; relevance to the question; recency/currency. Tag each source High / Medium / Low.
- Universal gates (relevance, methodological soundness, predatory/fabrication) are never waived; only publication-type/recency expectations flex by subfield.
Step 4.5 β Prioritize by journal ranking (journal_ranker) β quick / full / deep only
- Tier every screened source: Tier 1 = Q1/Q2 in Food Science & Technology or Nutrition & Dietetics, any Nature/Science/Cell-family journal, or Q1/Q2 in any other WoS discipline/multidisciplinary category; Tier 2 = Q3; Tier 3 = Q4 (avoid).
- Prefer the highest tier that covers each point β if Tier 1 sources suffice, don't include Tier 2/3 for it; drop to Tier 2 only when Tier 1 is insufficient; use Tier 3 only when nothing better exists, and flag it.
- Uses
references/journal-priority.csvfor food/nutrition quartiles; JCR knowledge for other fields. - Skip this step entirely in the systematic stream β inclusion there is by eligibility, not journal ranking.
Step 5 β Synthesis (synthesis)
- Evidence matrix: source Γ theme grid showing coverage density and method spread.
- Integrate & resolve conflicts: weigh by design and rigor; separate consistent findings from contested ones; explain disagreements (matrix, method, dose, population).
- Grade the evidence: prefer systematic reviews/RCTs for health/nutrition claims; require standardized measurement (AOAC/ISO) for compositional/process claims. State confidence and why.
- Coverage advisory: flag when >70% of sources share one publication year, region, food matrix, method, or venue family β a bias risk.
- Gaps: under-powered areas, missing methods, population/geographic voids; propose the next study.
Deliverables
An evidence brief containing: question & scope; reproducible search strategy
(sources, Boolean strings, filters, dates); screening funnel with counts;
annotated bibliography (per source: design, findings, relevance, quality tag,
intended paper section); literature/evidence matrix; graded conclusions;
coverage advisory; and a gap list. Export references as .bib/.ris
(deduplicated) for reuse.
Deep dives
For a subtopic that needs open-ended investigation beyond the literature (e.g.
regulatory landscape, market/technology state), call the food-deep-research
skill and fold its sourced synthesis back into the evidence brief.
References (load as needed)
references/literature-sources.mdβ databases + APIs (FSTA/PubMed/WoS/Scopus/CrossRef/OpenAlex + EFSA/FDA/USDA) forsearch_strategist/source_scout/sr_search.references/source-quality-hierarchy.mdβ evidence grading forscreener_appraiser/synthesis.references/reporting-guidelines.mdβ EQUATOR/PRISMA/CONSORT/STROBE for the systematic stream and appraisal.references/ohat-risk-of-bias.mdβ full OHAT tool (11 questions, 4-point scale, design applicability incl. corrected in-vitro Q3/Q4 = NA, and in-vitro criteria) forrisk_of_bias.food-paper/references/faithfulness-and-citation.mdβ grounding + four-gate citation check. Every finding, number, and citation traces to a real source; never fabricate.scripts/verify_citations.pyaudits the reference set.food-paper/references/privacy-and-confidentiality.mdβ privacy scan before delivering the brief/report (no local paths/secrets);scripts/privacy_scan.py.
Handoff
Sources tagged and assigned by section feed food-paper (Introduction and
Discussion evidence, reference list) and are orchestrated by food-pipeline.
Food & nutrition rigor notes
Watch for pseudo-replication (analytical replicates as biological n); matrix effects and single-cultivar/single-batch over-generalization; unvalidated assays; and undisclosed funding/conflicts, which are common and material here.