MCPInstall

outline-agent

Step 1 of the PaperOrchestra pipeline (arXiv:2604.05018). Convert (idea.md, experimentallog.md, template.tex, conferenceguidelines.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".

Installs
67
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/ar9av/paperorchestra --skill outline-agent
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads outline-agent automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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 objects
  • intro_related_work_plan — object with introduction_strategy and related_work_strategy
  • section_plan — array of section objects, each with section_title and subsections[]

How to do it

  1. 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.

  2. Prepend the Anti-Leakage Prompt from ../paper-orchestra/references/anti-leakage-prompt.md.

  3. Read the four input files:

    • workspace/inputs/idea.md
    • workspace/inputs/experimental_log.md
    • workspace/inputs/template.tex
    • workspace/inputs/conference_guidelines.md
  4. 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."

  5. Emit a single JSON object following the schema in references/outline-schema.md. Cross-check against references/outline_schema.json (machine-readable).

  6. Save to workspace/outline.json.

  7. Validate:

    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.

  8. Append §1 to research_brief.md (see skills/shared/research_brief_template.md):

    After outline.json passes validation, append the §1 section to workspace/research_brief.md (create the file if absent). Template:

    ## §1 · Core Claim and Narrative
    _Written by: outline-agent, Step 1_
    
    **Core claim:** <one-sentence contribution>
    **Narrative tension:** <gap this paper resolves>
    **Key novelty framing:** <how the contribution is framed relative to prior work>
    **Outline decisions:**
    - Plotting plan: <N> figures
    - Related Work clusters: <names>
    - Section structure: <section titles>
    **Potential weaknesses flagged at outline stage:**
    - <any claim in idea.md that may be hard to support>
    

    This is a free-form prose append; no machine-readable schema required.

Hard rules from the prompt (do not violate)

These are excerpted from references/prompt.md. The validator enforces them.

Plotting plan (Directive 1)

  • 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".

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_bullets entry 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.1
  • references/outline-schema.md — prose explanation of the schema
  • references/outline_schema.json — machine-readable JSON Schema
  • references/example-output.json — example output from the paper
  • references/allowed-values.md — enumerated allowed values for each enum field
  • scripts/validate_outline.py — JSON Schema validator
  • skills/shared/research_brief_template.md — NEW §1 schema; append after outline.json passes validation

FAQ

What does the outline-agent skill do?

Step 1 of the PaperOrchestra pipeline (arXiv:2604.05018). Convert (idea.md, experimentallog.md, template.tex, conferenceguidelines.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".

How do I install outline-agent?

Run npx skills add https://github.com/ar9av/paperorchestra --skill outline-agent in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/outline-agent/ (personal) or .claude/skills/outline-agent/ (project).

Which AI agents can use outline-agent?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is outline-agent safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains outline-agent?

It is published by ar9av in ar9av/paperorchestra. It has 67 recorded installs.

More from ar9av/paperorchestra

View all →

paper-orchestra

ar9av/paperorchestra

Open the skill to read its SKILL.md instructions.

literature-review-agent

ar9av/paperorchestra

Step 3 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the literature search strategy from outline.json — discover candidate papers via web search, verify them through Semantic Scholar (Levenshtein 70 fuzzy title match, temporal cutoff, dedup by paperId), cross-corroborate against Crossref + OpenAlex to flag hallucinated citations, build a BibTeX file, and draft Introduction + Related Work using ≥90% of the verified pool. Runs in parallel with the plotting-agent. TRIGGER when the orchestrator delegates Step 3 or when the user asks to "find citations for my paper", "draft the related work", or "build the bibliography".

paper-autoraters

ar9av/paperorchestra

Run the four paper-quality autoraters from PaperOrchestra (arXiv:2604.05018, App. F.3) — Citation F1 (P0/P1 partition + Precision/Recall/F1), Literature Review Quality (6-axis 0-100 with anti-inflation rules), SxS Overall Paper Quality (side-by-side), and SxS Literature Review Quality (side-by-side). TRIGGER when the user asks to "score this paper draft", "evaluate against the benchmark", "compare two papers", or "run the autoraters".

plotting-agent

ar9av/paperorchestra

Step 2 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the visualization plan from outline.json — render plots and conceptual diagrams from experimentallog.md and idea.md, optionally refine via VLM critique loop, and produce context-aware captions. Runs in parallel with the literature-review-agent. TRIGGER when the orchestrator delegates Step 2 or when the user asks to "generate the figures for my paper" or "render the plots from this experiment log".

content-refinement-agent

ar9av/paperorchestra

Step 5 of the PaperOrchestra pipeline (arXiv:2604.05018). Iteratively refine drafts/paper.tex by simulating peer review and applying targeted revisions, with strict accept/revert halt rules, deterministic 0-100 decision bands (Accept/Minor/Major/Reject) that drive a target-met early stop, and a Devil's Advocate concession-threshold guard that blocks acceptance on unresolved critical findings. Maintains a worklog and snapshots each iteration so revert is real, not symbolic. TRIGGER when the orchestrator delegates Step 5 or when the user asks to "refine the draft", "iterate on the paper", or "run peer review on this paper".

section-writing-agent

ar9av/paperorchestra

Open the skill to read its SKILL.md instructions.

Docs & Writing67 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.