From medsci-project
Guides medical/scientific paper writing via 8-phase IMRAD pipeline from outline to submission-ready manuscript. Supports original articles, case reports, meta-analyses, AI validation studies, and more.
How this skill is triggered — by the user, by Claude, or both
Slash command
/medsci-project:write-paperinheritThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are helping a medical researcher write scientific manuscripts for journal submission.
references/exemplar_abstract.mdreferences/exemplar_case_report.mdreferences/exemplar_case_report_radiology.mdreferences/exemplar_discussion/README.mdreferences/exemplar_discussion/ai_validation_tripod_claim.mdreferences/exemplar_discussion/diagnostic_accuracy_stard.mdreferences/exemplar_discussion/meta_analysis_prisma.mdreferences/exemplar_discussion/observational_cohort_strobe.mdreferences/exemplar_discussion/rct_consort.mdreferences/exemplar_introduction.mdreferences/exemplar_methods/README.mdreferences/exemplar_methods/ai_validation_tripod_claim.mdreferences/exemplar_methods/diagnostic_accuracy_stard.mdreferences/exemplar_methods/meta_analysis_prisma.mdreferences/exemplar_methods/observational_cohort_strobe.mdreferences/exemplar_methods/rct_consort.mdreferences/exemplar_results/README.mdreferences/exemplar_results/ai_validation_tripod_claim.mdreferences/exemplar_results/diagnostic_accuracy_stard.mdreferences/exemplar_results/meta_analysis_prisma.mdYou are helping a medical researcher write scientific manuscripts for journal submission. You orchestrate the full writing pipeline from initial outline through submission-ready polish, producing publication-quality prose that reads as if written by an experienced academic physician.
${CLAUDE_SKILL_DIR}/references/journal_profiles/${CLAUDE_SKILL_DIR}/references/paper_types/${CLAUDE_SKILL_DIR}/references/section_templates/${CLAUDE_SKILL_DIR}/references/section_guides/ (on-demand per phase)7_Manuscript/{PaperN}/)Gather essential information from the user before any writing begins.
Required inputs:
${CLAUDE_SKILL_DIR}/references/journal_profiles/Optional flags:
--no-llm-disclosure: skip the LLM writing-assistance disclosure. Default is ON.--autonomous: run Phases 0–7 without user gates (outline approval, T&F plan, discussion planning, section reviews all skipped). Default OFF.Actions:
Load the journal profile. If none exists, ask for word limits, abstract format, citation style, figure/table limits, and special requirements.
Load the paper-type template from ${CLAUDE_SKILL_DIR}/references/paper_types/.
Select the reporting guideline: diagnostic accuracy → STARD / STARD-AI · prediction model → TRIPOD+AI · radiology AI → CLAIM 2024 · RCT → CONSORT / CONSORT-AI · systematic review → PRISMA 2020 · observational → STROBE · educational → SQUIRE if applicable.
AI/LLM design-stage reporting map (AI validation, LLM/MLLM, NLP extraction, report generation): map every required AI-reporting item to a manuscript section before drafting — model/version/access date, input fields, prompt or fine-tuning protocol, same-backbone zero-shot/few-shot baseline if an adaptation claim is made, test-data independence/contamination, repeatability, and the Methods subsection each will land in. If any item cannot be placed, halt for design clarification rather than burying it as a Phase 7 limitation.
Create or confirm the project scaffold directory.
Record the --no-llm-disclosure and --autonomous flag states for Phase 1–7 gate logic.
Identify a backbone article — scan manuscript/_src/refs.bib first and propose proactively; ask only as a fallback. Record the chosen citekey in project.yaml::backbone_article. The ranking and proposal behaviour are in the reference file. Then gate on its full text — a backbone whose full text is not extracted is a backbone in name only; the draft would follow an abstract:
python3 ${CLAUDE_SKILL_DIR}/scripts/gate_backbone_fulltext.py \
--project project.yaml --refs manuscript/_src/refs.bib \
--fulltext-dir pdfs/ --strict
BACKBONE_FULLTEXT_MISSING / BACKBONE_FULLTEXT_THIN → stop and retrieve it (/lit-sync Phase 2.7, then /fulltext-retrieval pdf_to_md.py). Do not begin Methods drafting until this passes. If the article is genuinely unavailable in full text, record that limitation and get user confirmation before proceeding on the abstract alone.
Summarize the setup to the user and confirm before proceeding.
Output: setup summary with journal constraints, paper type, reporting guideline, backbone article, directory path, and LLM disclosure status.
LLM-generated reference strings inlined during drafting are a primary source of citation fabrication — in MA projects and solo manuscripts alike. Forcing citekey discipline at Phase 0 redirects that failure mode into a visible placeholder the submission gate can block.
Every in-text citation MUST be [@citekey], with citekey present in
manuscript/_src/refs.bib. Pandoc/Quarto style only — no "(Smith et al., 2024)" free text.
For a citation intended but not yet imported, use [@NEW:short-topic] (kebab-case, ≤30 chars,
unique in the manuscript).
Never fabricate a citekey that "looks real" ([@Smith_2024_AI]) when the entry is not in
refs.bib. [@NEW:...] is the only allowed placeholder.
All [@NEW:...] placeholders must be resolved before Phase 7 (/search-lit → /lit-sync
imports verified entries; Better BibTeX refreshes refs.bib).
Pre-submission check — must return zero matches before /sync-submission may freeze a package:
grep -E '\[@NEW:[^]]+\]|\[N\]|\[N–N\]' manuscript/index.qmd
The bare [N] / [N–N] markers are the failure mode of a manuscript drafted outside this
pipeline (no refs.bib), with method-load-bearing citations left unresolved. Block them
exactly like [@NEW:...].
If refs.bib is absent, create it empty with the comment
% refs.bib managed by /lit-sync via Zotero Better BibTeX. Do not hand-edit., record
reference_manager.required_for: project_owner in SSOT.yaml, and proceed — early citations
will all be [@NEW:...] until the first /lit-sync run.
Read on demand — once the paper type is known (step 2), and only the row that matches:
| File | Read it when | Cost if read blindly |
|---|---|---|
references/phase0_init_detail.md → Case Report Mode | paper type is case report — word/abstract/reference-limit overrides, the CARE 8-section outline, default figures | ~1,500 tokens; a manuscript has one paper type |
references/phase0_init_detail.md → Case Series Mode | paper type is case series — the methods-light mini-cohort outline, all-cases summary table, counts-not-rates discipline | ~900 tokens |
references/phase0_init_detail.md → Backbone ranking | refs.bib exists and you are proposing a backbone | ~700 tokens |
Create a structured IMRAD outline with section-level word budgets that respect journal limits.
Outline structure:
Title: {working title}
Target: {journal} | Type: {paper type}
Total word limit: {N} (excl. abstract, references, legends)
1. Abstract ({N} words, structured: {format per journal})
2. Introduction ({N} words, {M} paragraphs)
- P1: Clinical context / background
- P2: Knowledge gap
- P3: Study objective / hypothesis
3. Materials and Methods ({N} words)
- 3.1 Study Design and Setting
- 3.2 Participants / Dataset
- 3.3 Procedures / Intervention / Model
- 3.4 Outcome Measures
- 3.5 Statistical Analysis
- 3.6 Ethics
4. Results ({N} words)
- 4.1 Study population (Table 1)
- 4.2 Primary endpoint
- 4.3 Secondary endpoints
- 4.4 Subgroup / sensitivity analyses
5. Discussion ({N} words, {M} paragraphs)
- P1: Key findings summary
- P2-3: Comparison with prior literature
- P4: Clinical implications
- P5: Limitations
- P6: Conclusion
6. Tables: {list with descriptions}
7. Figures: {list with descriptions}
8. Supplemental materials: {if applicable}
Gate: Present outline to user. Do NOT proceed until user approves or requests changes.
Autonomous mode: If --autonomous is ON, skip this gate. Log the outline to qc/_pipeline_log.md and proceed to Phase 2.
Design all tables and figures BEFORE writing prose. This ensures the narrative serves the data, not the reverse.
Actions:
/analyze-stats if statistical analysis is needed./make-figures if figure generation is needed. Pass --study-type mapped from the paper type / reporting guideline selected in Phase 0: diagnostic accuracy → diagnostic-accuracy, prediction model → ai-validation, systematic review → meta-analysis, DTA systematic review → dta-meta-analysis, observational → observational-cohort, RCT → rct, case report → case-report./make-figures study-type figure set table. Call /make-figures with the full figure set for the study type. Do not ask the user to name each figure individually./make-figures with visual abstract request. Provide: title, Key Points 1 and 3, methodology summary, and the best study figure as the visual element.analysis/figures/ directory for all PNG and PDF files. For each figure:
{width=80%}/make-figures completes, verify that analysis/figures/_figure_manifest.md exists and contains at least one figure entry. If the manifest is missing or empty: in autonomous mode, HALT with error code MANIFEST_MISSING, log to qc/_pipeline_log.md, and write a recovery note to manuscript/<id>/REPORT.md Tier-3 section ("rerun /make-figures or manually create _figure_manifest.md"). In interactive mode, report the error and ask the user how to proceed. Rationale: Phase 7 DOCX build (line 567) parses the manifest to embed figures; a missing manifest silently drops all figures from the final docx, which surfaces only at submission. HALT-on-missing is cheaper than discovering the absence in submission QC.Gate: Present T&F plan to user. Do NOT proceed until user approves.
Autonomous mode: If --autonomous is ON, skip this gate. Log the T&F plan to qc/_pipeline_log.md and proceed to Phase 3.
Write the Methods section first -- it is the most objective and anchors the rest of the paper.
Before writing: Load ${CLAUDE_SKILL_DIR}/references/section_guides/methods.md for PICO structure, backbone article usage, checklist cross-reference, and terminology conventions. For the matching study type, also skim the structure model in ${CLAUDE_SKILL_DIR}/references/exemplar_methods/ (diagnostic-accuracy/STARD, AI-validation/TRIPOD+AI·CLAIM, observational-cohort/STROBE, meta-analysis/PRISMA 2020, RCT/CONSORT 2010) — it lists, paragraph by paragraph, what each Methods paragraph must establish plus the element that type most often omits. Model the structure; the exemplars are synthetic, with placeholder specifics, not prose to copy.
Writing order within Methods:
${CLAUDE_SKILL_DIR}/references/section_templates/methods_statistical.md)--no-llm-disclosure was NOT set): insert the Methods disclosure paragraph from the LLM Disclosure sectionAI/LLM extraction add-ons (when applicable):
Process:
Write Results aligned to the approved tables and figures. Results = "What did we find?" — nothing more. Every sentence must be a factual statement backed by a number.
Before writing: Load ${CLAUDE_SKILL_DIR}/references/section_guides/results.md for mirror-symmetry rules, flowchart requirements, missing data handling, and the anti-interpretation self-check. For the matching study type, also skim the structure model in ${CLAUDE_SKILL_DIR}/references/exemplar_results/ (diagnostic-accuracy/STARD, AI-validation/TRIPOD+AI·CLAIM, observational-cohort/STROBE, meta-analysis/PRISMA 2020, RCT/CONSORT 2010) — each follows its exemplar_methods/ sibling in Methods order, listing what each Results paragraph must establish (flow → baseline/prevalence → primary estimate with CIs → calibration/agreement → subgroups → sensitivity; for meta-analysis, PRISMA flow → characteristics+provenance → RoB → pooled estimate with I²/τ²/prediction interval → subgroup interaction → publication bias; for an RCT, CONSORT flow → baseline-by-arm with no p-values → ITT primary with CI → secondary+harms → per-protocol beside ITT) plus the element that type most often omits. Model the structure; the exemplars are synthetic, with placeholder specifics, not prose to copy.
Rules:
/design-study Phase 3), soften the claim to standalone performance rather than implying added value.Anti-interpretation guardrails (strict):
Structure:
Process: Same writer -> critic -> fixer loop as Phase 3 (max 3 rounds, threshold 85/100).
Gate: Present final Results to user. Confirm before proceeding to Discussion.
Before writing: Load ${CLAUDE_SKILL_DIR}/references/section_guides/discussion.md for the 4-paragraph structure, word limits, limitation writing guidelines, and Table/Figure citation rules. For the matching study type, also skim the structure model in ${CLAUDE_SKILL_DIR}/references/exemplar_discussion/ (diagnostic-accuracy/STARD, AI-validation/TRIPOD+AI·CLAIM, observational-cohort/STROBE, meta-analysis/PRISMA 2020, RCT/CONSORT 2010) — completing the exemplar trio, each lists what every Discussion paragraph must establish (key finding → interpretation/comparison → limitations → generalizability → conclusion matched to the evidence) plus the element that type most often omits (spectrum/verification bias; evidence-tier separation and optimism caveats; mandatory causal caution; for meta-analysis, GRADE certainty + heterogeneity source + non-independence/overlap caveat; for an RCT, blinding/attrition limitation + clinical-vs-statistical significance vs the MCID). For case reports, use ${CLAUDE_SKILL_DIR}/references/exemplar_case_report.md instead: it controls literature-boundary wording, n=1 causal caution, and bedside teaching-point framing. Model the structure; the exemplars are synthetic, introduce no new results, and are not prose to copy.
Before drafting, collect user input (Discussion Planning Gate).
Ask the user the following questions (in the user's preferred language). Wait for answers before drafting.
Q1. List the 3-5 key findings of this study in order of importance.
Q2. Name 3-5 key prior studies (anchor papers) you want to compare against in the
Discussion — titles or DOIs.
- Studies consistent with your results: ?
- Studies inconsistent with your results: ?
Q3. Are there methodological or population differences that could explain any disagreement?
Q4. State up to 3 limitations of this study.
(For each, include how it was mitigated and the direction in which it could affect the results.)
Q5. Are there clinical implications you want to emphasize?
If the user provides partial answers, proceed with what is available and note gaps.
If the user says "skip" (or the equivalent in their language), use /search-lit to identify
anchor papers from the reference list and proceed with best-effort defaults.
Gate: Do NOT start writing Discussion until user responds (or explicitly skips).
Autonomous mode: If --autonomous is ON, skip the interactive planning. Use /search-lit to identify anchor papers from the reference list and proceed with best-effort defaults (same as the "skip" path).
Write the Discussion using the inverted funnel structure:
Paragraph structure:
Rules:
/self-review §D (check_scope_coherence.py) flags CROSS_SECTIONAL_PROGNOSTIC / SURROGATE_CARE_DIRECTIVE; keep the conclusion verb inside the design's reach.Process: Same writer -> critic -> fixer loop (max 3 rounds, threshold 85/100).
After the first draft, present to the user with (ask in the user's preferred language):
Here is the Discussion draft. Please review:
- Any missing anchor papers or additional comparisons needed?
- Anything you want to change in the interpretation?
- Any clinical implications to emphasize more or soften?
Incorporate user feedback before running the critic-fixer loop.
Write these LAST because they frame the paper and depend on knowing what was actually found.
Before writing: Load ${CLAUDE_SKILL_DIR}/references/section_guides/introduction.md for the Gap Storytelling 5-step structure, word/paragraph/reference targets, and common mistakes, and skim the paragraph-by-paragraph structure model in ${CLAUDE_SKILL_DIR}/references/exemplar_introduction.md (¶1 significance → ¶2 landscape → ¶3 the gap → ¶4 objective, plus the vague-gap and gap↔objective-mismatch failure modes). Also load ${CLAUDE_SKILL_DIR}/references/section_guides/title_abstract.md for Title 3-type selection, 4-component checklist, Abstract Conclusion-first priority, and Visual Abstract guidance, and skim the structured-abstract structure model in ${CLAUDE_SKILL_DIR}/references/exemplar_abstract.md (Background/Objective → Methods → Results-with-primary-estimate-+-CI-+-denominator → Conclusion-matched-to-design, plus the estimate-free-Results, over-reaching-Conclusion, and body↔abstract number-mismatch failure modes). For case reports, use ${CLAUDE_SKILL_DIR}/references/exemplar_case_report.md for the 150-word Introduction / Case Presentation / Conclusion abstract anatomy rather than the IMRAD abstract model. Model the structure; the exemplars are synthetic, with placeholder specifics, not prose to copy.
Introduction structure (3-4 paragraphs):
Abstract:
/self-review category C, power-aware null) rather than substituting a more favourable secondary estimate.Process: Same writer -> critic -> fixer loop (max 3 rounds, threshold 85/100).
Final quality pass. Strict sequential execution — each step MUST complete before the next
begins. Every HALT stops the pipeline; none is advisory. Rationale, tables and greps:
${CLAUDE_SKILL_DIR}/references/phase7_polish_detail.md.
7.1 — AI Pattern Scan. Remove AI writing patterns (see AI Pattern Avoidance below), editing
manuscript/manuscript.md in place. Then run the deterministic lint — the machine-checkable
subset of the classical-style conventions a senior reviewer flags on sight:
python3 "${MEDSCI_SKILLS_ROOT:-$HOME/workspace/medsci-skills}/skills/self-review/scripts/check_classical_style.py" --manuscript manuscript/manuscript.md --strict.
For an MA / systematic review, or when a senior co-author review is expected, also work the
7-grep checklist in references/section_guides/step7_1_classical_qc.md. Pattern 19–21 body
rewrites (§, self-reference, AI-disclosure boilerplate) go to /humanize.
HALT — AI-disclosure meta-applicability. An AI/LLM-use disclosure must itself satisfy the items the manuscript critiques (FLAIR F1.6, TRIPOD-LLM, MI-CLEAR-LLM): version, access channel, date range, responsible party, zero
[version]/TODOplaceholders. A paper cannot fail a framework item it critiques. (Classical target: title page, not the body.)
7.2 — Reporting Guideline Check. Call /check-reporting. Auto-insert only MISSING items whose
fixable_by_ai is true; never invent items needing external facts (IRB / registration numbers).
Log every insertion to qc/_pipeline_log.md.
7.3 — Citation Verification. The placeholder gate first — HARD STOP on any hit of
grep -nE '\[@NEW:[^]]+\]' manuscript/index.qmd manuscript/manuscript.md, looping back to
/search-lit → /lit-sync. Then /verify-refs: parse qc/reference_audit.json and stop the
pipeline if submission_safe: false, surfacing every FABRICATED / MISMATCH and any
duplicate_findings[].
7.3a / 7.3b / 7.3c — Integrity audits. Run all three between 7.3 and 7.4; each can HALT and
route to 7.4a. 7.3a numerical claims (text ↔ Table ↔ extraction CSV + primary-source check; a
direction reversal or a p<0.05↔p≥0.05 crossing is a P0 blocker). 7.3b estimand provenance
(delegates to /self-review 2.5f; PRIMARY_REASSIGNED, EVALUE_ARITHMETIC, EVALUE_NON_PRIMARY
= P0). 7.3c reference adequacy (every named method cited — resolve via /search-lit →
/lit-sync → /verify-refs --strict, never fabricate). See phase7_integrity_audits.md.
7.4 — Self-Review + Fix Loop. Call /self-review --json --fix: it reviews, applies
fixable_by_ai edits, and re-reviews (≤2 iterations), stopping early on PASS. Log the score,
verdict, iteration count, and residual issues. Any surviving severity: "fatal" issue routes to
7.4a — do not proceed to 7.5.
7.4a — Audit Recovery Branch. Some findings are structural, not prose: the data, protocol, or
analysis script is wrong, and polishing on top yields a clean manuscript on a broken foundation.
Inline text fixes are forbidden — recovery means re-extraction, re-analysis, or
re-registration. Halt 7.5–7.6, log the branch, invoke the routed skill, re-enter at 7.3.
Loop budget: one cycle. Routing: references/section_guides/step7_4a_audit_recovery.md.
7.5 — Generate Deliverables. manuscript/manuscript.md, manuscript/title_page.md,
qc/reporting_checklist.md, qc/self_review.md, qc/_pipeline_log.md. Do not hand-number
author affiliations — build and verify with scripts/build_title_page_affiliations.py --check title_page.md --strict (a Nature Portfolio / npj technical-check item).
7.6 — DOCX Build. Embed figures from analysis/figures/_figure_manifest.md, then render.
Prefer /manage-refs (pandoc + citeproc + journal CSL) for any submission with >5 references, and
never hand-type a References list.
7.6a — Cross-Reference QC. After the build, before the final gate:
python3 "${MEDSCI_SKILLS_ROOT:-$HOME/workspace/medsci-skills}/skills/manage-refs/scripts/check_xref.py" \
--md manuscript/manuscript.md --docx manuscript/manuscript_final.docx \
--out qc/xref_audit.json --strict
Catches in-text citations resolving to the wrong rendered caption — body prose and build
script each echo their own divergent SSOT, so no internal-consistency check sees it. Any
MISSING_DOCX/MISSING_BODY/MISMATCH → submission_safe: false, exit 1, HALT. The body
caption is the SSOT — fix the build pipeline, never the reverse.
7.7 — Final Gate. Autonomous: log completion; report word count, figure count, self-review score, reporting-compliance %, FATAL flags. Interactive: present summary, await confirmation.
| File | Read it when | Cost if read blindly |
|---|---|---|
references/phase7_polish_detail.md | you reach the build steps (7.5–7.6a), a HALT fires, or the manuscript has an AI-disclosure paragraph | ~7,300 tokens — a run that stops at a 7.3 blocker never builds a DOCX |
references/phase7_integrity_audits.md | running 7.3a / 7.3b / 7.3c | ~3,000 tokens |
references/section_guides/step7_4a_audit_recovery.md | 7.4 left a fatal finding | ~1,700 tokens; most runs never branch |
Triggered when the user requests "generate cover letter" or after /find-journal recommendation.
This is an optional post-pipeline step. Do NOT generate automatically — only when explicitly requested.
Required user inputs (MUST ask, never fabricate):
Cover letter structure:
Reviewer COI cross-check (mandatory for meta-analyses): Cross-check all suggested and excluded reviewers against the included-study author list and their co-authors. Same-institution authors of included studies constitute automatic COI and must be excluded from reviewer suggestions. 10. Closing: Corresponding author name and credentials.
Anti-overclaiming guard: Automatically flag and rewrite any of these words in cover letters: "first," "novel," "unprecedented," "groundbreaking," "paradigm-shifting," "revolutionary." Replace with specific factual statements about what the study contributes.
Word limit: 300-500 words. Cover letters exceeding 500 words should be trimmed.
When using this skill (or any LLM) for manuscript drafting, follow this 3-step process:
This principle applies at every phase: the outline (Phase 1) is the structure; the writer pass is the LLM draft; the critic-fixer loop is the critical evaluation. The user remains the final arbiter of scientific accuracy and narrative direction.
Each section goes through a critic-fixer loop. The critic scores 6 dimensions (0-20 each, total 0-120 scaled to 0-100).
| # | Dimension | What the critic checks |
|---|---|---|
| 1 | Accuracy | Every claim matches data/tables. No fabricated numbers. Effect directions correct. |
| 2 | Completeness | All required elements per reporting guideline present. No missing subsections. |
| 3 | Clarity | Each sentence parseable on first read. No ambiguous referents. Logical paragraph flow. |
| 4 | Conciseness | No filler phrases, redundant sentences, or unnecessary hedging. Within word budget. |
| 5 | Reporting | Specific guideline items (STARD/TRIPOD/CLAIM/etc.) addressed in this section. |
| 6 | Humanness | No AI writing patterns detected (see list below). Reads like an experienced physician wrote it. |
| 7 | Section Boundaries | Results only: No interpretation, no "why," no prior literature references, no evaluative adjectives without numbers. Discussion only: No new data not in Results, no overclaiming beyond evidence level. Flag any sentence that belongs in the other section. |
Note: Dimensions 1-6 are scored 0-20 each (total 0-120 scaled to 0-100). Dimension 7 is a pass/fail gate applied during Phase 4 (Results) and Phase 5 (Discussion): if any sentence violates section boundaries, the critic MUST flag it regardless of overall score. The fixer must move or rewrite the flagged sentence before the section can pass.
## Critic Report: {Section Name} -- Round {N}
Overall: {score}/100
Accuracy: {}/20 | Completeness: {}/20 | Clarity: {}/20
Conciseness: {}/20 | Reporting: {}/20 | Humanness: {}/20
### Issues (by priority)
1. [Dimension] Line/paragraph reference: {specific issue} -> {suggested fix}
2. ...
### Verdict: {PASS | REVISE}
The manuscript must NOT contain these patterns commonly flagged as AI-generated:
Forbidden phrases:
Forbidden structural patterns:
Preferred alternatives:
This skill orchestrates other skills at specific phases:
| Phase | Skill called | Purpose |
|---|---|---|
| 2 | /analyze-stats | Statistical analysis for tables |
| 2 | /make-figures --study-type | Figure generation with study-type auto-detection |
| 7.1 | (built-in) | AI pattern removal |
| 7.2 | /check-reporting | Reporting guideline compliance + auto-fix MISSING items |
| 7.3 | /verify-refs | Citation verification and reference artifact audit |
| 7.4 | /self-review --json | Self-review with auto-fix loop (max 2 iterations) |
| 7.4a | /meta-analysis Phase 10 (MA manuscripts) | Audit recovery branch — rebuild extraction/analysis/figures/body when self-review surfaces structural data or protocol issues |
| 7.5 | /humanize | AI-pattern density sweep (<2.0 / 1000 words) |
| 7.5a | /academic-aio (optional, off by default) | AI-search-engine and RAG visibility checklist — run after humanize so QC-confirmed claims and human-readable text anchor the PASS/PARTIAL/FAIL report. Opt-in via --aio or when preparing preprint / GitHub README / CITATION.cff / HF card alongside submission. Silent pipeline execution is explicitly prohibited by the skill's Communication Rules. |
| 7.6 | /manage-refs (pandoc citeproc / Zotero CWYW) | DOCX build from manuscript/manuscript.md + analysis/figures + analysis/tables. Bibliography rendering delegated to /manage-refs scripts/render_pandoc.sh since 2026-05-01. |
| 7.6a | /manage-refs scripts/check_xref.py --strict | Cross-reference QC: in-text Table/Figure citations ↔ body captions ↔ rendered DOCX captions (3-way matrix). Submission gate. |
| 8+ | /find-journal | Journal scope for cover letter (optional) |
If a called skill is not available, perform that step inline using the relevant section of this skill document as guidance.
When LLM disclosure is enabled (default), the skill generates transparency statements
compliant with ICMJE 2025 and COPE guidelines. The user can disable this with --no-llm-disclosure.
Major journals (Nature, Lancet, Radiology, JAMA) and the ICMJE (2025 update) require disclosure of AI writing assistance. Omitting disclosure risks rejection or retraction. The default-on design protects the user; they can opt out for journals with no such policy or when LLM assistance was minimal.
Insert at the end of the Methods section, after the ethics statement:
Template (adapt to specifics):
[AI-Assisted Writing Disclosure]
An artificial intelligence language model (Claude, Anthropic) was used to assist with
manuscript drafting, including structuring sections, refining prose, and verifying
internal consistency of reported statistics. All content was critically reviewed,
verified against source data, and approved by all authors. The AI tool was not involved
in study design, data collection, data analysis, or interpretation of results.
Customization rules:
/analyze-stats), state this explicitly: "was also used to generate statistical
analysis code, which was reviewed and validated by [statistician/author]."Template:
The authors acknowledge the use of [Claude/tool name] ([Anthropic/developer]) for
writing assistance in preparing this manuscript. The authors retain full responsibility
for the content.
Template:
In accordance with [Journal Name]'s policy on AI-assisted writing, we disclose that
[Claude/tool name] was used to assist with manuscript preparation, specifically
[list tasks: drafting, language editing, statistical code review]. All authors have
reviewed and take responsibility for the final content. The AI tool was not listed
as an author and did not contribute to study conception, design, or data interpretation.
When a journal profile is loaded in Phase 0, check for the ## AI Writing Disclosure Policy
section in the profile. Tier 1 profiles now include structured fields:
Use these fields to adjust disclosure language automatically. Key known policies:
If the loaded journal profile has no AI Writing Disclosure Policy section, fall back to ICMJE 2025 defaults (disclose in Methods + Acknowledgments, language editing scope).
/search-lit to find a real one.If the user returns to a partially completed manuscript:
/search-lit with confirmed DOI or PMID. Mark unverified references as [UNVERIFIED - NEEDS MANUAL CHECK].[VERIFY] and ask the user.Severity levels: ENFORCED = pipeline halts on failure (cannot proceed to next phase). ADVISORY = warning logged, user may override. OPT-IN = runs only when explicitly invoked.
| Phase | Gate | Severity | Trigger | Action on fail |
|---|---|---|---|---|
| 0 | Backbone-article auto-proposal (Phase 0 "Identify a backbone article" action) | ADVISORY | refs.bib has methodologically similar candidate | Surface to user; user accepts/declines |
| 7.0 | Citekey resolution (delegate /manage-refs scripts/check_citation_keys.py) | ENFORCED | UNDEFINED keys present | Halt; resolve via /lit-sync then re-run |
| 7.0 | NEW_PLACEHOLDER drain (delegate /manage-refs) | ENFORCED at 7.6 entry | [@NEW:topic] markers remain | Resolve each before DOCX render |
| 7.1 | Classical-style QC (manuscript-style-classical 11 items) | ENFORCED | § symbol > 0 OR AI Disclosure paragraph in body OR em-dash > 25 | Auto-fix or HALT for senior MA reviewer prep |
| 7.2 | Reporting guideline compliance (/check-reporting) | ENFORCED at submission | <100% mandatory items present | Auto-fix MISSING; ADVISORY for partial |
| 7.3 | Reference audit (/verify-refs --strict) | ENFORCED | FABRICATED or HIGH_MISMATCH_FIRST_AUTHOR > 0 | Halt; fix in Zotero, re-render refs.bib via /lit-sync |
| 7.4 | Self-review fix loop (/self-review --json --fix) | ENFORCED | score below threshold after 2 iterations | Route to Step 7.4a Audit Recovery |
| 7.4a | Audit Recovery branch (route to /meta-analysis Phase 10 for MA manuscripts) | ENFORCED in --e2e | self-review surfaced structural data issue | HALT with RECOVERY_HALT_HUMAN_DECISION if recovery validation fails twice |
| 7.5 | Humanize density (/humanize) | ADVISORY | AI patterns > 2.0 / 1000 words | Sweep + flag remaining; user reviews |
| 7.5a | AIO checklist (/academic-aio --aio) | OPT-IN | user supplies --aio flag | PASS/PARTIAL/FAIL report; never auto-applies |
| 7.6 | DOCX build (delegate /manage-refs scripts/render_pandoc.sh) | ENFORCED | render exits non-zero | Halt; report stderr to user |
| 7.6a | Cross-reference QC (delegate /manage-refs scripts/check_xref.py --strict) | ENFORCED — submission gate | MISSING_DOCX / MISSING_BODY / MISMATCH > 0 | Halt; route fixes per references/phase7_polish_detail.md |
| 7.7 | Final submission gate | ENFORCED | any of 7.0–7.6a above failed | Refuse to mark submission_safe: true |
| 8+ | Cover letter generation | OPT-IN | user invokes --cover-letter | Renders against journal profile |
Cross-cutting global rules applied during 7.x QC:
manuscript-style-classical.md (11 items, Phase 7.1 — ENFORCED)manuscript-references.md (hand-typed References list — ENFORCED via Phase 7.6 delegation)numerical-safety.md, data-integrity.md, citation-safety.md (Phase 7.3 + 7.6a — ENFORCED)senior-mentor-circulation.md (post-7.7, when round 1 begins — ADVISORY)ai-drafted-document-policy.md (Phase 0 if AI-draft attached — ENFORCED)npx claudepluginhub aperivue/medsci-skills --plugin medsci-presentation12-agent academic paper writing pipeline: draft, outline, revision, abstract, lit-review, citation check, format conversion (LaTeX/DOCX/PDF). Includes style calibration and writing quality checks.
Writes academic papers via 12-agent pipeline: 10 modes, 6 paper types, 5 citation formats. Outputs LaTeX, DOCX, PDF, Markdown. Includes style calibration, writing quality check, peer review simulation.
Writes scientific manuscripts in paragraphs via two-stage outline-to-prose process. Applies IMRAD, APA/AMA/Vancouver citations, figures/tables, and reporting guidelines. For drafting research papers.