Aurora Lab / Skills / Modelling Paper

Modelling Paper

Turn model results into a paper whose mathematics survives review. Your agent works as PI and postdoc: it pins the one-sentence claim, writes the full Methods mathematics with a notation table that sources every value, checks each derived result against your code, cites only references it has verified, and keeps a rated list of what Reviewer 2 will say.

  • v1.0.0
  • Any modelling paper: ODE, PDE, stochastic, agent-based, statistical, network, optimisation
  • Domain packs: biology, epidemiology, ecology, physics & engineering
  • Python 3.10+ · standard library (scripts)
  • Works with any SKILL.md agent

Overview

A modelling paper is judged on its mathematics. Is the model written out in full? Does every parameter have a source? Do the steady states, thresholds and distributions in the text actually hold? Does the paper claim more than the model shows? Modelling Paper makes your agent a co-author who handles all of that, in two roles:

  • PI. Owns the story. Pins the one-sentence claim before anything is drafted, challenges weak framing, decides what goes where, and asks "what will Reviewer 2 say?" before anyone else does.
  • Postdoc. Drafts full prose, writes the complete Methods mathematics, and checks it.

What you get:

  • It starts from what you have. It reads your model code, results, outline and any partial draft before asking anything. The Methods describe what your code actually solves, and any difference between the code and your notes is reported to you.
  • The full Methods mathematics. The complete model with every symbol defined, initial and boundary conditions, scaling, derived results with enough derivation to check, numerical settings, and a notation table: symbol, meaning, units, value or range, source.
  • Checked, not asserted. Dimensions, limiting cases, your code against the equations, and a numerical check of every analytic result when a Python environment is available. Every number in the prose comes from a computation. A claim in your notes that the model cannot support is flagged before it is written up.
  • Any model class, any field. A checklist per model class (deterministic ODEs, DDEs and PDEs; master equations and SDEs; agent-based models; statistical and inference models; networks; optimisation and control; numerical methods; surrogates). Domain packs add vocabulary, conventions and field-specific reviewer objections for biology, epidemiology, ecology, and physics and engineering.
  • Reviewer objections, rated and planned. Each objection specific to your paper, rated fatal, major or minor, with the planned answer.
  • No invented references. A citation is verified (seen in a search result, supplied by you, or read) or it is marked. A parameter without a known source gets a [CITE] marker, never a plausible-looking citation.

Other Aurora Lab skills for the same paper: Claim Check (does each sentence stay inside its evidence?), Scientific Voice (how the sentences read) and Journal House Style (fit the venue's guidelines) pair well with it. Each works on its own.

Quick start

  1. Get the skill from Agensi and add it to your agent (Claude Code, Codex CLI, Cursor, Gemini CLI or any agent that loads SKILL.md skills).
  2. Open your agent in the project, ideally with your model's own environment available (for example Python with numpy and scipy) so the agent can check the maths numerically.
  3. Optional: Python 3.10+ for the two helper scripts (standard library only).
  4. Ask in plain words.

Example requests:

  • "Help me turn these model results into a paper. Start with the Methods."
  • "I have an SEIR model fitted to case data with a school-closure scenario. Is this a paper? Where do I start?"
  • "Write the Methods for my reaction-diffusion model, including the dispersion relation and the mesh study."
  • "Here are my agent-based simulation results. Draft Results and list what reviewers will attack."
  • "Methods paper or application paper? Our new solver is five times faster on these benchmarks."

How it works

  1. Find out where the paper stands. Read the existing files (outline, notes, sections, claims, bibliography, results, figure plans and the model code), then route: a raw idea goes to the PI first, results get framed into a story, a partial draft gets its narrative arc assessed, a single section gets written with a skeleton around it.
  2. Pin the claim. One sentence at the top of the outline before the first paragraph is drafted.
  3. Identify the model class and the field. Load the class checklist and, if one fits, the domain pack.
  4. Write the Methods mathematics. The model, notation table, scaling, derived results, numerics and any inference, using the per-class checklist.
  5. Verify. Dimensions, signs, limiting cases, code against equations, analytic results against numerical ones, the user's claims against the maths, and every number in the prose recomputed. What was checked, how, and what was not checked goes into the notes.
  6. Draft the other sections around the planned figures, keeping the wording no stronger than the claims list.
  7. Anticipate reviewers. A running, rated objection list with a planned answer for each.
  8. Cite carefully, then export. Verified references only; the citation audit runs before any LaTeX export.

Files it reads and writes

Path
Reads your model code, research/results/*.json, and any existing research/outline.md, paper-notes.md, paper/*, claims.md, refs.bib, figures/*.md
Writes manuscript sections in research/paper/ (nothing else goes there), the working files research/outline.md and research/paper-notes.md, new figure plans research/figures/figN.md, its own lines in research/claims.md, entries in research/refs.bib
Runs the two helper scripts, and throwaway scripts that check the maths in your environment (kept in the system temp directory unless you ask)
Never edits your code, data or result files; invents a reference or a parameter source; uses the network from its scripts

Without a research/ folder it works where you point it: the sections go in your paper folder and the two working files beside it. Projects from the older layout, with outline.md and notes.md inside paper/, keep working.

Helper scripts

python scaffold_paper.py research --title "Working title"   # paper skeleton, never overwrites
python check_refs.py research                                # citation audit
python check_refs.py research --strict                       # before submission

Both ship in the skill's scripts/ folder. Python 3.10+, standard library only, no network.

Script What it does
scaffold_paper.py Creates the section files, the outline and notes files, the figures folder, claims.md and refs.bib with starter templates. Skips every file that already exists.
check_refs.py Lists cited keys missing from refs.bib (error), cited keys marked UNVERIFIED, [CITE: ...] and [CHECK: ...] placeholders, and entries never cited. Reads Pandoc and LaTeX citation syntax. Exit code 1 on errors, or on any warning with --strict.

FAQ

Which kinds of models does it handle?

Any paper whose contribution rests on a mathematical or computational model: deterministic ODEs, DDEs and PDEs, master equations and SDEs, agent-based models, statistical and inference models, network models, optimisation and control, numerical-methods papers and surrogate models. Each class has a checklist of what its Methods must contain.

My field isn't biology. Will it work?

Yes. The core is field-neutral, and the demo above is an engineering model. Domain packs add vocabulary and field-specific reviewer objections for biology, epidemiology, ecology, and physics and engineering. For other fields, such as economics, climate or neuroscience, it works from the core and asks you which conventions and reporting standards your community expects.

Does it actually check the maths?

Checking is part of the workflow, not an afterthought: units, limiting cases, your code against the written equations, and a numerical check of every analytic steady state, threshold or distribution when a Python environment is available. The notes record what was checked, how, and what could not be checked. It is a careful review, not a formal proof.

Will it make up references?

No. A reference is cited only if the agent saw it in a search result with a DOI or stable identifier, you supplied it, or it read the paper. Anything else is marked UNVERIFIED or left as a [CITE: what is needed] placeholder, and check_refs.py lists them all before export.

Does it write the whole paper or just the Methods?

Both. It drafts every section, the abstract last, and starts wherever you ask. The demo asked for the Methods and the reviewer objections first.

How is it different from Claim Check?

Modelling Paper co-writes the paper and its mathematics. Claim Check audits finished prose sentence by sentence against the evidence. They pair well, and neither needs the other.

Limitations

  • It writes and checks the paper; it does not run your study. Numerical checks need a working environment for your model; without one the agent checks by hand and lists what it could not verify.
  • Its checks are a careful review, not a formal proof of correctness.
  • Without a literature-search tool or your own PDFs and BibTeX, references stay as [CITE] placeholders for you to fill.
  • Domain packs cover biology, epidemiology, ecology, and physics and engineering. Other fields get the general core.
  • It plans figures and writes captions but does not produce figures, format for a specific journal or edit sentence-level style. Markdown is the working format; LaTeX export is a separate step on request.

Changelog

1.0.0 · October 2026 · First release: PI and postdoc roles, Methods mathematics by model class with a verification pass, domain packs for biology, epidemiology, ecology, and physics and engineering, a general reviewer-objection catalogue, verified-only citations, and the scaffold and citation-audit scripts.