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:
plotting_plan— array of figure objectsintro_related_work_plan— object withintroduction_strategyandrelated_work_strategysection_plan— array of section objects, each withsection_titleandsubsections[]
How to do it
- Read the verbatim prompt at
references/prompt.md. This is the exact
Outline Agent system prompt from the paper. Use it as your system message.
- 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
references/outline-schema.md. Cross-check against references/outline_schema.json (machine-readable).
- Save to
workspace/outline.json. - Validate:
``bash 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.
Hard rules from the prompt (do not violate)
These are excerpted from references/prompt.md. The validator enforces them.
Plotting plan (Directive 1)
plot_typeMUST be exactly one of"plot"or"diagram".data_sourceMUST be exactly one of"idea.md","experimental_log.md",
or "both".
aspect_ratioMUST 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_idMUST be a semantically meaningful snake_case identifier
(e.g., fig_framework_overview, fig_ablation_study_parameter_sensitivity).
figure_idMUST NOT contain the word"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 {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.
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
content_bulletsentry must reference source
materials concretely. AVOID "Describe the model". REQUIRE "Formalize the Temporal-Aware Attention mechanism using Eq. 3 from idea.md."
- Mandatory citations: every dataset, optimizer, metric, and
foundational architecture/model mentioned in 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).
- 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.
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
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