This project is unfunded — depending on usage, rate limits may apply.

Prompts

Three prompts in the 2026 form: fill in what only you know, copy the result, or send it straight to the Workbench. Each assigns an outcome and then spends its length on evidence and done-ness rather than on procedure.

Decision-revealing prompt

Makes the model plan the work and then say which of its choices you actually pinned.

When to use it: Before running anything expensive, and any time you suspect the model is quietly deciding something you care about.

Fill in

The classification is the point. FIXED and CHOSEN cost you nothing to read. Every FORK is a decision the model was about to make on your behalf — either because the choice is genuinely open, or because your goal statement left it open. The final section gives you the wording to close them.

Open this in the Workbench

Copy this

Create a plan for, but do not execute, the following goal:

[state the goal here]

Plan under: task specification, context and motivation, scope, grounding requirements, success criteria, response requirements.

Then classify each action in the plan:

- **FIXED** — No defensible alternative. Required for the goal to be met.
- **CHOSEN** — Alternatives exist; the deliverable is materially the same either way. Tag as inherent, or as an artefact of what I left unspecified.
- **FORK** — Alternatives exist, more than one is defensible, and they produce materially different deliverables. Give the options, the one you will take, what differs between them, and whether my goal statement pins the choice or nothing does.

Then list, as instructions I could paste into a future run, the wording that would pin each unpinned fork.

Classify against this specific goal, not in the abstract. Omit trivia.

Describe the task, not your process. Plan under 400 words; forks may run longer.

Biomedical literature prompt

A bounded PubMed/NCBI + Crossref retrieval spec: explicit evidence tiers, identifier-exact deduplication, and a stopping condition.

When to use it: Any retrieval whose result you will cite. It is deliberately long — the length buys verifiability, not politeness.

Fill in

A 2026-shaped prompt written before the schema had a name: it assigns an outcome, then spends most of its length on REQUIRED EVIDENCE and SUCCESS CRITERIA rather than on procedure. Note in particular that it forbids treating a failed lookup as evidence of absence, and that it makes the model label what each claim actually rests on — which is the difference between a reference list you can audit and one you can only hope about.

Open this in the Workbench

Copy this

## Goal

Retrieve the following literature and associated records:

[insert retrieval goal here]

Return a high-recall, deduplicated set of responsive papers using only PubMed/NCBI and Crossref. Retrieve verified abstracts and NCBI-hosted structured full text when available.

## Context

This is a bounded biomedical literature-retrieval task, not a general web search or a literature review. PubMed is the primary discovery and abstract source. Crossref provides complementary bibliographic discovery, deposited abstracts, and DOI repair. NCBI services provide PMID–DOI–PMCID resolution and PMC structured full text.

Translate the retrieval goal into explicit Boolean concept groups. Search PubMed and Crossref independently, then normalize, reconcile, and deduplicate their results. Preserve each source query, filters, rank, identifiers, and retrieval route.

For PubMed:

- Prefer atomic terms tagged with `[TIAB]`; add `[MeSH Terms]` where useful.
- Use `[PT]`, `[PDAT]`, `[AID]`, and `[PMID]` filters when relevant.
- Enclose every OR group in parentheses.
- For iterative searches, exclude screened records with `NOT (PMID1[PMID] OR PMID2[PMID] ...)`.
- When pursuing saturation, vary mechanistically distinct terminology, entities, processes, and study systems. Report the marginal yield of each round.

For Crossref:

- Search bibliographic metadata using title, author, year, and topic terms as appropriate.
- Use publication-date and object-type filters when relevant.
- Inspect object type and relation metadata before adding a result to the paper set.
- Use Crossref to repair missing DOIs and obtain deposited abstracts, but never treat Crossref as a full-text source.

## Constraints

- Use only PubMed/NCBI and Crossref for discovery, identifier resolution, abstract retrieval, and full-text retrieval.
- Do not call Europe PMC, OpenAlex, Unpaywall, bioRxiv/medRxiv, arXiv, OSF Trove, Zenodo, DataCite, OpenAIRE, general search engines, or semantic literature services.
- Match the user-defined scope, date range, publication types, exclusions, and stopping condition exactly.
- Treat multi-source agreement as a screening-priority signal, never as an eligibility requirement.
- Normalize DOI strings to lowercase bare DOIs while retaining the original deposited string.
- Deduplicate first by exact persistent identifiers.
- Keep preprints, journal articles, corrections, retractions, and other manifestations as separate records. Link related manifestations rather than collapsing them.
- Require exact DOI, PMID, or PMCID agreement before merging records or accepting retrieved content. If persistent identifiers are absent, use title, first author, journal, and year; label the mapping `provisional` until independently confirmed.
- Do not convert a failed lookup into evidence that a paper, abstract, or PMC record does not exist.
- Do not bypass paywalls, access controls, or authenticated systems.
- Distinguish `metadata_only`, `abstract`, `full_text_canonical`, and `full_text_derived` evidence. Never substitute metadata or another paper's description for evidence from the target paper.
- Use exponential backoff for `429` and transient `5xx` responses.

API and batching rules:

```text
NCBI E-utilities base
https://eutils.ncbi.nlm.nih.gov/entrez/eutils/

PubMed search
GET /esearch.fcgi?db=pubmed&term={QUERY}&retmode=json&retmax={N}

PubMed metadata and abstracts
POST /efetch.fcgi
db=pubmed&id={COMMA_SEPARATED_PMIDS}&retmode=xml

PMID to PMC
POST /elink.fcgi
dbfrom=pubmed&db=pmc&id={PMIDS}&retmode=json

PMC ID Converter
https://pmc.ncbi.nlm.nih.gov/tools/idconv/api/v1/articles/?ids={DOI_OR_PMID_LIST}&format=json

PMC JATS XML
GET /efetch.fcgi?db=pmc&id={NUMERIC_PMC_ID}&retmode=xml

PMC BioC JSON
https://www.ncbi.nlm.nih.gov/research/bionlp/RESTful/pmcoa.cgi/BioC_json/{PMCID}/unicode

Crossref base
https://api.crossref.org/

Crossref discovery and DOI repair
GET /works?query.bibliographic={TITLE_AUTHOR_YEAR}&rows={N}&select=DOI,title,author,published,type,abstract
GET /works/{DOI}
```

- Use POST or Entrez History/EPost for long PubMed queries and identifier lists.
- Partition PubMed searches expected to exceed its retrievable-result boundary.
- Keep NCBI requests at or below 3/second without an API key and 10/second with one. Include `tool` and `email` when available.
- Retrieve PubMed records in POST batches of 500–1,000 PMIDs. Compare requested and returned PMID sets because successful responses can omit records.
- Submit no more than 200 same-type identifiers per PMC ID Converter request.
- Crossref `rows` has a maximum of 1,000. Use cursor paging for larger result sets and add `mailto=` when a contact email is available.
- Exclude Crossref grants, components, recommendations, chapters, conference objects, and derivative or non-paper records unless the retrieval goal explicitly includes them.
- Strip XML/JATS wrappers from Crossref abstracts while retaining Crossref as the abstract source.

## Evidence

For each candidate paper, retrieve the strongest available exact-target evidence in this order:

1. **PubMed metadata and abstract:** Retrieve every PMID through PubMed EFetch. Extract PMID, DOI, title, authors, journal, dates, publication types, all abstract blocks including `OtherAbstract`, MeSH terms, keywords, grants, corrections, retractions, and related-record metadata.
2. **Crossref abstract fallback:** If PubMed provides no abstract, use the abstract deposited for the exact Crossref record. Otherwise label the record `no_verified_abstract`.
3. **Identifier resolution:** Resolve DOI/PMID/PMCID mappings through the PMC ID Converter or PubMed ELink. If a DOI remains unresolved, search PubMed by the exact DOI using `[AID]`. A missing PMC mapping does not establish absence from PubMed.
4. **PMC canonical full text:** For an exact PMCID, retrieve JATS XML and require a substantive article body. Recognize both ordinary `<body>` content and legacy `<preformat preformat-type="pmc-pdf-text">` bodies. Preserve JATS as the canonical structured source.
5. **PMC derived full text:** Retrieve BioC JSON as a passage-processing view. Validate `Content-Type`, schema, document ID, and narrative body passage types. Valid JSON containing only title, abstract, or references is not full text.

Accept retrieved content only when all applicable checks pass:

- **Identity:** Embedded DOI, PMID, or PMCID matches the target manifestation, or complete bibliographic metadata independently establishes exact identity.
- **Transport:** The response succeeds; MIME type matches the payload; XML or JSON parses under the expected schema.
- **Substance:** Full-text content contains a substantive narrative body rather than metadata, an abstract, references, a landing page, or an access challenge.
- **Fidelity:** Treat JATS as canonical and BioC as derived. Verify any quotation, figure, table, equation, supplement, or citation-link interpretation against canonical JATS when available.
- **Rights:** Retain license and access-route metadata without inferring reuse rights from availability.

Classify screened papers as `include`, `exclude`, `uncertain`, or `no abstract`, with a concise reason grounded in the strongest available evidence.

## Success criteria

The task is complete only when:

- PubMed and Crossref have both been searched with goal-matched queries and filters.
- Every returned record retains its source engine, source rank, query, and persistent identifiers.
- Exact-identifier duplicates have been reconciled without collapsing distinct manifestations.
- PubMed metadata and abstracts have been retrieved for every available PMID, and requested-versus-returned PMID sets have been checked.
- Missing DOIs and PMCID mappings have been pursued through the specified exact-identifier routes.
- Every included or uncertain paper has the strongest available PubMed, Crossref, or PMC evidence attached and explicitly labeled.
- Every PMC full-text claim has passed identity, transport, and substantive-body validation.
- Missing, malformed, mismatched, or inaccessible records are reported explicitly rather than silently omitted.
- The user's stopping condition has been met. If the goal requests saturation, stop only at that condition or at a documented marginal-yield boundary.

## Output format

Lead with a one-paragraph retrieval result stating how many unique paper manifestations were identified, how many were included, excluded, uncertain, or lacked a verified abstract, and whether the stopping condition was met.

Then provide:

### 1. Search record

For each search, report:

| Engine | Query | Filters | Date run | Records returned | Records screened | Unique records added | Error or quota note |
|---|---|---|---|---:|---:|---:|---|

### 2. Deduplicated paper set

| Rank | Title | Year | DOI | PMID | PMCID | Source rank(s) | Decision | Rationale | Abstract source | Full-text route | Evidence level |
|---:|---|---:|---|---|---|---|---|---|---|---|---|

Use `null` when an identifier or field was checked but is unavailable. Do not guess or silently omit required fields.

### 3. Retrieval and identity failures

List each affected record and use a specific label where applicable: `no_pmc_mapping`, `pmc_metadata_only`, `bioc_no_body`, `identity_mismatch`, `no_verified_abstract`, `no_direct_evidence`, or `retrieval_error`.

### 4. Saturation status

If iterative or saturation searching was requested, report each round's query change, number of unique records added, number included, and whether it added a new relevant concept or only sources within known concepts. State the stopping rule applied.

Do not describe any source as full text unless substantive exact-target article content was retrieved and validated.

Summarize & start fresh

Turns a long thread into one prompt for a fresh chat: what the next step needs, no decision you never made.

When to use it: At the end of a long thread, when the model has started dropping things you established earlier and you would rather restart than keep re-explaining. Run it as the last turn of that thread, then paste the code block into a new chat.

Copy this

**GOAL**
One prompt I can paste into a fresh chat to carry this work forward: what the next step needs, not the thread that produced it.

**RELEVANT CONTEXT**
The conversation above is the only source, and its reader is a model that cannot see it.

**CONSTRAINTS**
Write the prompt; do not take the next step in it. Leave out dead ends, corrected mistakes, and back-and-forth a decision has settled. Ask first if more than one line of work is live, or if I never said which version of the goal stands.

**REQUIRED EVIDENCE**
Everything the prompt asserts comes from the conversation above, not from what a thread like this usually contains. Names, numbers, and quoted text are copied, not recalled; where a value changed, carry the last. A decision is one I stated or accepted; a proposal I never answered is still open. Carry a hedge as a hedge.

**SUCCESS CRITERIA**
Check the prompt you have written:
- A model holding only it starts the next step without asking: the goal, where the work stands and what we decided, my constraints, the step itself, and the facts, names, numbers, and verbatim text it depends on.
- Nothing in it points back here: no "as we discussed", no term defined only in this thread.

**OUTPUT FORMAT**
One code block, the prompt and nothing else, addressed to the model rather than to me. Under a rule below it, what the thread left unsettled.

The 2025 version lists what to include; this one states what the finished prompt has to survive being read cold, and adds the block 2025 had no room for. The failure mode of a handoff is not a missing fact but a decision nobody made, written down as settled — so REQUIRED EVIDENCE draws the line: a decision is one you stated or accepted, and a proposal you scrolled past arrives in the next chat still open. Read what lands under the rule below the code block before you paste; that is where the run puts what you never settled.

Open this in the Workbench