Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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".
.claude/skills/majiayu000-outline-agent/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-20 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 30% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 5% | 0% |
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 exactOutline Agent system prompt from the paper. Use it as your system message.
../paper-orchestra/references/anti-leakage-prompt.md.
workspace/inputs/idea.mdworkspace/inputs/experimental_log.mdworkspace/inputs/template.texworkspace/inputs/conference_guidelines.md"Do not analyze inputs in isolation. You must synthesize information across all provided documents for every step."
references/outline-schema.md. Cross-check against references/outline_schema.json (machine-readable).
workspace/outline.json.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.
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".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).
methodology_cluster,sota_investigation_mission, limitation_hypothesis, limitation_search_queries, bridge_to_our_method.
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.
No orphaned subsections. Omit subsections entirely if a section does not require division.
content_bullets entry must reference sourcematerials concretely. AVOID "Describe the model". REQUIRE "Formalize the Temporal-Aware Attention mechanism using Eq. 3 from idea.md."
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).
"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| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-20 | fail→pass | 10,161 | 8,046 | -21% | 1 | 1 | 0% | 1,785 | 2,404 | +35% | 0 | 0 | — |
case-05 | fail→pass | 16,565 | 2,965 | -82% | 1 | 1 | 0% | 2,022 | 1,990 | -2% | 0 | 0 | — |
case-01 | fail→fail | 5,322 | 12,657 | +138% | 1 | 1 | 0% | 310 | 1,809 | +484% | 0 | 0 | — |
case-02 | fail→fail | 9,197 | 4,360 | -53% | 1 | 1 | 0% | 232 | 1,695 | +631% | 0 | 0 | — |
case-03 | fail→fail | 4,626 | 5,136 | +11% | 1 | 1 | 0% | 250 | 1,832 | +633% | 0 | 0 | — |
case-04 | fail→pass | 15,672 | 5,356 | -66% | 1 | 1 | 0% | 1,975 | 2,559 | +30% | 0 | 0 | — |
case-06 | fail→pass | 11,396 | 8,341 | -27% | 1 | 1 | 0% | 2,237 | 2,088 | -7% | 0 | 0 | — |
case-07 | pass→pass | 9,341 | 9,491 | +2% | 1 | 1 | 0% | 1,707 | 2,205 | +29% | 0 | 0 | — |
case-08 | fail→pass | 11,957 | 9,378 | -22% | 1 | 1 | 0% | 2,072 | 2,168 | +5% | 0 | 0 | — |
case-09 | fail→pass | 6,770 | 16,856 | +149% | 1 | 1 | 0% | 1,263 | 3,170 | +151% | 0 | 0 | — |
case-10 | pass→pass | 20,747 | 3,893 | -81% | 1 | 1 | 0% | 2,592 | 2,080 | -20% | 0 | 0 | — |
case-11 | fail→pass | 16,366 | 2,454 | -85% | 1 | 1 | 0% | 1,972 | 1,866 | -5% | 0 | 0 | — |
case-12 | pass→pass | 8,624 | 3,159 | -63% | 1 | 1 | 0% | 1,451 | 2,005 | +38% | 0 | 0 | — |
case-13 | fail→pass | 16,648 | 12,351 | -26% | 1 | 1 | 0% | 2,087 | 2,689 | +29% | 0 | 0 | — |
case-14 | pass→pass | 16,200 | 10,768 | -34% | 1 | 1 | 0% | 2,009 | 2,577 | +28% | 0 | 0 | — |
case-15 | fail→pass | 9,252 | 7,243 | -22% | 1 | 1 | 0% | 1,582 | 1,781 | +13% | 0 | 0 | — |
case-16 | fail→pass | 12,669 | 2,588 | -80% | 1 | 1 | 0% | 1,256 | 1,846 | +47% | 0 | 0 | — |
case-17 | fail→fail | 44,425 | 12,241 | -72% | 1 | 1 | 0% | 2,099 | 1,839 | -12% | 0 | 0 | — |
case-18 | fail→fail | 2,428 | 7,719 | +218% | 1 | 1 | 0% | 403 | 1,833 | +355% | 0 | 0 | — |
case-19 | fail→fail | 12,632 | 6,187 | -51% | 1 | 1 | 0% | 2,180 | 1,627 | -25% | 0 | 0 | — |
case-21 | fail→fail | 41,248 | 4,366 | -89% | 1 | 1 | 0% | 8,235 | 1,588 | -81% | 0 | 0 | — |
case-22 | fail→fail | 11,642 | 6,532 | -44% | 1 | 1 | 0% | 2,137 | 1,895 | -11% | 0 | 0 | — |
case-23 | fail→fail | 9,126 | 4,394 | -52% | 1 | 1 | 0% | 258 | 1,567 | +507% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 15 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +43 percentage points is the difference between those two pass rates over the 15 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.