← All craftbooks

Cited Research Report

Knowledge and researchevalv1.0.0released 2026-06-05workflow: build-loop

Produce a rigorously cited research report that answers a specific question end to end: a planner first decomposes the question into sub-questions and locks the scope, then a researcher gathers and logs primary and secondary sources with inline citations, then a copywriter writes a structured markdown report (executive summary, findings, evidence, limitations, references). The ordering matters because a small model that writes before scoping rambles and a model that writes without a source log fabricates citations; locking sub-questions and a source table first turns the report into a fill-in-the-evidence exercise. Use this for literature-backed analysis, deep dives, investigative write-ups, background research, and any 'find out and write it up with sources' task where every claim must trace to a citation.

Steps

Entry step: question-scope. Each step names the specialist role it wants; the full working prompt is expandable.

  1. Question scopeplannerentry

    decompose the question into sub-questions + lock scope

    Show working prompt
    1. Restate the research question in one precise sentence; if it is vague, narrow it to something answerable (define the entity, timeframe, geography, and metric). 2. Decompose it into 3-6 sub-questions that, answered together, fully answer the main question. 3. Decide the report structure: executive summary, one section per sub-question, a limitations section, and a references list. 4. Decide source standards: how many independent sources minimum (aim 5+), what counts as authoritative for this topic, and the recency window. 5. Write an acceptance-criteria checklist (e.g. 'every sub-question has a dedicated section', 'every factual claim has an inline citation [n]', 'at least 5 distinct sources in references', 'an explicit limitations/uncertainty section exists', 'executive summary is <=150 words and states the bottom line'). Good looks like a checklist a grader could mechanically apply. 6. Record key decisions (the narrowed question, the sub-questions, the recency window). Call write_task_note with the sub-questions + checklist + decisions, and also write the same content to notes/question-scope.md.
  2. Research & source logresearcher

    gather sources, log each with a citation key + key facts

    Show working prompt
    1. For each sub-question from the scope, find authoritative sources (prefer primary sources, official data, and reputable secondary sources within the recency window). 2. For every source, append an entry to notes/sources.md with: a citation key [n], title, author/publisher, date, URL or locator, and 1-3 bullet facts you extracted with the exact figure or quote. 3. Cross-check any surprising or load-bearing fact against a second independent source and note the agreement or conflict. 4. Flag every claim you could NOT verify as UNVERIFIED so the writer does not state it as fact. 5. Aim to exceed the minimum source count and cover every sub-question; do not pad with low-quality sources. Good looks like a source log dense enough that the writer never needs to invent a fact. Keep notes/sources.md as the single source of truth; do not write prose yet.
  3. Write the reportcopywriter

    write the cited markdown report to the locked structure

    Show working prompt
    1. Write report.md following the locked structure exactly: title, an executive summary <=150 words that states the bottom-line answer, one section per sub-question, a limitations section, and a numbered References list. 2. Every factual claim gets an inline citation [n] keyed to the references; do NOT state any UNVERIFIED claim as fact (hedge it or drop it). 3. Build the References list directly from notes/sources.md so every [n] resolves and no citation is invented. 4. Lead each section with the answer, then the evidence; keep prose tight and skimmable with subheadings. 5. On a loop-back, fix only the gaps the reviewer named and do not regress sections that already passed. 6. Call write_task_note with the report path and which criteria now pass.
  4. Evaluatereviewer

    Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.

    Show working prompt
    Open report.md and check EACH acceptance criterion, writing PASS/FAIL per criterion: (1) every sub-question from notes/question-scope.md has a dedicated section; (2) every factual claim carries an inline citation [n] and every [n] resolves to a References entry; (3) there are at least the minimum distinct sources and they meet the authority/recency bar; (4) an explicit limitations/uncertainty section exists; (5) the executive summary is <=150 words and states the bottom line; (6) spot-check 3 citations against notes/sources.md to confirm the claim matches the logged fact and nothing was fabricated. A report that reads well but invents or mismatches a citation FAILS.
    
    Then route — this is the whole point of the loop:
    
    - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`.
    - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "write" })` to loop back. The builder fixes exactly those gaps.
    
    Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.
  5. Finishdeveloper

    All acceptance criteria met. Stamp a short summary and report DONE.

    Show working prompt
    Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.

Triggers

Phrases that suggest this craftbook to a crew.

Source

View this craftbook on GitHub · MIT license