Arxiv Summarizer Orchestrator
by @xukp20
Orchestrates end-to-end arXiv paper retrieval, processing, and batch reporting with language control and parallel or serial paper handling modes.
clawhub install arxiv-summarizer-orchestratorπ About This Skill
name: arxiv-summarizer-orchestrator description: "End-to-end orchestration skill for periodic arXiv collection and reporting using three sub-skills: arxiv-search-collector, arxiv-paper-processor, and arxiv-batch-reporter. Supports manual language control across all markdown outputs and Stage-B processing strategy (
subagent_parallel default max 5, or serial)."
ArXiv Summarizer Orchestrator
Run the full pipeline by composing three sub-skills.
Sub-skill Order
1. arxiv-search-collector
2. arxiv-paper-processor
3. arxiv-batch-reporter
Workflow Parameters
language: manual language parameter used by all stages. Default is English when omitted.paper_processing_mode: subagent_parallel or serial.max_parallel_papers: default 5 when paper_processing_mode=subagent_parallel.Workflow
Stage A: Collection Setup + Query Retrieval
1. Initialize one run with arxiv-search-collector/scripts/init_collection_run.py.
2. Model generates multiple focused queries from original topic and writes a minimal query_plan.json (label + query only).
3. Run arxiv-search-collector/scripts/fetch_queries_batch.py with the plan file (recommended).
4. (Optional fallback) call arxiv-search-collector/scripts/fetch_query_metadata.py manually for one-by-one fetch.
5. Model reads each indexed query list and decides keep indexes.
6. Merge selected items with arxiv-search-collector/scripts/merge_selected_papers.py.
7. If relevance/coverage is still not good, iterate Stage A:
- generate another query plan with new labels,
- fetch again,
- re-merge with --incremental and updated selection-json.
- set weak labels to empty keep list ([]) to explicitly drop them.
Pass --language to collector scripts so all generated markdown files in Stage A follow the selected language.
Use serial query fetch in Stage A with conservative controls (for example --min-interval-sec 5, --retry-max 4).
Default collector settings already include retries/backoff and run-local throttle state (), so manual tuning is usually unnecessary.
Prefer cache reuse (no --force) unless query parameters changed or data refresh is required.
Output: one run directory with per-paper metadata subdirectories.
Stage B: Per-paper Artifact Download + Manual Summary
For each paper directory, invoke sub-skill arxiv-paper-processor once and let that skill produce .
Recommended pre-step for many papers:
1. Run one batch artifact download before per-paper reading:
python3 arxiv-paper-processor/scripts/download_papers_batch.py \
--run-dir /path/to/run \
--artifact source_then_pdf \
--max-workers 3 \
--min-interval-sec 5 \
--language
Per-paper execution steps (inside arxiv-paper-processor):
1. If already exists and is complete, skip this paper.
2. If usable source (source/source_extract/*.tex) or PDF (source/paper.pdf) already exists, skip download.
3. If artifacts are missing, download source with arxiv-paper-processor/scripts/download_arxiv_source.py.
4. If source is unusable, download PDF with arxiv-paper-processor/scripts/download_arxiv_pdf.py.
5. Model reads content and manually writes by reference format, in language.
Parallel strategy for many papers:
paper_processing_mode=subagent_parallel with max_parallel_papers=5.paper_processing_mode=serial to process one paper at a time.arxiv-paper-processor instances in batches; concurrent papers must not exceed max_parallel_papers.arxiv-paper-processor instance at a time.Output: all paper directories contain summary.md.
Stage C: Bundle + Final Hierarchical Report
1. Run arxiv-batch-reporter/scripts/collect_summaries_bundle.py --language .
2. Model reads summaries_bundle.md and writes collection_report_template.md in base dir.
3. In template, each paper leaf entry must include one standalone placeholder line: {{ARXIV_BRIEF:.
4. Run arxiv-batch-reporter/scripts/render_collection_report.py to generate final collection_report.md.
5. Do not manually paraphrase per-paper conclusion lines in final report; they must come from per-paper summary.md section 10 via script injection.
If language is non-English (for example Chinese), all intermediate markdown files and final reports should follow that language.
Periodic Scheduling
This orchestrator is suitable for cron/scheduled execution in OpenClaw:
1d, 7d, 30d) when initializing runs.Output Layout
task_meta.json, task_meta.mdquery_results/, query_selection//metadata.md + downloaded source/pdf + summary.mdsummaries_bundle.mdcollection_report_template.mdcollection_report.md)Use references/workflow-checklist.md as execution checklist.
Related Skills
This is the top-level orchestration skill.
Before using it, install and enable these three sub-skills:
arxiv-search-collectorarxiv-paper-processorarxiv-batch-reporterExecution order inside this orchestrator:
1. arxiv-search-collector (Stage A)
2. arxiv-paper-processor (Stage B)
3. arxiv-batch-reporter (Stage C)