paper-writing-skill
CLAUDE.md249 starsChanged 8 days agoMITView on GitHub
A Claude Code skill (invoked via /paper-writing) that encodes the writing methodology of the Systems and Networking Lab (SNL) at UC Santa Barbara. Part of a three-skill family (literature-survey, data-visualization, paper-writing) that compresses the operational middle of the research pipeline. It is not a traditional codebase — there is no build system, no tests, and no application code. The repo contains markdown files that Claude reads at runtime to enforce editorial rules, rhetorical move sequences, and a structured writing pipeline.
In this repositoryOne other file it gives its agents.
- paper-writingSkill
The file
We split this CLAUDE.md into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 65
Topic-sentence-first drafting: before writing full prose for any section, write all topic sentences and verify they form a coherent …
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
What This Repo Is
A Claude Code skill (invoked via /paper-writing) that encodes the writing methodology of the Systems and Networking Lab (SNL) at UC Santa Barbara. Part of a three-skill family (literature-survey, data-visualization, paper-writing) that compresses the operational middle of the research pipeline. It is not a traditional codebase — there is no build system, no tests, and no application code. The repo contains markdown files that Claude reads at runtime to enforce editorial rules, rhetorical move sequences, and a structured writing pipeline.
Installation
./setupThis copies skill files into ~/.claude/skills/paper-writing/. Always edit files in this repo, then re-run ./setup to propagate changes.
Architecture
SKILL.md is the main entry point Claude reads when /paper-writing is invoked. It defines:
- The three-layer model: fixed pipeline → customizable voice/editorial rules → per-paper project context
- The five-stage writing pipeline: Brainstorming → Architecture → Section Drafts → Integration → Compression
- The mandatory style audit gate (runs on every tex edit)
- Section checklist and rhetorical move dispatch tables
author_profile/ contains the editorial rules (source of truth for all style enforcement). The style layer is organized into three files by mechanism — one mechanical gate, one semantic gate, one positive craft reference:
editorial_principles.md— 14 cross-paper principles with evidence from forensic revision analysiscraft_reference.md— how to write (the positive layer): sentence-level style (~21-word mean, claim-first, active voice, named-over-vague) and three registers (base/terse, conceptual/position, warm/narrative)gate_mechanical.md— the single greppable style gate (M1–M18): em-dashes, antithesis, intensifiers, banned/pompous/fancy words, passive voice, wordiness, term-drift — one grep scriptgate_semantic.md— the single reader-judgment gate (S1–S31): define-before-use, followability, coherence/consistency, rigor/grounding, honest positioning, figures, closure gatecompression_patterns.md— 7 compression operations with before/after examplesrhetorical_moves.md— cross-section move sequencesintervention_types.md— 7 advisor intervention types for draft review
writing_checklists/ contains post-draft structural checklists (intro, evaluation, design, related work). These run automatically after every section draft.
section_rhetorical_moves/ contains detailed per-section move sequences with concrete examples from accepted/rejected papers.
brainstorming_guide.md defines the 34-question, 6-phase brainstorming workflow that produces a project_context.md.
story_mode.md defines the ten-step workflow (with a short path) that turns an existing record (notes, drafts, code, related work) into a paper story, an outline and a calibration spec.
USAGE.md is the student-facing guide: first session, which mode for which situation, outputs, iteration, other skills, customizing, privacy.
This repository is public. Every example must be synthetic. A group's real cases, project records and internal notes belong in a private overlay skill (an installed skill whose name ends in paper-writing-lab), never here.
figure_synthesis_guide.md defines the 3-mode workflow (spec → generate → critique) for non-data figures — architecture diagrams, pipeline illustrations, concept diagrams, comparison schematics. Uses a hybrid approach: AI image generation prompts (Gemini/DALL-E) for visually rich figures, TikZ for precise structural figures.
figure_templates/ contains supporting files for figure synthesis:
venue_styles.md— column widths, fonts, color palette, and styling blocks for NSDI/SIGCOMM/IMCprompt_templates.md— AI image generation prompt skeletons per archetype (architecture overview, concept illustration, comparison schematic, deployment diagram)tikz_skeletons.md— TikZ starter templates per archetype (pipeline flow, component detail, taxonomy)figure_spec_template.md— per-figure spec template (filled during spec mode, consumed during generate mode)
examples/ contains the project_context.md template and a fully synthetic completed example (example_project_context.md).
Key Design Decisions
- Introduction-twice is the most impactful principle. The introduction is written twice: Draft 0 (framing scaffold) before the evaluation, then the final introduction rewritten from scratch after the evaluation. Section drafts follow: Draft 0 Introduction → Evaluation → Design → Background → Related Work → Final Introduction → Abstract.
project_context.mdis generated per-paper in the user's working directory (not in this repo). It should be gitignored.- The
setupscript copies a specific subset of files (SKILL.md, brainstorming_guide.md, story_mode.md, figure_synthesis_guide.md, red_team_protocol.md, loop_mode.md, author_profile/, writing_checklists/, section_rhetorical_moves/, figure_templates/, examples/) — it intentionally excludes README.md and setup itself. - Voice rules ship as defaults from the SNL lab. Students customize by editing
author_profile/files after installation. - Signposting through claims: section preambles are encouraged when they state the section's conclusion, but banned when content-free ("In this section, we describe...").
- Topic-sentence-first drafting: before writing full prose for any section, write all topic sentences and verify they form a coherent argument. This intermediate scaffolding step sits between Architecture (section outline) and full drafting.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

