Skip to main content
ClaudeWave
Skill575 repo starsupdated 10d ago

outline-agent

The outline-agent is Step 1 of the PaperOrchestra pipeline that converts raw research materials (idea.md, experimental_log.md, template.tex, conference_guidelines.md) into a structured JSON outline specifying plotting plans, literature search strategies for introduction and related work, and hierarchical section organization with citation guidance. Use this when beginning a paper workflow or when the orchestrator delegates the initial structuring phase.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/Ar9av/PaperOrchestra /tmp/outline-agent && cp -r /tmp/outline-agent/skills/outline-agent ~/.claude/skills/outline-agent
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# 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**:
   ```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.

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:

   ```markdown
   ## §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
agent-research-aggregatorSkill

Pre-pipeline aggregator that scans AI agent cache directories (.claude, .cursor, .antigravity, .openclaw) or any user-specified directory for experimentation logs, extracts insights and numeric results, and formats them as PaperOrchestra-ready inputs (idea.md + experimental_log.md). TRIGGER when the user says "aggregate my agent logs for paper writing", "extract experiments from my coding agent history", "prepare PaperOrchestra inputs from my cache", "turn my agent logs into a paper", mentions a folder or directory they want to use as the basis for a paper, or wants to run PaperOrchestra but only has scattered agent experiment histories rather than structured inputs. Run this BEFORE paper-orchestra. Also called automatically by paper-orchestra when workspace/inputs/idea.md or workspace/inputs/experimental_log.md are missing.

content-refinement-agentSkill

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

literature-review-agentSkill

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-autoratersSkill

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

paper-orchestraSkill

Orchestrate the full PaperOrchestra (Song et al., 2026, arXiv:2604.05018) five-agent pipeline to turn unstructured research materials (idea, experimental log, LaTeX template, conference guidelines, optional figures) into a submission-ready LaTeX manuscript and compiled PDF. TRIGGER when the user asks to "write a paper from my experiments", "turn this idea and these results into a paper", "generate a conference submission", "run paper-orchestra on X", or otherwise wants the end-to-end paper-writing pipeline. Coordinates the outline-agent, plotting-agent, literature-review-agent, section-writing-agent, and content-refinement-agent skills.

paper-writing-benchSkill

Reverse-engineer raw materials (Sparse idea, Dense idea, experimental log) from an existing AI research paper to build a benchmark case for evaluating paper-writing pipelines. Replicates the PaperWritingBench dataset construction procedure from arXiv:2604.05018 §3 / App. C. TRIGGER when the user asks to "build a benchmark case from this paper", "reverse-engineer raw materials", or "evaluate my pipeline against PaperWritingBench".

plotting-agentSkill

Step 2 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the visualization plan from outline.json — render plots and conceptual diagrams from experimental_log.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".

section-writing-agentSkill

Step 4 of the PaperOrchestra pipeline (arXiv:2604.05018). ONE single multimodal LLM call that drafts the remaining paper sections (Abstract, Methodology, Experiments, Conclusion), extracts numeric values from experimental_log.md into LaTeX booktabs tables, splices the generated figures from Step 2, and merges everything into the template that already contains Intro + Related Work from Step 3. TRIGGER when the orchestrator delegates Step 4 or when the user asks to "write the methodology and experiments sections" or "fill in the rest of the paper".