# Write Survey

> Use when writing the project survey from the digested SOTA or updating it after the SOTA changed — grouping design, gaps and research directions, and coverage maintenance.

- Skill: `vincenzoimp/write-survey` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add vincenzoimp/write-survey`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vincenzoimp/write-survey/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- License: MIT
- Author: VincenzoImp (https://skillmd.com/u/vincenzoimp)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/vincenzoimp/write-survey

---


# Write Survey

Produce or maintain `survey/survey.tex`: the single, complete, detailed
reading reference for the whole SOTA. After reading the survey, nobody
should need to reopen syntheses or PDFs for the large majority of questions.

## Read First

- `survey/README.md` — the survey contract
- `sota/index.md` — what the SOTA currently contains
- `survey/coverage.md` — what the survey currently integrates
- `references/survey-content.md` — content checklist and style

The survey renders citations **author-year** (biblatex `style=authoryear`, per
`survey/README.md`) — a discursive review reads better than numbered `[1]`.

## Mode Selection

- `survey/coverage.md` lists no citekeys → **create mode**.
- Otherwise → **update mode**. The user can force a full rewrite, which is
  create mode.

## Create Mode

1. **Hard gate: read every synthesis.** List all `digested` citekeys from
   `sota/index.md`, read every `sota/papers/<citekey>/synthesis.md`, and
   confirm the count matches before writing a single word of survey prose.
2. Design the grouping from what was read: themes, concepts, methodologies
   — whatever organization fits this SOTA best. Write the outline as LaTeX
   section comments first.
3. Write section by section: per group, discuss each paper's contributions
   and notable aspects in depth, compare approaches, name tensions and
   contradictions. Respect each synthesis's "Safe claims / do-not-claim"
   section. Cite with `\cite{<citekey>}` only; every key resolves in the
   root `references.bib`.
4. Write the mandatory final content section, **Gaps and Research
   Directions**, grounded in the full picture per
   `references/survey-content.md`.
5. Fill `survey/coverage.md` with every integrated citekey.
6. Build (`make survey`) and validate (`make check`). Fix all errors.

## Update Mode

1. Diff: `to_add` = digested keys in `sota/index.md` missing from
   `coverage.md`; `to_remove` = covered keys now `excluded` or gone.
2. Read the syntheses of `to_add` and the survey sections they belong to.
3. Integrate additions into the right groups — extend or restructure a
   group when the new papers change its internal logic; never just append.
4. Excise removals: delete their discussion, repair comparisons and
   transitions that referenced them, re-check the gaps section.
5. Update `coverage.md`, rebuild, run `make check`.

## Rules

- Every statement about a paper is supported by its synthesis (or its PDF
  when more depth is needed) — never by model memory.
- The survey is self-contained: detailed enough to replace re-reading the
  SOTA for most purposes. No length limit; completeness wins.
- Never edit `references.bib` from this skill: a missing entry means the
  SOTA work is incomplete — stop and report.

## Done When

- `coverage.md` equals the set of digested citekeys (or the user-approved
  subset), `survey.pdf` is rebuilt, `make check` passes

