| name | paper-writing |
| description | Use this skill whenever the user asks you to write, expand, revise, or edit any part of a manuscript, grant proposal, fellowship application, or research statement. Defines the SNAP group's academic writing style (concise, claim-first, no padding) and the mechanics of iterating on Overleaf projects via local git sync and in-place bracketed instructions. Trigger on: "paper", "manuscript", "grant", "proposal", "fellowship", "abstract", "intro", "methods", "discussion", "reviewer response". |
Paper & Grant Writing
This skill has two parts: how to write (voice, sentence-level rules, structural principles) and how to iterate (Overleaf git sync, bracketed instructions, section-by-section workflow).
The writing style section is the primary contribution of this skill. Follow it strictly — it is not a suggestion.
Part 1: Writing Style
You produce running text for scientific manuscripts and grant proposals. You do not plan, discuss, or ask questions. You write.
Voice
Write like a confident PI who respects the reviewer's time. Short sentences. No hedging, no padding, no throat-clearing. Every sentence advances the argument; if it restates what the previous sentence said, delete it.
Model: Ernst Strüngmann Forum reports, HHMI investigator proposals, ERC synopses. Not: review articles, textbook introductions.
Sentence-level rules
- One claim per sentence. If a sentence has two claims joined by "and" or a semicolon, split or pick the stronger one.
- No empty intensifiers. Delete: unprecedented, immense, remarkable, significant, crucial, key, critical, novel, innovative, important, unique, comprehensive, robust. If the fact is strong, the adjective is unnecessary.
- No throat-clearing openers. Delete: "It is worth noting that", "The consequences are visible", "This is because", "It should be emphasized that". Start with the subject.
- No restating. If sentence N says "X", sentence N+1 must not rephrase X. Move forward.
- Concrete > abstract. "AUC 0.62" beats "poor performance". "~40% lack some assays" beats "heterogeneous measurement availability".
- Active voice, named subjects. "CellWhisperer aligns transcriptomic embeddings with language representations" — not "A novel alignment of transcriptomic embeddings with language representations is achieved."
- Cut relative clauses that restate the obvious. "scRNA-seq, which measures gene expression at single-cell resolution" — the reader knows. Delete the clause.
- Prefer periods over nested subordinate clauses. If a sentence has 3+ commas, it probably needs splitting.
- No em-dashes (—). Use periods or commas.
- No "tell-then-show" sentences. Do not announce a claim and illustrate it with a colon (e.g. "X is powerful: it can do Y"). Integrate the evidence directly.
Structural principles
- Problem before solution. Establish what the reader needs before presenting the answer.
- Requirements before landscape. Define what the task needs, then map existing work against those requirements. Never open with "Recent advances in X..."
- Question before data. In results sections, state the question, then describe data and methods.
- Capability before construction. State what a tool enables before describing how it works.
- Goal ≠ deliverable. The goal is a scientific question. The deliverable is a format (atlas, tool, dataset). Do not conflate them.
- Show, don't label. Never write "the critical innovation is X." Describe the difficulty; let the reader conclude.
- Prior work = components of one trajectory. Multiple contributions are parts of one research arc, not a list of achievements.
- Evidence, not critique. Frame gaps as opportunities, not failures of others.
Anti-patterns (with corrections)
BAD: "Clinical cohorts are the backbone of efforts to improve therapy and diagnostics, and they are now routinely coupled with deep molecular phenotyping, including single-cell transcriptomics, spatial assays, and epigenomic profiling, that captures per-patient disease mechanisms at unprecedented resolution."
GOOD: "Clinical cohorts now routinely include single-cell transcriptomics, spatial assays, and epigenomic profiling per patient."
BAD: "Yet as medicine moves toward precision frameworks that acknowledge immense inter-patient heterogeneity, population-level averaging smooths over the very mechanisms it seeks to uncover."
GOOD: "Population-level averaging discards patient-specific mechanisms, precisely the information precision medicine requires."
BAD: "The dimensionality of modern molecular data compounds the problem, as a single patient's scRNA-seq profile spans ~20,000 genes across tens of thousands of cells."
GOOD: "A single patient's scRNA-seq spans ~20,000 genes across tens of thousands of cells, far exceeding what group-comparison frameworks were designed for."
Do not
- Plan, strategize, or discuss. Only write.
- Add meta-commentary ("In this section we will...").
- Use filler ("It is important to note", "Interestingly", "Notably").
- Praise then critique ("X has made impressive strides... however").
- Start paragraphs with "Furthermore", "Moreover", "Additionally".
- Label contributions as novel/innovative/critical.
Handling user instructions
- When the user provides a point to implement, interpret its semantics, not its literal wording. Think about the best way to realize the intent within the surrounding context.
- Phrasing in single quotes (
'like this') → stay close to the wording but enhance and contextualize it.
- Phrasing in double quotes (
"like this") → copy the wording verbatim.
- Instructions in
<> or [] brackets embedded in the document → process them one by one (see Part 2).
Formatting
- LaTeX / Overleaf: use standard LaTeX (
\section, \subsection, \cite{key}).
- Org-mode: headings with asterisks (
*, **, ***), citations as [cite:@key].
- Markdown:
#, ##, ###; citations as [@key] (Pandoc style).
- No bullet points in output prose unless the user explicitly asks for them. Grant body text, abstracts, and manuscript sections are always running prose.
Domain expertise
Biology, bioinformatics, AI agents, multimodal AI, single-cell genomics, spatial transcriptomics, computational oncology, clinical cohort analysis, CAR T cell therapy.
Part 2: Iteration Workflow (Overleaf via local git sync)
Writing rules are only useful if you can apply them. This section covers the mechanics.
Why local editing?
Overleaf's web editor works for solo drafting, but it has no agent access, limited diff/merge, and makes find-and-replace across a long document painful. Cloning the Overleaf project as a git remote lets you edit locally with your agent, commit, and push — the web UI updates within seconds.
Setup (one-time, user-side)
- Enable git sync in Overleaf: Menu → Sync → Git. Copy the git URL (
https://git.overleaf.com/<project-id>).
- Create an Overleaf auth token: https://www.overleaf.com/user/settings → "Git Integration" → "Authentication tokens".
- Clone locally:
cd ~/Projects/<ProjectName>/
git clone https://git.overleaf.com/<project-id> overleaf
Username: Overleaf email. Password: the token from step 2.
- Persist credentials (optional):
git config --global credential.helper store
If the user hits authentication errors, fall back and ask them to complete setup. Do not try to bypass Overleaf auth.
Core workflow: section-by-section iteration
- Ask which section to work on, then read it in full before editing.
- Make one focused change. Preserve the author's voice. Apply the sentence-level rules above ruthlessly.
- Show the diff (
git diff) before committing. Do not commit silently.
- Commit with a descriptive message:
git add -p
git commit -m "Tighten intro: cut padding, sharpen problem statement"
- Push when the user approves:
git push
- Overleaf's web UI updates within a few seconds.
In-place bracketed instructions (the most useful pattern)
The user leaves instructions directly in the document inside <...> brackets. You process them one by one.
Example in .tex:
Recent foundation models have transformed computational biology.
<search for 2-3 ground-breaking publications from the last 2 years;
google/deepmind published some major results in this area>
These models now scale to billion-parameter regimes.
User invocation:
"Identify instructions in <> brackets in intro.tex and process them one by one."
Behavior:
- Grep for
<.*> in the specified file(s).
- For each bracket: report the bracket content + surrounding context, execute the instruction (literature search, expansion, citation insertion, etc.), and replace the bracket with prose that follows the writing rules in Part 1.
- Show the full
git diff at the end.
- Do not commit automatically. Wait for user review.
Be conservative with ambiguous brackets (<TODO>, <cite>, <ref>, XML-like tags). If in doubt, ask before touching.
Responding to reviewer comments
- Store reviewer comments in a separate file (
reviews/round1.md) or as LaTeX comments in-place (% R2: ...).
- For each comment: decide action (accept / partially accept / reject with justification), update the manuscript, and write a point-by-point response in a separate file (
reviews/response_to_reviewers.tex).
- Keep the response text in the same tight voice as the manuscript itself.
Citations
- Check for the
.bib file (references.bib, main.bib — ask if unsure).
- Before inserting
\cite{key}, verify the BibTeX entry exists. If not, look up the paper and add a properly formatted entry.
- Prefer the
citation-management skill if available for metadata lookup.
Local compilation (optional)
For fast iteration without pushing to Overleaf every time:
tectonic main.tex
latexmk -pdf main.tex
Use Overleaf for final rendering; local is for checking that edits don't break the build.
What to do if the skill fails
| Symptom | Likely cause | Fix |
|---|
git push rejected with merge conflict | Someone pushed concurrently (or Overleaf web edits) | git pull --rebase, resolve, push again |
git clone asks for credentials repeatedly | Credential helper not set | git config --global credential.helper store |
| Overleaf doesn't reflect your push | Sync lag (<10s), or you pushed the wrong branch | Check Overleaf "History" panel; Overleaf syncs master only |
tectonic errors but Overleaf web compiles fine | Local TeX distribution missing packages | Use Overleaf for final compilation |
| Brackets got eaten that shouldn't have | Ambiguous <...> (e.g. <TODO>, <cite>) | Preview diffs; prefer <<agent: ...>> for distinctive markers |
What this skill does NOT cover
- Creating a new Overleaf project — use the Overleaf web UI.
- Journal-specific templates — see the
venue-templates skill if available.
- Figure generation — see the
plotting or scientific-visualization skills.
- Non-LaTeX writing (Word, Google Docs) — this skill is Overleaf/LaTeX/markdown-prose specific.
- Brainstorming or planning the paper — this skill writes. For ideation, use
scientific-brainstorming or hypothesis-generation.