← Back to Skills Marketplace
xukp20

Arxiv Batch Reporter

by xukp20 · GitHub ↗ · v0.1.1
cross-platform ⚠ suspicious
836
Downloads
0
Stars
2
Active Installs
2
Versions
Install in OpenClaw
/install arxiv-batch-reporter
Description
Generates a batch arXiv report by combining model-written templates with brief conclusions and abs URLs extracted from per-paper summary.md files.
README (SKILL.md)

\r \r

ArXiv Batch Reporter\r

\r Use this skill after per-paper summary.md files exist.\r \r

Core Principle\r

\r The model writes report structure; scripts inject per-paper conclusion text.\r \r

Constraint\r

\r

  • Per-paper text in final report must come directly from each paper's summary.md section ## 10. Brief Conclusion.\r
  • Do not paraphrase or manually rewrite this per-paper conclusion text in final report.\r \r

Commands\r

\r Step 1: build model context bundle.\r \r

python3 scripts/collect_summaries_bundle.py \\r
  --base-dir /path/to/run-dir \\r
  --language English\r
```\r
\r
Step 2: model writes `collection_report_template.md` under `base-dir` using placeholder lines for papers.\r
\r
Step 3: render final report from template.\r
\r
```bash\r
python3 scripts/render_collection_report.py \\r
  --base-dir /path/to/run-dir \\r
  --template-file collection_report_template.md \\r
  --output-file collection_report.md \\r
  --language English\r
```\r
\r
## Language Parameter\r
\r
- `--language` controls scaffold/inserted-label language.\r
- Set this parameter manually for each run.\r
- Default is `English` when omitted.\r
- Chinese aliases supported: `Chinese`, `zh`, `zh-cn`, `中文`.\r
- When non-English is selected (for example Chinese), generated labels/prompts are localized.\r
\r
## Placeholder Syntax in Template\r
\r
In each paper leaf entry, add one placeholder line containing arXiv id.\r
\r
Only supported syntax (standalone line):\r
\r
```text\r
{{ARXIV_BRIEF:2602.12276}}\r
```\r
\r
`render_collection_report.py` replaces that one placeholder line with:\r
\r
- brief conclusion text extracted from summary section 10\r
- generated abs URL: `https://arxiv.org/abs/\x3Carxiv_id>`\r
\r
Fallback rule: if section 10 heading is missing, use content under the last `##` heading.\r
\r
## Output\r
\r
- `\x3Cbase-dir>/summaries_bundle.md`\r
- `\x3Cbase-dir>/collection_report_template.md` (model-authored)\r
- `\x3Cbase-dir>/collection_report.md` (rendered final output)\r
\r
Use `references/report-format.md` for the expected report structure.\r
Use `references/report-example-lean4-en.md`, `references/report-example-llm-math-en.md`, and `references/report-example-multimodal-en.md` for tree-structure examples with lint-friendly spacing.\r
\r
## Related Skills\r
\r
This skill is a sub-skill of `arxiv-summarizer-orchestrator`.\r
\r
It is intended to run after:\r
\r
1. `arxiv-search-collector` (selected paper directories + metadata)\r
2. `arxiv-paper-processor` (per-paper `summary.md`)\r
\r
This skill consumes the summary outputs from Step 2 and should be used together with Steps 1 and 2 to produce the final collection report.\r
Usage Guidance
This skill is internally consistent with its stated purpose, but take these practical precautions before running it: 1) Run the scripts only on trusted run directories — the scripts will read all summary.md/metadata files under base-dir and write output files there. 2) Review any model-authored template (collection_report_template.md) before rendering — the template can be an absolute path and will be read; ensure it doesn't contain unexpected content. 3) The scripts print a JSON payload that includes full paths (base_dir, template_path, output_path); if your stdout is captured or forwarded, that could reveal local paths. 4) If you run as a high-privilege user on an attacker-controlled base-dir, a maliciously prepared run-dir could cause the scripts to read/write files you may not expect — run as an ordinary user and/or validate the run-dir contents first. 5) The scripts do not perform any network calls or credential use, but they do embed raw summary text into outputs; if summary.md content includes control characters or secrets, those will be propagated into collection_report.md.
Capability Analysis
Type: OpenClaw Skill Name: arxiv-batch-reporter Version: 0.1.1 The skill is vulnerable to prompt injection. The `scripts/collect_summaries_bundle.py` script reads content from user-controlled `summary.md` files and `task_meta.json`, then directly embeds this content into `summaries_bundle.md`. According to `SKILL.md`, this bundle is subsequently fed to the AI agent for generating the report template. This allows an attacker to inject malicious instructions into the AI agent by crafting the content of `summary.md` or `task_meta.json` files within the `--base-dir`.
Capability Assessment
Purpose & Capability
Name/description promise (assemble a batch arXiv report from per-paper summary.md files) matches the included artifacts. The two scripts only read metadata.json/metadata.md and summary.md under a provided base directory and produce bundle/template/rendered markdown files. No unexpected binaries, env vars, or external services are required.
Instruction Scope
SKILL.md instructs: run collect_summaries_bundle.py to produce a bundle, have the model author a template with placeholders, then run render_collection_report.py to replace placeholders with brief conclusion text and an arXiv URL. The scripts implement exactly those behaviors and do not instruct the agent to read unrelated system files or to transmit data externally.
Install Mechanism
There is no install spec (instruction-only plus accompanying scripts). No network downloads, package installs, or archive extraction are present in the manifest, minimizing install-time risk.
Credentials
The skill declares no required environment variables, no primary credential, and no config paths. The scripts do not read environment variables or request credentials; they operate only on files under the user-supplied base directory.
Persistence & Privilege
always is false and the skill does not modify other skills or global agent settings. The scripts write output files under the provided base directory only and print a JSON summary to stdout; they do not persist state across runs outside the run-directory outputs.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install arxiv-batch-reporter
  3. After installation, invoke the skill by name or use /arxiv-batch-reporter
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.1
Document cross-skill relationships in all SKILL.md files
v0.1.0
arxiv-batch-reporter v0.1.0 - Initial release of the skill. - Generates batch collection reports from per-paper `summary.md` files using a two-step template and injection process. - Ensures final report includes each paper's exact `## 10. Brief Conclusion` section without paraphrasing. - Supports language localization for scaffolding and labels (English and Chinese). - Introduces placeholder syntax for arXiv IDs to automate conclusion and URL insertion. - Provides core scripts for collecting summaries, template generation, and report rendering.
Metadata
Slug arxiv-batch-reporter
Version 0.1.1
License
All-time Installs 2
Active Installs 2
Total Versions 2
Frequently Asked Questions

What is Arxiv Batch Reporter?

Generates a batch arXiv report by combining model-written templates with brief conclusions and abs URLs extracted from per-paper summary.md files. It is an AI Agent Skill for Claude Code / OpenClaw, with 836 downloads so far.

How do I install Arxiv Batch Reporter?

Run "/install arxiv-batch-reporter" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Arxiv Batch Reporter free?

Yes, Arxiv Batch Reporter is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Arxiv Batch Reporter support?

Arxiv Batch Reporter is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Arxiv Batch Reporter?

It is built and maintained by xukp20 (@xukp20); the current version is v0.1.1.

💬 Comments