manuscript-writing — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited manuscript-writing (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Guide the writing of a research manuscript with the same discipline Eureka applies to everything else: gates before each section, traceability for every claim, fresh-eyes review after each section, and a hard prohibition on writing about results that don't exist yet.
Core principle: A manuscript is a report of work done, not a plan for work to do. Every section has a prerequisite, every claim has a source, and every figure was generated by a script.
NO MANUSCRIPT CLAIM WITHOUT A TRACEABLE SOURCE.
NO SECTION WITHOUT ITS PREREQUISITE DATA.Writing a Results section before results exist is fabrication. Writing a Discussion before Results are finalized is fiction. The prerequisites are not negotiable.
Use this skill when:
Do NOT use when:
eureka:research-journal)eureka:claims-audit)You MUST create a task for each of these and complete them in order:
section-reviewer → fix → approveeureka:claims-audit for the full manuscript audit<HARD-GATE> If a section's prerequisite is NOT met, refuse to write that section. Name which prerequisite is missing, which Eureka skill to invoke to complete it, and which sections CAN be written now. </HARD-GATE>
| Section | Prerequisite | Can write if... |
|---|---|---|
| Introduction | Research question defined (design doc exists) | docs/eureka/designs/ has an approved design |
| Related Work / Background | Literature gap identified (during brainstorming) | Devil's Advocate section in design doc is non-empty |
| Methods | Hypothesis registered, experiment plan exists | docs/eureka/registrations/ and docs/eureka/plans/ have files |
| Results / Experiments | All relevant experiments complete + research-review PASS | Result files exist in results/ and review report exists |
| Discussion | Results section complete | The Results .tex / .md file passes section-reviewer |
| Conclusion | All other sections complete | Every other section has passed section-reviewer |
| Abstract | All sections complete | Written LAST — summarizes the finished paper |
Sections can be written out of order as long as each section's own prerequisite is met. For example, Methods can be written before Results if the hypothesis is registered and the plan exists — you're describing what you did, not what you found.
These rules are domain-agnostic. They apply regardless of field, format, or target journal.
In LaTeX: \cite{}, \citep{}, \citet{} In Markdown: [@key], (Author, Year)
No "It is well known that...", "Studies have shown...", or "Previous work demonstrates..." without a specific citation. If you can't cite it, you can't claim it.
If you write r = 0.86 or p < 0.001 or N = 47, there must be a file in results/ (or equivalent) that contains that exact value. This is pre-auditing for eureka:claims-audit — catch traceability failures during writing, not after.
When writing a number, note the source inline as a comment:
r = 0.86 % source: results/cv_results.jsonr = 0.86 <!-- source: results/cv_results.json -->In LaTeX: \ref{fig:X} requires a \label{fig:X} in the document AND a real file in figures/ generated by a script. In Markdown:  requires figures/fig1.png to exist and be script-generated.
No manually drawn figures. No screenshots pasted into the manuscript. Figures must be reproducible.
HARD-RULE — auto-trigger `eureka:figure-design`: when writing a section that cites a figure that does not yet exist OR an existing figure's design needs revision, you MUST invoke eureka:figure-design before continuing to write prose that depends on the figure. Do NOT write around a missing figure with placeholder prose. figure-design enforces chart-type selection, typography, colorblind-safe palettes, and journal-specific export specs. manuscript-writing writes the text that references the figure; figure-design creates the figure itself.
This rule is stronger than the prior "invoke when needed" phrasing because external feedback showed users skipping figure-design for new figures and producing figures that failed journal spec.
Every symbol in an equation must be defined the first time it appears. A reader encountering \alpha for the first time should immediately see "where \alpha is the diffusion rate constant."
Spell out in the Abstract AND again on first use in the main text. Abstracts and main text are read independently.
Structure: topic sentence → evidence → analysis → transition to next paragraph. If a paragraph covers two ideas, split it.
"We propose..." not "It is proposed that..." "Our model achieves..." not "It was found that the model achieves..."
Passive voice is acceptable when the agent is genuinely irrelevant, but active voice is the default.
The Abstract summarizes a finished paper. Writing it first means guessing at results. Write an outline or a 3-sentence summary if you need to organize your thoughts — but the real Abstract is the last thing written.
For each section, follow these steps in order:
Verify the prerequisite from the table above. If not met, tell the user which prerequisite is missing and suggest the appropriate Eureka skill.
Before writing, read:
<HARD-GATE> Run this checkpoint once per manuscript, before writing any section (Introduction, Methods, Results, Discussion — all draw on the framing decision). For subsequent sections within the same manuscript, skip this step if the arc is already locked and unchanged. If you revisit the framing mid-manuscript, re-run this checkpoint and document the revision in the research journal. </HARD-GATE>
The brainstorming design document committed to a contribution altitude (method improvement / new framework / new phenomenon / falsification) and a story arc (problem-driven / opportunity-driven / surprise-driven / falsification-driven). See docs/references/narrative-guide.md — sections "Contribution altitude — 4 tiers" and "Story arc patterns — 4 shapes". Now that results exist, verify the original framing still fits — or discovery-adjust.
Run this 5-question check:
results/, measured by effect size, novelty, or surprise? State it in one sentence.eureka:research-journal (typically to docs/eureka/journal/YYYY-MM-DD.md) so the framing decision is traceable across sessions and audit. If you don't journal, at minimum paste the paragraph into your working notes or commit it as a top comment in main.tex/the manuscript entry point — the decision must be captured somewhere so future you (or a co-author) can see what was locked and why. All section writing flows from it.HARKing guardrail — re-framing is not HARKing. The rule:
| Must stay pinned to pre-registration | Can shift with discovery-adjustment |
|---|---|
| Hypothesis text (H1, H0) in Methods | Framing emphasis in Introduction |
| Statistical test, threshold, correction | Contribution altitude in Discussion |
| Primary outcome definition | Which result gets Figure 1 |
| Reported p-values, effect sizes, nulls | Story arc shape of the paper |
Pre-registration constrains the hypothesis; it does not constrain the story. Report the hypothesis faithfully in Methods and Results. Frame the paper around whatever the data actually shows.
See docs/references/narrative-guide.md — sections "Discovery-Adjusted Framing" for the full workflow, "Negative result reframing" (null → informative constraint), and "Venue-specific altitude tuning" if target venue has shifted since brainstorming.
When to re-fire this lock
The lock is "once per manuscript" by default. Re-fire it when any of these trigger:
narrative-guide.md section "Venue-specific altitude tuning"novelty-competitive-audit + this re-fireRe-fire = run the 5-question check above again, commit the new framing decision. The HARKing guardrail is unchanged: pre-registered hypothesis stays pinned (Methods + Results); only the narrative framing shifts.
Follow the Writing Discipline Rules above. Write the complete section.
Before dispatching the reviewer, do a quick pass:
TODO, XXX, [citation needed], placeholder contentsection-reviewer subagentAfter the inline self-check passes, dispatch a fresh subagent for independent review:
skills/manuscript-writing/section-reviewer-prompt.md{SECTION_PATH} → the file path of the section just written{SECTION_NAME} → the section name (e.g., "Methods", "Results"){BIBLIOGRAPHY_PATH} → the bibliography file path (.bib or references file){RESULTS_DIR} → the results directory path{FIGURES_DIR} → the figures directory pathgeneral-purpose subagent)Status: Approved or Status: Issues FoundApproved.If the reviewer flags the same issue twice, escalate to the user.
After the current section passes review, move to the next section whose prerequisite is met. Continue until all sections are complete.
Read the complete manuscript from start to finish. Check for:
Only now. The Abstract summarizes the finished, reviewed manuscript. It should state:
The Abstract must independently make sense — a reader who reads only the Abstract should understand the contribution.
After the Abstract is written and the final pass is clean:
"All sections written and reviewed. Transitioning to eureka:claims-audit for full-manuscript verification."Invoke eureka:claims-audit. That skill traces every number, verifies every figure, and checks that all experiments are reported (including negatives). manuscript-writing does per-section checking during writing; claims-audit does full-manuscript checking after writing.
This skill works with any manuscript format:
| Format | Citations | Cross-refs | File extension |
|---|---|---|---|
| LaTeX | \cite{}, \citep{}, \citet{} | \ref{fig:X}, \label{fig:X} | .tex |
| Markdown | [@key], (Author, Year) | [Figure 1](#fig-1), inline links | .md |
| Other | Inline (Author, Year) | Manual references | varies |
For STEM research targeting top-tier journals (Nature family, Science family, Cell family, Brain, NeuroImage, JAMA, IEEE Transactions, etc.), LaTeX is the recommended default. Most top journals accept LaTeX submissions, BibTeX is the de facto citation management standard, and the section-file split pattern (paper/sections/NN-sectionname.tex) aligns naturally with this skill's per-section workflow. Use Markdown or other formats if your target venue requires them or your workflow is preprint-first / blog-style.
See docs/references/latex-guide.md for LaTeX conventions: main.tex template, section file structure, BibTeX key format, citation commands, math notation, figure/table commands, abbreviation rules, and the compile workflow.
The user specifies their format at the start of the writing session (or in CLAUDE.md). The discipline rules apply regardless — only the syntax changes.
| Excuse | Reality |
|---|---|
| "I'll add citations later" | You won't. Every claim needs a citation at write-time, not at polish-time. Uncited claims become accepted assertions through editorial inertia. |
| "The numbers are approximately right" | Approximately right is exactly wrong. Trace every value to its source file. Reviewers check numbers. |
| "I can write the Discussion before Results are done" | Discussion interprets results that don't exist yet. You'll write fiction and then retrofit the data to match. |
| "Abstract first helps me organize my thoughts" | Write an outline instead. The Abstract summarizes a finished paper — writing it first means guessing at results you haven't analyzed. |
| "I'll check the figure references later" | Broken cross-refs compile silently in LaTeX and render as ??. Check now. |
| "This section is too short, let me pad it" | Short and accurate beats long and padded. Reviewers notice filler. Add substance or keep it short. |
| "I already know what the Methods section should say" | Methods describes what you actually did, not what you planned to do. Check against the experiment plan and registration for drift. |
| "The results are obvious from the figures" | Results text must state exact numbers, not just gesture at figures. Figures support the text; they don't replace it. |
eureka:using-eureka when manuscript writing intent is detectedsection-reviewer subagent (per section, after writing)eureka:claims-audit (after all sections + Abstract complete)eureka:research-journal — capture writing decisions and framing lockseureka:whats-next — if stuck on which section to write nexteureka:figure-design — when any section cites a figure that needs to be created or updated (fires automatically when manuscript-writing's Writing Discipline Rule 3 detects a figure citation without an existing artifact)eureka:novelty-competitive-audit — pre-submission external novelty check; a CONCERN/BLOCK verdict triggers Step 3 re-firedocs/references/statistical-guide.md — Results section reporting standards, computational recipes (power, MDE, parametric uncertainty)docs/references/latex-guide.md — LaTeX conventions (main.tex template, section files, BibTeX, math notation, figures)docs/references/figure-guide.md — figure design conventions (chart type, typography, colorblind-safe palettes, journal export specs)docs/references/narrative-guide.md — Step 3 Discovery-Adjusted Framing, narrative arc selection, Intro-Discussion symmetry, venue-specific altitude tuningFLEXIBLE — Section structure, length, format, and citation style adapt to the user's target journal and field. The discipline rules (prerequisites, traceability, citation, variable definitions, abstract-last) are fixed.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.