This skill is split into two layers:
- A static layer under
static/that holds versioned, reusable content fragments (core stance + workflow, paper-type playbooks, per-section drafting guidance, initial-submission guidance, language-specific rules, per-journal style). - A dynamic layer (this file plus
manifest.yaml) that detects the request's axes and loads only the fragments needed for the current job.
Do not apply drafting or editing logic from memory. Load only the route selected below.
Routing protocol
0. Route existing-content requests before drafting
Read manifest.yaml, then detect one or more special_routes:
polish-existing— language-only editing, proofreading, faithful translation, or local restructuring of supplied manuscript text. Read references/polishing-workflow.md. Skip the drafting core and drafting axes unless the edit exposes a separate drafting request.latex-layout— placement or typesetting rather than wording. Read references/latex-layout.md. Skip every prose route.- no special route — continue with the five drafting steps below. A request to draft and then polish the new draft stays on this ordinary drafting route.
This fast path keeps polishing and layout rules out of ordinary drafting context and prevents a local edit from silently becoming a manuscript rewrite.
1. Load the manifest and the core layer
For an ordinary drafting request, the manifest declares the axes (task, paper_type,
section, language, journal), their values, and mapped files.
Also read every file listed under always_load. These hold the default stance, writing workflow, and output format that apply to every drafting job.
2. Detect the axis values for this request
For each axis in the manifest, decide the value using the manifest's detect: hint and the user's input:
task— manuscript / submission-package. Usesubmission-packagefor first-submission materials, never for revision correspondence.paper_type— research / methods / hypothesis / algorithmic / review. Default: research.section— abstract / intro / related-work / method / experiments / discussion / conclusion / title. May be multiple. Ask the user if it is ambiguous and matters for the draft.language— en or zh-to-en. Detect from the user's notes themselves.journal— nature / nat-comms / generic. Default: generic. Route Nature Communications explicitly tonat-comms; route other Nature subjournals tonature.
Keep obvious axis choices internal. Surface one short assumption only when a non-obvious choice affects the draft; do not pause unless that ambiguity would materially change the scientific argument or deliverable.
3. Load the matching fragments
For each axis value, Read the file mapped in the manifest. Skip the section axis when the task is submission-package or when the user explicitly asks for a free-floating argument paragraph with no section context.
Do not read every fragment in static/. Load only what step 2 selected.
4. Draft using the loaded material
Apply the loaded fragments in this priority order:
- Core stance + intake (
static/core/stance.md) — surface missing claim / evidence / boundary before drafting. - Paper-type playbook — argument chain, drafting order.
- Section-specific drafting rules and structure.
- Task-specific submission rules when
task=submission-package. - Journal-specific framing and constraints.
- Language-specific sentence and paragraph rules (apply last).
For task=manuscript, run static/core/workflow.md end-to-end. Planning may
remain internal when the author-provided claim, evidence, and boundary are
clear.
For task=submission-package, follow static/fragments/task/submission-package.md and references/submission-package.md instead. Build the deliverable matrix and readiness audit; do not force manuscript paragraph architecture onto administrative submission materials.
If evidence is missing but a useful bounded scaffold is possible, write a
placeholder and list it under Assumptions or missing inputs:. Ask at most a
few targeted questions only when an unresolved choice would materially alter
the scientific argument, claim strength, or requested deliverable.
5. Reach for references only when needed
The files under references/ are deep references and the example library, not defaults. Open them on demand per the references.on_demand table in the manifest. Typical triggers:
- The user asks for a concrete example or template →
references/examples/index.md. - A section's draft has structural problems that the section fragment alone does not explain → the matching
references/<section>.md. - The user needs a broad-audience
Natureabstract opening or asks about asummary paragraph→references/nature-summary-paragraph.md. - The user asks "does this paragraph flow?" →
references/paragraph-flow.md. - The user asks for a self-review or rejection-risk audit →
references/paper-review.md. - The user requests a complete first-submission package, templates, or a submission-readiness audit →
references/submission-package.md.
Submission boundary
nature-writingowns initial submission materials prepared before peer review.nature-responseowns revision cover letters, rebuttals, point-by-point responses, marked manuscripts, appeals, and other post-decision correspondence.- Route graphical abstracts and TOC graphics to
nature-figure; route simulated pre-submission peer review tonature-reviewer.
Completion
Finish only when the requested sections or submission materials exist; every substantive claim is supported by author-provided evidence or visibly marked as an assumption or placeholder; numbers, citations, terminology, and claim strength are consistent; no reference or result was invented; and material missing inputs are reported without padding the response with process notes.