Auto-Write Research Reports
Generate a fully-cited research report from a topic or your Serving Tray, then edit and export the bibliography
What it is
Auto-Write Research Report turns a Research Cafe into a fully-cited research output in the format you need — a prose report, a short brief, a comparison table, a slide deck, or a data spreadsheet. Pick a topic and the AI researches it for you across the same providers you use in the Cafe (Web, Academic, etc.), ranks the strongest sources, and writes a report grounded in them. Or work the other way around: curate sources into your Serving Tray first, then let Auto-Write synthesise a report strictly from what you chose. Each report is saved as a first-class artefact inside the Cafe — open it back up any time, read it in the central reading pane, change the citation style, copy, download, share with another signed-in user, or feed it back into the Tray as input for a follow-up report.
Auto-Write reports live in the Reports group of the Cafe's sources rail (rehomed from a card-based section to the rail in W1.13) — click a row to read it in the reading pane. Each report is also URL-addressable at /cafe/[cafeId]/artefact/[artefactId] for bookmarking.
Scope — what it covers and what it doesn't
- In scope: topic-driven research from a one-line prompt; tray-only synthesis with no new searches; 8 citation styles; in-report convert-to-style; copy and download; manual bibliography editing; BibTeX / RIS / PDF / Markdown export; re-using a report as a Tray item; per-report sharing via a share link; reading pane rendering; citation display gated by scribe type; highlight-to-tray from report text; five output formats (report, brief, comparison table, slide deck, spreadsheet); delete reports.
- Out of scope: A whole-report PDF export (the source-card PDF export exists; report-body PDF doesn't yet). Truly-public sharing (recipients must be signed-in Coffeescribe users). Auto Research ↔ Auto-Write unification (W1.4).
Getting started — four modes
Open a Research Cafe and click the Auto-Write button (✨ icon, in the Cafe toolbar next to Auto). A dialog opens with tabs for each input mode:
Topic mode
- Type the topic you want researched — be as specific as you can ("Effects of intermittent fasting on cardiovascular markers in adults over 60", not just "fasting").
- Pick a depth: Quick (3-5 sources), Standard (6-10), or Deep (10-20). Depth controls how many sources Auto-Write gathers and synthesises.
- The estimated token cost appears under the depth picker — recalculates live as you change settings.
- Expand Advanced (available to every signed-in user) to override the default model — the platform default is pre-selected if you leave it alone.
- Click Generate Report.
Topic mode fans out across the same providers your Cafe has enabled (Web Search + Academic + any Apify Actors you've consented to), enriches each candidate, ranks them by source quality score, and writes a report from the strongest. The new sources are saved to the Cafe alongside the report so you can verify them individually.
From Sources mode
- Open Auto-Write and switch to the From Sources tab.
- The dialog shows all sources currently in your Cafe's Sources rail and a token-cost estimate.
- Submit. Auto-Write synthesises a report directly from all the sources in your Cafe — no Tray curation needed. Source-linked items are cited; the agent selects the most relevant passages.
Use From Sources when you have gathered research in your Cafe but haven't curated a Tray yet and want a report immediately. Combining this with the Sources rail's "Credible only" filter is a fast way to get a report from only your trustworthy sources.
Tray + Sources mode
- Curate the sources you most want featured into your Serving Tray.
- Open Auto-Write and switch to the Tray + Sources tab.
- The dialog synthesises from both your Tray items (highest priority — weighted by the agent) and the rest of your Sources rail (secondary fill). A count and cost estimate are shown before you start.
Use Tray + Sources when you have a curated shortlist of important sources in the Tray but also want the report to draw on the broader research in the Cafe. The Tray items are featured prominently; the Sources rail fills in context.
From Tray mode
- Curate the sources you want included into your Serving Tray first. Both source-linked items (snippets with a citation) and plain notes (observations you wrote yourself) are included.
- Open Auto-Write and switch to the From Tray tab.
- The dialog shows the source count, note count, and a token-cost estimate based strictly on the Tray's contents. Source-linked items are cited with
[N]markers; plain notes are woven into the prose as observations without citation markers. - Submit. No new research is done — Auto-Write synthesises only the Tray items you chose. This is the right mode when you've already vetted your sources or you need to constrain the report to a specific set.
Which mode should I use?
| Mode | Best when… |
|---|---|
| Topic | You want Auto-Write to research the topic from scratch |
| From Sources | You have gathered sources but haven't curated a Tray yet |
| Tray + Sources | You have a curated shortlist (Tray) and want context from the rest of the Cafe |
| From Tray | You've vetted a specific set and want a report constrained to exactly those items |
Output Formats
Auto-Write supports five output formats. Select the format in the dialog before generating:
| Format | What it produces |
|---|---|
| Report (default) | A full prose research report with ## section headings, inline [N] citations, and a References bibliography. Length scales with evidence: small trays produce focused reports; cafes with 9+ sources run multi-pass and may be substantially longer. |
| Brief | A short, answer-first synthesis — direct answer in the first 1–2 sentences, then 2–4 supporting paragraphs. No padding. |
| Comparison table | A GitHub-flavored markdown table comparing options or items side by side. A short framing paragraph precedes the table; a one-line takeaway follows it. Inline citations appear inside cells. |
| Slide deck | A presentation outline — one slide per ## heading, each with a title and 3–6 bullet points. Opens with a Summary slide and closes with Key Takeaways. |
| Spreadsheet | A structured data grid as a markdown table — one row per item/finding, one column per attribute. Designed for data-dense outputs where a prose paragraph would be harder to scan. |
All five formats use the same citation pipeline — [N] markers and a References section are present in every format. The citation style is set at the Cafe level (or overridden per-export).
Optional Cross-Cutting Options
These compose into any format — tick any combination before generating:
- Answer-first / Narrative — lead with the direct answer (default) or build to it as a narrative arc.
- Confidence signalling — the model flags where evidence was thin, mixed, or single-source rather than stating everything as settled fact.
- What we couldn't determine — appends an explicit section listing open questions and gaps the sources did not resolve.
- Word cap — hard limit on body length; forces prioritisation.
Reports live in the sources rail's Reports group (rehomed in W1.13)
After a report is generated, the Auto-Write dialog closes and a row appears in the Reports group of the Cafe's sources rail — reach it via Group → Reports, or narrow the rail to just that group with Show → Reports. The row shows the report title, date, citation style badge, and model used.
Reading a report in the pane
Click a report row and it opens in the central reading pane (reports no longer expand inline in a card). The pane shows:
- The full report body with inline citation markers
- The formatted bibliography (cited sources only)
- A Research used block listing every source that fed into the report — present on every report, including Summary and Explainer types where bibliography citations are hidden by default
Highlight to Tray from a report
While a report is open in the pane, you can drag-select any text in the report body — the Ask-AI popover appears with an Add to tray action. Selected text is added to the Serving Tray as a note (not linked to a source citation — it's synthesised text). This is useful for pulling a particularly well-written passage forward into a follow-up report.
Opening the full-screen view
Click View Report (or the pane toolbar's equivalent) to open the full URL-addressable report page at /cafe/[cafeId]/artefact/[artefactId]. From there you can edit the bibliography, share the report, or export it.
Citation display by scribe type
Each report is generated with a scribe type — the mode of writing. The citation display defaults differ by type:
| Scribe type | Citations shown by default |
|---|---|
| Academic Paper | Yes |
| Literature Review | Yes |
| Research Brief | Yes |
| Summary | No |
| Explainer | No |
A Show / Hide citations toggle appears on every report so you can override the default at any time. When citations are hidden, inline [N] markers and the bibliography section are both concealed — the prose reads cleanly. Toggle them back on to verify sources. The toggle is available in both the inline-expanded card view and the full-screen report page.
Author-date citation rendering
Reports generated with APA 7, Harvard, Chicago Author-Date, or MLA 9 citation styles render proper author-date in-text citations. The rules applied in order:
- Named author(s) present →
(Family, Year)/(Family1 & Family2, Year)/(Family1 et al., Year)for 1, 2, or 3+ authors - No named author → falls back to a short title:
(Title Excerpt, Year)— you will never see a bare[N]leaking into author-date prose - Institutional or organisation authors (e.g. Wikipedia "Contributors to Wikimedia projects", a government agency) → rendered as written, not broken into family name + initials
- Generic CMS bylines ("admin", "Editor", "Staff", "Editorial Team", and similar defaults) → treated as no author; the title-fallback applies — you will never see
(admin, 2018) - Grouped bracket markers (e.g.
[5, 7]as some LLMs emit) → each number is extracted and converted independently — no leakage of bracket notation into author-date output
Web sources without structured metadata fall back to a numbered [N] + URL reference in the bibliography.
Clickable [N] markers
In the full-screen report viewer, clicking any [N] in-text marker scrolls to and highlights the corresponding source in the Cafe's Sources rail. On shared/standalone report pages (where there is no Sources rail), clicking a [N] scrolls down to the bibliography entry for that source.
Bibliography entries are also clickable — click any entry to open the original source URL in a new tab.
Converting the citation style
To change a report's citation style after generation:
- Open the full-screen report viewer.
- Use the Citation style dropdown to pick from APA 7, APA 6, MLA 9, Chicago Notes-Bibliography, Chicago Author-Date, Harvard, or IEEE.
Tip: Hovering any style in the picker shows a concrete example — an in-text citation and a matching reference list entry — so you can preview the exact format before selecting.
- Click Apply. The bibliography re-renders in the new style; in-text markers convert for author-date styles (APA, Harvard, MLA, Chicago-AD →
(Author, Year)format) while numbered styles (IEEE, Vancouver) keep[N]. - The new style is saved to the report and persists in the shared view.
This operation is idempotent — the raw [N] markers stored in the report body are never rewritten, so you can switch styles back and forth freely.
Copying and downloading
The report viewer has Copy and Download (.md) buttons in the header:
- Copy — puts the full report text (body + bibliography, plain text) on your clipboard.
- Download — saves a
.mdfile you can open in any Markdown editor, Notion, Obsidian, or Word.
These are available in both the inline-expanded card view and the full-screen viewer.
Deleting a report
Open the report card and click the Delete button (trash icon). A confirmation prompt appears. Deleting a report does not delete the underlying sources — they remain in your Cafe's Sources rail.
Sharing a report
Every Auto-Write report can be shared with other signed-in Coffeescribe users via a share link.
How to share
- Open a report card in the Cafe column and click Share (appears in the expanded card, next to "View Report").
- Alternatively, open the full-screen report page and click Share in the toolbar.
- A dialog opens. Toggle Enable sharing on.
- A share URL appears — click Copy to copy it.
- Send the link to anyone with a Coffeescribe account.
What recipients can do
Recipients who open the share link:
- Read the full report body, citations, and bibliography
- Cannot edit, delete, or modify anything — the report is read-only
- Must be signed in to Coffeescribe — the link does not work for anonymous visitors
Revoking sharing
Toggle sharing off in the Share dialog. The link immediately stops working.
Important: The shared link does not carry any special permissions for the parent Cafe — recipients can only read the report, not access other sources in your Cafe unless you have separately shared the Cafe itself.
Long-running reports and error surfacing
Reports from cafes with more than 8 sources run multi-pass (planner → per-section writers → completeness critic), which can take several minutes. The dialog keeps you informed:
- For the first 3 minutes the dialog polls every 3 seconds. If your report arrives during this window it surfaces automatically — no refresh needed.
- After 3 minutes the dialog shows "Still writing…" and switches to a slower 10-second poll for up to 10 minutes total. The report surfaces automatically when it completes, even if that's several minutes after you submitted.
- If a run fails (an upstream LLM error, a cost-cap breach with nothing to show, or an unexpected abort), the dialog replaces the spinner with a clear error message. The run does not hang silently.
If you navigate away while a report is generating, come back to the Cafe — the report card will be visible in the Reports section as soon as the background job completes.
Sparse-source warning
If a topic-mode run finishes with fewer than three usable sources, Auto-Write surfaces a sparse-source warning on the report. It's a heads-up that the topic was too narrow, too niche, or too recent for the providers you have enabled — the report may lack depth. Either add more provider coverage (e.g. enable an Apify Actor) or broaden the topic and re-run.
Editing the bibliography
Every report has an Edit Bibliography button. Click it to open the Bibliography Editor at /cafe/[cafeId]/artefact/[artefactId]/bibliography:
- One card per citation. Each card shows a live preview of the rendered citation in the report's chosen style, plus an edit form for authors, title, journal, year, etc. Live preview updates on blur (debounced, not on every keystroke).
- Add Citation opens a manual entry form. Manual citations create a
cafe_sourcesrow of typemanual_entryso the bibliography can include sources that didn't come from the search providers. - Replace with new source re-opens the identifier-paste flow (DOI / ISBN / PMID / arXiv / ISSN / URL) so you can swap one citation for a freshly enriched source.
- Delete removes a citation from this report only — the underlying source stays in the Cafe.
- Export opens the Export Modal.
The Bibliography Editor is per-Report, not per-Cafe. Different reports in the same Cafe can have different bibliographies.
Export formats
The Export Modal supports four formats and lets you override the citation style per export — defaults to the report's style, but you can pick any of the 8 styles even if the report was written in a different one.
| Format | Output | Best for |
|---|---|---|
| BibTeX (.bib) | One file, all entries — Zotero-import-ready | Academic writing tools (Zotero, JabRef, BibDesk) |
| RIS (.ris) | One file, all entries — EndNote/Mendeley-import-ready | Mendeley, EndNote, Citavi, Zotero |
| Per-source file — full URL, abstract, formatted citation | Sharing a single source with someone outside CoffeeScribe | |
| Markdown | Per-source file — uses buildEnrichmentSummary() | Pasting into Obsidian, GitHub, Notion |
The 8 citation styles
W1.2 adds three styles to the five W1.1 shipped, bringing the total to 8:
| Style | Notes |
|---|---|
| APA 7 (default) | Via citation-js |
| APA 6 | Hand-rolled |
| MLA 9 | Hand-rolled |
| Chicago Notes-Bibliography | Hand-rolled |
| Chicago Author-Date (new) | Hand-rolled |
| Harvard Cite Them Right 2025 | Hand-rolled |
| IEEE (new) | Hand-rolled. Uses a curated lookup of ~60 top IEEE Transactions journal abbreviations. Sources outside the lookup render with the full journal title. |
| Vancouver (new) | Hand-rolled. Uses a curated lookup of ~180 medical journal abbreviations. The full NLM/MEDLINE list (~30k entries) is deferred to W1.3 — sources outside the curated subset render with the full title. |
Set the style at the Cafe level via Cafe Settings (gear icon); override per-export on the Export Modal.
Detecting conflicts between sources
W1.2 also adds a Detect Conflicts button (⚡ icon) next to Auto-Write in the Cafe toolbar. It runs an LLM in the background that compares pairs of sources from your Cafe and flags any factual disagreements ("Source A says X; Source B says not-X"). Results land as a Conflict Report artefact in the amber Conflict Reports section of the Cafe's left column.
Scope
- Conflict Detect scans all sources currently in the Cafe — not just Tray items, not a specific report's sources.
- It is LLM-semantic, not keyword matching. The model reads both sources and decides whether they disagree on a checkable claim.
- It is pairwise — the cost scales O(n²) with source count, mitigated by a pre-filter that skips obviously unrelated pairs.
- Runs are rate-limited softly to one per 5 minutes per Cafe and hard-capped at $0.50 per run to prevent runaway cost on large Cafes.
- Runs in the background — you can keep using the Cafe while it works. You get an in-app toast when it completes with a link to the Conflict Report.
Using it
- Click Detect Conflicts (⚡).
- (Pro / Creator) Optionally expand Advanced to override the default model.
- Click Run Detection. The button shows a spinner; a toast confirms the job started.
- When the run completes (typically 10-60 seconds depending on source count), a second toast appears with a link to the Conflict Report.
- The Conflict Report lists each detected disagreement with the two citations involved, so you can decide which (if any) to trust.
Conflict reports can be added to the Tray via a per-card button — same affordance as Auto-Write Reports — so you can fold "this is the disagreement" into a follow-up synthesis.
Token costs
Both Auto-Write and Detect Conflicts charge token costs that depend on source count and model. The AutoWrite dialog shows the estimated cost and the active depth cap before you confirm — no surprises.
Hard caps are depth-scaled (Topic mode) or source-count-scaled (From Tray / From Sources / Tray + Sources):
| Action | Cost shape | Hard cap |
|---|---|---|
| Auto-Write (Topic, Quick) | Small fan-out + single-pass write | $0.50/report |
| Auto-Write (Topic, Standard) | Medium fan-out + single or multi-pass | $1.50/report |
| Auto-Write (Topic, Deep) | Large fan-out + multi-pass write | $5.00/report |
| Auto-Write (From Tray / From Sources, ≤8 items) | Single-pass write | $1.00/report |
| Auto-Write (From Tray / From Sources, 9–15 items) | Multi-pass write | $1.50/report |
| Auto-Write (From Tray / From Sources, >15 items) | Multi-pass write, large set | $5.00/report |
| Detect Conflicts | O(n²) over Cafe sources after pre-filter | $0.50/run |
If a run would exceed the active cap, it is rejected before any cost is charged. For multi-pass runs (>8 sources), cost is checked after every LLM call — if the accumulator hits the cap mid-run, the report is stitched from completed sections and returned (never lost).
Soft rate-limit on Detect Conflicts: 5 minutes between runs per Cafe.
Re-using reports as Tray items
Each Auto-Write Report has a small Tray button (Inbox icon) next to its title in the sources rail. Clicking it pulls the first ~500 chars of the report into the Serving Tray as a synthesis snippet, so you can:
- Feed it into another Auto-Write run as a Tray source
- Carry it through to your Scribe via the Workspace's Cafe Trays tab (in W1.3, also via Draft Scribe from Cafe)
- Reference it via @-mentions when writing in the Workspace
Conflict Reports support the same affordance from the amber section.
Adding a source by identifier (collapsible)
The existing identifier-paste input (DOI / ISBN / PMID / arXiv / ISSN / URL) is now wrapped in a collapsible Add Source by Identifier section in the Cafe header. It's collapsed by default; click to expand. Your expanded/collapsed preference is remembered per Cafe in localStorage, so the Cafes where you regularly paste identifiers stay open and the others stay tidy.
Empty-content source flow (Tray Confirm dialog)
When you click the Tray button on a source card whose body content is empty (e.g. an OpenAlex paper with no abstract), a confirmation dialog now opens with three options:
- Scrape full article — fires off an Apify URL scrape for the source's URL, populates the content, and adds it to the Tray. Costs a small URL-scrape fee.
- Add anyway — adds the source to the Tray as-is (just the metadata). Free.
- Cancel — closes the dialog.
This replaces the silent failure path where empty sources used to land in the Tray with nothing useful in them.
Tier availability
| Capability | Free | Pro | Creator |
|---|---|---|---|
| Auto-Write (all four input modes) | Yes | Yes | Yes |
| Detect Conflicts | Yes | Yes | Yes |
| Output formats (Report / Brief / Comparison table / Slide deck / Spreadsheet) | Yes | Yes | Yes |
| Cross-cutting options (answer-first / confidence / what-we-couldn't-determine / word cap) | Yes | Yes | Yes |
| Convert citation style (in report viewer) | Yes | Yes | Yes |
| Copy / Download (.md) | Yes | Yes | Yes |
| Delete reports | Yes | Yes | Yes |
| Bibliography Editor | Yes | Yes | Yes |
| BibTeX / RIS / PDF / MD export | Yes | Yes | Yes |
| Advanced model picker (Auto-Write + Detect Conflicts) | No (default model only) | Yes (~12 curated) | Yes (all 350+, "at your own risk") |
| All 8 citation styles | Yes | Yes | Yes |
Auto-Write and Detect Conflicts both run on your token balance regardless of tier. If a run would push you over your balance, the pre-flight cost estimate warns you before submission.
Tips
- Hover the Metadata Health pill to understand what it means. The coloured pill (Full / Partial / URL only) on each source card now shows an explanation on hover — "Partial" means some fields like abstract or full author list are missing; "URL only" means only the web address was captured. Use this to decide which sources to enrich further before running Auto-Write.
- Curate before synthesising for the highest-quality reports. Use Topic mode to discover, then move the best results into the Tray, then use From Tray mode to re-write strictly from those vetted sources. Two-pass workflow.
- Mix sourced items and plain notes in the Tray — source-linked snippets get cited with
[N]markers; your own observations (notes without a source) are woven in as observations. Both end up in the report, but only source-linked items appear in the bibliography. - Set your citation style once per Cafe before running Auto-Write — the report bakes in the Cafe's style at generation time. You can still convert the style after generation using the dropdown in the full-screen viewer.
- Use Detect Conflicts before publishing a literature review. Even if it finds no conflicts, that's useful context. If it finds one, you know to address it in your writing.
- Pin reports to the Tray to chain them — a report can become an input for the next report. Multi-step synthesis without re-typing.
- Expand the report inline first before opening the full-screen view — it loads faster and you can highlight passages directly to the Tray without leaving the Cafe.
- Use the citation toggle to read the prose cleanly (citations hidden) and then enable them just for verification — especially useful for Summary and Explainer types where citations are off by default.
- Click
[N]to trace the claim — in the full-screen viewer, clicking any[N]marker scrolls to and flashes the source in the Sources rail so you can verify the evidence directly. - Convert citation style at any time — open the full-screen viewer, pick a style from the dropdown, and click Apply. Switch between APA author-date and IEEE numbered freely — the stored report is never rewritten.
- Download the report as Markdown — the Download button saves a
.mdfile you can import into Notion, Obsidian, or any Markdown editor, complete with full bibliography. - Use Comparison table for decision-making — when your question is "which option is better?", the comparison table format gives you a scannable side-by-side view with citations inside the cells.
- Use Slide deck for presentations — the slide deck format produces a one-H2-per-slide outline you can paste directly into your slides tool. Each slide has a title and bullet points.
- Turn on confidence signalling for contested topics — when evidence is thin or mixed, the confidence option makes the model flag uncertainty explicitly rather than presenting everything as settled fact.
- Add "What we couldn't determine" — for academic or high-stakes work, this option appends a transparent section on open questions and evidence gaps.
- Share a report with a collaborator using the Share button in the expanded card or the full-screen view. They need a Coffeescribe account to open it. Toggle sharing off at any time to revoke access.
- Paste a DOI to get the full article body — the identifier enrichment now automatically attempts to scrape readable content after metadata lookup. Paywalled publishers may only return the abstract, but open-access articles often include the full text.
- Sparse-source warnings are honest signals. When Auto-Write tells you a topic returned only two sources, that usually means the topic is genuinely under-researched or your providers don't cover the right corner — broaden or enable Apify Actors.
- BibTeX/RIS round-trips cleanly to Zotero, Mendeley, and EndNote. Try it once with a small report before committing to a workflow.