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".
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.
Read four input files from the workspace and produce a single JSON object at
workspace/outline.json with three top-level keys:
plotting_plan — array of figure objectsintro_related_work_plan — object with introduction_strategy and related_work_strategysection_plan — array of section objects, each with section_title and subsections[]references/prompt.md. This is the exact
Outline Agent system prompt from the paper. Use it as your system message.../paper-orchestra/references/anti-leakage-prompt.mdworkspace/inputs/idea.mdworkspace/inputs/experimental_log.mdworkspace/inputs/template.texworkspace/inputs/conference_guidelines.mdreferences/outline-schema.md. Cross-check against
references/outline_schema.json (machine-readable).workspace/outline.json.python skills/outline-agent/scripts/validate_outline.py workspace/outline.json
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.These are excerpted from references/prompt.md. The validator enforces them.
plot_type MUST be exactly one of "plot" or "diagram".data_source MUST be exactly one of "idea.md", "experimental_log.md",
or "both".aspect_ratio MUST be exactly one of:
"1:1", "1:4", "2:3", "3:2", "3:4", "4:1", "4:3", "4:5",
"5:4", "9:16", "16:9", "21:9".figure_id MUST be a semantically meaningful snake_case identifier
(e.g., fig_framework_overview, fig_ablation_study_parameter_sensitivity).figure_id MUST NOT contain the word "Figure".methodology_cluster,
sota_investigation_mission, limitation_hypothesis,
limitation_search_queries, bridge_to_our_method.{cutoff_date}. Derive cutoff_date from
conference_guidelines.md (e.g., "ICLR 2025 → cutoff October 2024",
"CVPR 2025 → cutoff November 2024"). If unspecified, default to one month
before today's date.content_bullets entry must reference source
materials concretely. AVOID "Describe the model". REQUIRE "Formalize the
Temporal-Aware Attention mechanism using Eq. 3 from idea.md."idea.md or
experimental_log.md MUST have a citation hint, no matter how ubiquitous
(e.g., AdamW, ResNet, ImageNet, CLIP, Transformer, LLaMA, GPT, LLaVA)."Author (Exact Paper Title)""research paper or technical report introducing '[Exact Model/Dataset/Metric Name]'"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).
references/prompt.md — verbatim Outline Agent prompt from App. F.1references/outline-schema.md — prose explanation of the schemareferences/outline_schema.json — machine-readable JSON Schemareferences/example-output.json — example output from the paperreferences/allowed-values.md — enumerated allowed values for each enum fieldscripts/validate_outline.py — JSON Schema validator