Automates the academic paper writing process based on accumulated research findings.

Install

mkdir -p .claude/skills/write && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13065" && unzip -o skill.zip -d .claude/skills/write && rm skill.zip

Installs to .claude/skills/write

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Autonomously execute paper writing cycles. Specify the cycle limit as an argument (e.g., /write 3). Default: 5.
111 charsno explicit “when” trigger
Advanced

Key capabilities

  • Draft research findings into academic paper form
  • Promote meeting-authorized material into the manuscript
  • Record research gaps in agenda.md
  • Generate paper outline from narrative structure and research tree
  • Draft specified sections of the paper
  • Verify logical consistency of sections

How it works

The skill executes writing cycles, drafting sections, reviewing them, and integrating them into a paper, while managing research gaps and manuscript promotion.

Inputs & outputs

You give it
Research findings from logs and agenda files, optionally with a cycle limit
You get back
Draft paper sections, updated agenda.md, and a session log with status and achievements

When to use write

  • Write research draft
  • Organize paper sections
  • Document research findings

About this skill

Paper Writing PI

Draft research findings as an academic paper. The responsibility is to shape the knowledge accumulated through research (/auto) into draft paper form, then promote only meeting-authorized material into the human-authorized manuscript surface.

Constraints

  • Write PI-authored prose in japanese. Scope: session records (.logs/{timestamp}_write.md, .logs/last_write_session.md), agenda.md, and the final report. Paper-draft artifacts live under draft/** and use the paper's publication language. Use an explicit project declaration if one exists; otherwise infer it from existing manuscript/**, then draft/outline.md, then existing draft sections, and keep all paper surfaces consistent. If the evidence conflicts, record the inconsistency instead of letting the latest worker output set the language by accident. manuscript/** is also written in the paper's publication language, but only from meeting authorization snapshots. Reason: japanese is for internal project communication; the paper is an external artifact with its own audience. Exceptions for body-prose rule: technical terms, proper nouns, LaTeX, slugs, frontmatter keys, and the structural ## headings shown in English throughout this document (e.g., ## Accomplished, ## Section Status, ## Issues) may stay English. Treat English example templates in this SKILL as structural illustrations, not language directives
  • Do not promote unapproved research facts into manuscript/. research/**/note.md is draft fact material. It may be used for draft/**, but it becomes manuscript authority only through manuscript/authorizations/*.md snapshots created by /meeting. This preserves the human approval boundary even when /write runs autonomously
  • request_user_input is prohibited. Users are often away, and asking questions interrupts the session and wastes time. Text output is limited to the final report only. Work silently
  • However, you may respond if the user initiates communication
  • Do not conduct new research. If a research gap is discovered during writing, record it in agenda.md and leave it to /auto. Do not launch researcher or scout yourself
  • exec_command("sleep ...") is prohibited. Polling is prohibited. For waiting on agent completion, use only Pattern A / B

Arguments

/write {N} — Set the cycle limit to N (default: 5). Hereafter referred to as MAX_CYCLES.

Terminology

TermDefinition
SessionAn entire /write execution
CycleOne iteration of judgment → task execution → result collection
TaskA single agent invocation

Directory Structure

research/                 # Read-only — research tree
  note.md                 #   Root: thesis, background
  story.md                #   Paper narrative structure
  principles.md           #   Constraints
  conventions.md          #   Project-wide notation and convention ledger
  {branch}/note.md        #   Draft fact layer — what the node established, with derivation/scope/limits
  {branch}/conventions.md #   Subtree-local notation / convention ledger when needed
  {branch}/state.md         #   Research process (ladder — kind/status in frontmatter)
  {branch}/report_*.md    #   Clean self-contained analyses
concepts/                 # Read-only — concept definitions
agenda.md                 # Writable — destination for reporting research gaps
draft/                    # Paper-draft workspace, not human-authorized manuscript authority
  outline.md              # Paper outline (generated by outliner)
  conventions.md          # Terminology and notation conventions
  sections/{N}_{slug}.md  # Per-section drafts (generated by writer)
  versions/v{N}.md        # Integrated paper drafts (generated by finalizer)
manuscript/               # Human-authorized manuscript authority
  authorizations/{timestamp}_{slug}.md # Meeting snapshots of approved note.md artifacts
  outline.md              # Authorized outline, if promoted
  sections/{N}_{slug}.md  # Authorized manuscript sections, if promoted
  versions/v{N}.md        # Authorized integrated manuscript versions, if promoted
.logs/
  {timestamp}_review_{slug}.md   # reviewer output
  {timestamp}_audit.md           # reference-auditor output
  {timestamp}_write.md     # Permanent session record
  last_write_session.md    # Session handoff (overwrite each session)

spawn_agent dispatches Used

AgentRole
outlinerDesign the overall paper structure from the narrative structure and research tree
writerDraft a specified section as an academic paper
reviewerVerify the logical consistency of a section
finalizerIntegrate all sections and produce the final version
reference-auditorVerify the mechanical accuracy of references and citations

Session Start

  1. Capture session timestamp: exec_command("date '+%Y-%m-%dT%H:%M'"). At session end, obtain the log path via bash .scripts/log-path.sh write and use the captured start timestamp in the log heading
  2. Read .logs/last_write_session.md (if it exists)
  3. Read research/note.md (thesis, background) + research/story.md (narrative structure) + research/principles.md + research/conventions.md (if exists)
  4. Navigate the tree: ls research/ → read children's note.md (draft facts) + conventions.md (if exists) for established knowledge and notation, and state.md frontmatter for kind/status
  5. Browse concepts/ for relevant concept definitions as needed
  6. Read draft/outline.md (if it exists)
  7. Check existing section drafts (Glob draft/sections/*.md)
  8. Check manuscript/authorizations/*.md (if any) to determine what content is approved for manuscript promotion

Writing readiness check:

  • Navigate the tree and check the status of core nodes. If too many are open/active, writing will require major rewrites later. In that case, write "Writing deferred due to insufficient research. The following nodes need resolution first: ..." in agenda.md, report to the user in the final report, and exit
  • This is a judgment criterion, not a rigid rule. If the policy is to write active items honestly as gaps, proceed with writing

Narrative authority check: research/story.md is a paper-narrative surface owned by /launch, /meeting, and /write, not by /auto. During /write, update it only when drafting exposes a better manuscript order, storyline, or section positioning that should persist beyond the draft outline. Do not use story.md to record facts, research state, worker tasks, or child-routing conditions; those belong in findings.md, state.md, plan.md, or map.md.

Authorization check:

  • If no manuscript/authorizations/*.md exists, work only in draft/**. Do not create or update manuscript/ prose from unapproved note.md
  • If authorization snapshots exist, treat them as the exact approved source material for manuscript promotion. Read their scope, exclusions, and copied artifact body. Do not silently substitute a newer research/**/note.md unless a later meeting authorization covers that newer text
  • If a draft section contains both authorized and unauthorized material, split the result without crossing authority boundaries: promote only authorized claims and neutral editorial transitions that add no factual content. Leave unapproved claims, framing, bridges, or scope expansions in draft/**, or report the missing approval

Cycles (Repeat up to MAX_CYCLES times)

1. Writing Judgment

Decide the next action based on the current state:

Phase flow:

  1. Draft outline not yet created → Launch outliner for draft/outline.md
  2. Unwritten draft sections exist → Launch writer for draft/sections/ (multiple sections in parallel)
  3. Unreviewed draft sections exist → Launch reviewer (multiple in parallel)
  4. Draft sections with review FAIL → Fix with writer → re-review
  5. All draft sections PASS → Launch finalizer for draft/versions/
  6. Draft integrated version complete → Launch reference-auditor
  7. Audit complete → Final fixes with finalizer
  8. Meeting authorizations match a ready draft unit → Promote that authorized content into manuscript/**, preserving scope and exclusions from the authorization snapshots. Do not wait for unrelated sections to finish

Phases are guidelines; judge flexibly. If a review reveals insufficient content, record the research gap in agenda.md, put that section on hold, and proceed with others.

Manuscript Promotion Rule

manuscript/ is not a more polished draft folder. It is the human-authorized paper surface. Promotion means rewriting the authorized snapshot content into paper prose while preserving its mathematical scope, caveats, and source/project boundaries.

Before writing any manuscript/** file:

  1. Identify the exact manuscript/authorizations/*.md snapshot(s) that authorize the content
  2. Check whether the target manuscript section already exists; if it conflicts with the authorization, flag the conflict in the final report rather than silently reconciling it
  3. Write only the authorized content, with citations and narrative integration as needed
  4. Add a short provenance note in the write session log listing the authorization snapshot paths used for each manuscript file

Promotion may occur whenever a relevant draft unit is ready and matching authorization exists; it is not blocked by unrelated unfinished sections. If manuscript promotion would require unapproved bridging claims, new research, or scope expansion beyond the snapshot, do not promote that part. Record the missing approval or missing research in agenda.md and report it.

2. Task Execution

Maximize parallelization. Always launch independent tasks together.

Launch method: Use the same Pattern A / Pattern B as /auto.

Prompt template:

Each agent is defined in .codex/agents/{agent}.md.

Codex does n


Content truncated.

When not to use it

  • When conducting new research
  • When promoting unapproved research facts into manuscript/
  • When requiring user interaction via request_user_input

Limitations

  • Do not promote unapproved research facts into manuscript/
  • request_user_input is prohibited
  • Do not conduct new research

How it compares

This workflow autonomously executes paper writing cycles and manages manuscript promotion based on authorization snapshots, unlike manual drafting.

Compared to similar skills

write side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
write (this skill)03moReviewAdvanced
scientific-writing942moReviewIntermediate
content-research-writer1510moNo flagsBeginner
research-grants67moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

scientific-writing

K-Dense-AI

Write scientific manuscripts. IMRAD structure, citations (APA/AMA/Vancouver), figures/tables, reporting guidelines (CONSORT/STROBE/PRISMA), abstracts, for research papers and journal submissions.

94309

content-research-writer

ComposioHQ

Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.

15111

research-grants

davila7

Write competitive research proposals for NSF, NIH, DOE, and DARPA. Agency-specific formatting, review criteria, budget preparation, broader impacts, significance statements, innovation narratives, and compliance with submission requirements.

694

clinical-decision-support

K-Dense-AI

Generate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.

48

nsfc-research-foundation-writer

huangwb8

为 NSFC 正文"(三)研究基础"写作/重构,并同步编排"工作条件"和"研究风险应对",用证据链证明项目可行、资源条件对位研究内容、风险预案可执行。适用于用户要写/改"研究基础、前期工作、可行性分析、工作条件、平台团队、风险应对"等场景。

18

arcanea-scene-craft

frankxai

Master scene construction - the building blocks of story. Openings that hook, middles that build, endings that propel. Turn every scene into a compelling unit of narrative.

00

Search skills

Search the agent skills registry