PaperOrchestra outline-agent
Step 1 of the PaperOrchestra pipeline (arXiv:2604.05018). Convert (idea.md, experimental_log.md, template.tex, conference_guidelines.md) into a strict JSON outline containing a plotting plan, literature search plan (Intro + Related Work), and section-level writing plan with citation hints. TRIGGER when the orchestrator delegates Step 1 or when the user asks to "outline a paper from raw materials" or "generate the paper structure".
install
source · Clone the upstream repo
git clone https://github.com/Ar9av/PaperOrchestra
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Ar9av/PaperOrchestra "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/outline-agent" ~/.claude/skills/ar9av-paperorchestra-outline-agent && rm -rf "$T"
manifest:
skills/outline-agent/SKILL.mdsource content
Outline Agent (Step 1)
Faithful implementation of the Outline Agent from PaperOrchestra (Song et al., 2026, arXiv:2604.05018, App. F.1, pp. 40–44).
Cost: 1 LLM call.
Your task
Read four input files from the workspace and produce a single JSON object at
workspace/outline.json with three top-level keys:
— array of figure objectsplotting_plan
— object withintro_related_work_plan
andintroduction_strategyrelated_work_strategy
— array of section objects, each withsection_plan
andsection_titlesubsections[]
How to do it
- Read the verbatim prompt at
. This is the exact Outline Agent system prompt from the paper. Use it as your system message.references/prompt.md - Prepend the Anti-Leakage Prompt from
.../paper-orchestra/references/anti-leakage-prompt.md - Read the four input files:
workspace/inputs/idea.mdworkspace/inputs/experimental_log.mdworkspace/inputs/template.texworkspace/inputs/conference_guidelines.md
- Synthesize across all four — the global instruction in the prompt is "Do not analyze inputs in isolation. You must synthesize information across all provided documents for every step."
- Emit a single JSON object following the schema in
. Cross-check againstreferences/outline-schema.md
(machine-readable).references/outline_schema.json - Save to
.workspace/outline.json - Validate:
If validation fails, fix the JSON and re-validate. Do not proceed to Step 2 or Step 3 with an invalid outline — every downstream agent depends on this schema.python skills/outline-agent/scripts/validate_outline.py workspace/outline.json
Hard rules from the prompt (do not violate)
These are excerpted from
references/prompt.md. The validator enforces them.
Plotting plan (Directive 1)
MUST be exactly one ofplot_type
or"plot"
."diagram"
MUST be exactly one ofdata_source
,"idea.md"
, or"experimental_log.md"
."both"
MUST be exactly one of:aspect_ratio
,"1:1"
,"1:4"
,"2:3"
,"3:2"
,"3:4"
,"4:1"
,"4:3"
,"4:5"
,"5:4"
,"9:16"
,"16:9"
."21:9"
MUST be a semantically meaningful snake_case identifier (e.g.,figure_id
,fig_framework_overview
).fig_ablation_study_parameter_sensitivity
MUST NOT contain the wordfigure_id
."Figure"
Intro / Related Work strategy (Directive 2)
- Strictly separate Introduction (macro-level context, 10-20 papers, foundational + survey + impact) from Related Work (micro-level technical baselines, 30-50 papers, divided into 2-4 methodology clusters that directly compete with or precede the proposed approach).
- For each Related Work cluster: provide
,methodology_cluster
,sota_investigation_mission
,limitation_hypothesis
,limitation_search_queries
.bridge_to_our_method - CRITICAL TIMELINE RULE: Do not instruct searches for any papers
published after
. Derive{cutoff_date}
fromcutoff_date
(e.g., "ICLR 2025 → cutoff October 2024", "CVPR 2025 → cutoff November 2024"). If unspecified, default to one month before today's date.conference_guidelines.md
Section plan (Directive 3)
- Structural hierarchy: if Subsection X.1 is created, X.2 is mandatory. No orphaned subsections. Omit subsections entirely if a section does not require division.
- Content specificity: each
entry must reference source materials concretely. AVOID "Describe the model". REQUIRE "Formalize the Temporal-Aware Attention mechanism using Eq. 3 from idea.md."content_bullets - Mandatory citations: every dataset, optimizer, metric, and
foundational architecture/model mentioned in
oridea.md
MUST have a citation hint, no matter how ubiquitous (e.g., AdamW, ResNet, ImageNet, CLIP, Transformer, LLaMA, GPT, LLaVA).experimental_log.md - Citation hint format:
- If you know the exact author and title:
"Author (Exact Paper Title)" - Otherwise:
"research paper or technical report introducing '[Exact Model/Dataset/Metric Name]'" - Do NOT guess or hallucinate authors.
- If you know the exact author and title:
Output
Exactly one file:
workspace/outline.json. No prose, no code blocks, no
markdown. The Section Writing Agent and Literature Review Agent will parse
this JSON directly.
See
references/example-output.json for a complete worked example from the
paper (App. F.1, pp. 43–44).
Resources
— verbatim Outline Agent prompt from App. F.1references/prompt.md
— prose explanation of the schemareferences/outline-schema.md
— machine-readable JSON Schemareferences/outline_schema.json
— example output from the paperreferences/example-output.json
— enumerated allowed values for each enum fieldreferences/allowed-values.md
— JSON Schema validatorscripts/validate_outline.py