content-refinement-age…
Step 5 of the PaperOrchestra pipeline (arXiv:2604.05018). Iteratively refine drafts/paper.tex by simulating peer review and…
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 +
Claude Code
$ npx -y skills add Ar9av/PaperOrchestra --skill agent-research-aggregator --agent claude-code
Codex
$ npx skills add Ar9av/PaperOrchestra --skill agent-research-aggregator -a codex -y
Cursor
$ npx skills add Ar9av/PaperOrchestra --skill agent-research-aggregator -a cursor -y
Gemini CLI
$ npx skills add Ar9av/PaperOrchestra --skill agent-research-aggregator -a gemini-cli -y
GitHub Copilot
$ npx skills add Ar9av/PaperOrchestra --skill agent-research-aggregator -a github-copilot -y
OpenCode
$ npx skills add Ar9av/PaperOrchestra --skill agent-research-aggregator -a opencode -y
Windsurf
$ npx skills add Ar9av/PaperOrchestra --skill agent-research-aggregator -a windsurf -y
name: agent-research-aggregator description: 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.
---
Before starting Phase 1, check whether aggregation is actually needed:
| Situation | Action | |---|---| | `workspace/inputs/idea.md` **and** `workspace/inputs/experimental_log.md` both exist and are non-empty | **Skip this skill entirely.** Proceed directly to `paper-orchestra`. | | Either file is missing or empty, **and** the user provided a directory path | **Run this skill** with that directory as `--search-roots`. | | Either file is missing or empty, **and** no directory was provided | Scan cwd and `~` by default; show the discovery summary to the user before continuing. | | The inputs exist but look thin (e.g. idea.md has < 5 lines, no numeric data in experimental_log.md) | **Ask the user** whether to supplement with aggregation or proceed as-is. |
The skill is intentionally a pre-pass — it is cheap to skip and should only run when the structured inputs don't already exist.
---
A pre-processing skill for PaperOrchestra (arXiv:2604.05018). Reads scattered experimentation artifacts from AI coding-agent cache directories and synthesizes them into the structured `(I, E)` input pair the PaperOrchestra pipeline expects.
[.claude/] [.cursor/] [.antigravity/] [.openclaw/]
│ │ │ │
└────────────┴──────────────┴───────────────┘
│
Phase 1: Discovery
(discover_logs.py)
│
discovered_logs.json
│
Phase 2: Extraction
(LLM call per log batch)
│
raw_experiments.json
│
Phase 3: Synthesis
(LLM call — consolidate)
│
synthesis.json
│
Phase 4: Formatting
(format_po_inputs.py)
│
┌────────────┴────────────┐
workspace/inputs/ workspace/ara/
idea.md aggregation_report.md
experimental_log.md discovered_logs.json
raw_experiments.json
synthesis.jsonThe output drops directly into `workspace/inputs/` so the user can immediately run `paper-orchestra` on the same workspace.
---
| Parameter | Required | Default | Description | |---|---|---|---| | `--search-roots` | no | cwd, `~` | Comma-separated directories to scan for agent caches | | `--agents` | no | all | Comma-separated subset: `claude,cursor,antigravity,openclaw` | | `--workspace` | no | `./workspace` | PaperOrchestra workspace root | | `--depth` | no | 4 | Max directory scan depth (prevents runaway scans on large home dirs) | | `--since` | no | none | Only include logs modified after this date (ISO 8601: `2025-01-01`) |
The user specifies these when invoking the skill, or you may ask them for `--search-roots` if the current directory has no detectable agent caches.
---
Run the discovery script to catalog every relevant log file:
python skills/agent-research-aggregator/scripts/discover_logs.py \
--search-roots <roots> \
--agents <agents> \
--depth <depth> \
--since <since> \
--out workspace/ara/discovered_logs.jsonThe script exits with code **2** when no `--project` filter is set (this is expected on the first run). It prints a **"Projects found"** list to stdout — show it to the user immediately.
**If no logs are found at all:** stop and ask the user to specify `--search-roots` or point you at a directory that contains agent cache folders.
---
**A paper can only be written from a single project. You must ask the user which project to use before any LLM processing begins.**
1. Display the numbered project list from the discovery summary, e.g.:
Projects found:
[1] /home/alice/projects/my-rl-experiment (42 files)
[2] /home/alice/projects/llm-eval-suite (17 files)
[3] /home/alice/projects/old-demo (3 files)2. Ask: *"Which project should this paper be based on? Please choose a number or paste the project path."* 3. **Do not proceed to Phase 2 until the user has answered.** 4. Re-run discovery with the chosen project to filter the manifest:
python skills/agent-research-aggregator/scripts/discover_logs.py \
--search-roots <roots> \
--agents <agents> \
--depth <depth> \
--since <since> \
--project "<chosen project path>" \
--out workspace/ara/discovered_logs.jsonThis overwrites `discovered_logs.json` so only the selected project's files remain. The script exits 0 on success.
**If the discovery finds only one project:** skip the question and inform the user: *"Only one project found: `<path>`. Using it for the paper."* — then re-run with `--project` automatically.
**If the discovery summary
A pluggable skill pack that lets any coding agent in Claude Code, Cursor, Antigravity, Cline, Aider, OpenCode, etc. which can run the PaperOrchestra multi-agent pipeline for turning unstructured research materials into a submission-ready LaTeX paper.
Step 5 of the PaperOrchestra pipeline (arXiv:2604.05018). Iteratively refine drafts/paper.tex by simulating peer review and…
Step 3 of the PaperOrchestra pipeline (arXiv:2604.05018). Execute the literature search strategy from outline.json — discover…
Step 1 of the PaperOrchestra pipeline (arXiv:2604.05018). Convert (idea.md, experimental_log.md, template.tex,…
Run the four paper-quality autoraters from PaperOrchestra (arXiv:2604.05018, App. F.3) — Citation F1 (P0/P1 partition +…
Orchestrate the full PaperOrchestra (Song et al., 2026, arXiv:2604.05018) five-agent pipeline to turn unstructured research…
Reverse-engineer raw materials (Sparse idea, Dense idea, experimental log) from an existing AI research paper to build a…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…