Agent skill

arxiv-search

Retrieve paper metadata from arXiv using keyword queries and save results as JSONL (`papers/papers_raw.jsonl`). **Trigger**: arXiv, arxiv, paper search, metadata retrieval, 文献检索, 论文检索, 拉取元数据, 离线导入. **Use when**: 需要一个初始论文集合(survey/snapshot 的 Stage C1),来源为 arXiv(在线检索或离线导入 export)。 **Skip if**: 已经有可用的 `papers/papers_raw.jsonl`,或数据源不是 arXiv。 **Network**: 在线检索需要网络;离线 `--input <export.*>` 不需要网络。 **Guardrail**: 只做 metadata;不要在 `output/` 写长 prose。

Stars 377
Forks 25

Install this agent skill to your Project

npx add-skill https://github.com/WILLOSCAR/research-units-pipeline-skills/tree/main/.codex/skills/arxiv-search

SKILL.md

arXiv Search (metadata-first)

Collect an initial paper set with enough metadata to support downstream ranking, taxonomy building, and citation generation.

When online, prefer rich arXiv metadata (categories, arxiv_id, pdf_url, published/updated, etc.). When offline, accept an export and convert it cleanly.

Load Order

Always read:

  • references/domain_pack_overview.md — how domain packs drive topic-specific behavior

Domain packs (loaded by topic match):

  • assets/domain_packs/llm_agents.json — pinned IDs, query rewrite rules for LLM agent topics

Script Boundary

Use scripts/run.py only for:

  • arXiv API retrieval and XML parsing
  • offline export conversion (CSV/JSON/JSONL normalization)
  • metadata enrichment via id_list backfill

Do not treat run.py as the place for:

  • hardcoded topic detection or query rewriting (use domain packs)
  • domain-specific pinned paper lists (externalize to assets/domain_packs/)

Input

  • queries.md (keywords, excludes, time window)

Outputs

  • papers/papers_raw.jsonl (JSONL; 1 paper per line)
    • Each record includes at least: title, authors, year, url, abstract
    • When using the arXiv API online mode, records also include helpful metadata: arxiv_id, pdf_url, categories, primary_category, published, updated, doi, journal_ref, comment
  • Convenience index (optional but generated by the script):
    • papers/papers_raw.csv

Decision: online vs offline

  • If you have network access: run arXiv API retrieval.
  • If not: import an export the user provides (CSV/JSON/JSONL) and normalize fields.
  • Hybrid: if you import offline but still have network later, you can enrich missing fields (abstract/authors/categories) via arXiv id_list using --enrich-metadata or queries.md enrich_metadata: true.

Workflow (heuristic)

  1. Read queries.md and expand into concrete query strings.
  2. Retrieve results (online) or import an export (offline).
  3. Normalize every record to include at least:
    • title, authors (array), year, url, abstract
  4. Keep the set broad at this stage; dedupe/ranking comes next.
  5. Apply time window and max_results if specified.

Quality checklist

  • papers/papers_raw.jsonl exists.
  • Each line is valid JSON and contains title, authors, year, url.

Side effects

  • Allowed: create/overwrite papers/papers_raw.jsonl; append notes to STATUS.md.
  • Not allowed: write prose sections in output/ before writing is approved.

Script

Quick Start

  • python .codex/skills/arxiv-search/scripts/run.py --help
  • Online: python .codex/skills/arxiv-search/scripts/run.py --workspace <workspace_dir> --query "<query>" --max-results 200
  • Offline import: python .codex/skills/arxiv-search/scripts/run.py --workspace <workspace_dir> --input <export.csv|json|jsonl>

All Options

  • --query <q>: repeatable; multiple queries are unioned
  • --exclude <term>: repeatable; excludes applied after retrieval
  • --max-results <n>: cap total retrieved
  • --input <export.*>: offline mode (CSV/JSON/JSONL)
  • --enrich-metadata: best-effort enrich via arXiv id_list (needs network)
  • queries.md also supports: keywords, exclude, time window, max_results, enrich_metadata

Examples

  • Online (multi-query + excludes):
    • python .codex/skills/arxiv-search/scripts/run.py --workspace <ws> --query "LLM agent" --query "tool use" --exclude "survey" --max-results 300
  • Fetch a single paper by arXiv ID (direct id_list fetch):
    • python .codex/skills/arxiv-search/scripts/run.py --workspace <ws> --query 2509.02547 --max-results 1
  • Offline auto-detect (no flags):
    • Place papers/import.csv (or .json/.jsonl) under the workspace, then run: python .codex/skills/arxiv-search/scripts/run.py --workspace <ws>
  • Offline import + time window (via queries.md):
    • Set - time window: { from: 2022, to: 2025 } then run offline import normally

Troubleshooting

Common Issues

Issue: papers/papers_raw.jsonl is empty

Symptom:

  • Script exits with “No results returned …” or output file is empty.

Causes:

  • Network is blocked (online mode).
  • Queries are too narrow or queries.md is empty.

Solutions:

  • Use offline import: place papers/import.csv|json|jsonl in the workspace or pass --input.
  • Broaden keywords and reduce excludes in queries.md.
  • Run with explicit --query to sanity-check the parser.

Issue: Offline import records miss fields

Symptom:

  • Downstream steps fail because records miss authors/year/abstract/url.

Causes:

  • Export columns don’t match expected fields; upstream export is incomplete.

Solutions:

  • Ensure the export contains at least title, authors, year, url, abstract.
  • If you later have network, use --enrich-metadata to backfill missing fields (best effort).

Recovery Checklist

  • Confirm queries.md has non-empty keywords (or pass --query).
  • If offline: confirm workspace has papers/import.* and rerun.
  • Spot-check 3–5 JSONL lines: valid JSON + required fields.

Expand your agent's capabilities with these related and highly-rated skills.

WILLOSCAR/research-units-pipeline-skills

thesis-compile-review

对中文毕业论文进行编译、warning 分级、模板模式检查、数据与引用复查,并把问题回写成可继续迭代的 review checklist。 **Trigger**: 毕业论文编译检查, thesis compile review, warning 分级, 终稿复查, main.pdf 检查. **Use when**: 论文已经回写到 TeX 交付层,需要确认是否真正达到“可提交”的质量,而不是只做到能编译。 **Skip if**: 还处于中间层重构阶段,`chapters/*.tex` 尚未形成稳定交付稿。 **Network**: none. **Guardrail**: 不在这里重构章节主线;如果发现结构问题,明确回退到上游修复。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

front-matter-writer

Write the survey's front matter files (Abstract, Introduction, Related Work, Discussion, Conclusion) in paper voice, with high citation density and a single evidence-policy paragraph. **Trigger**: front matter writer, introduction writer, related work writer, abstract writer, discussion writer, conclusion writer, 引言, 相关工作, 摘要, 讨论, 结论. **Use when**: you are in C5 (prose allowed) and need the paper-like shell to stop the draft reading like stitched subsections. **Skip if**: `Approve C2` is missing in `DECISIONS.md`, or `citations/ref.bib` is missing. **Network**: none. **Guardrail**: no invented facts/citations; no pipeline jargon in final prose; no repeated evidence disclaimers; only use keys present in `citations/ref.bib`.

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

thesis-question-list

维护中文毕业论文的 `codex_md/question_list.md`:把本轮问题、边界、优先级、协作方案和验收口径结构化,作为整条 thesis pipeline 的控制面。 **Trigger**: 毕业论文问题清单, thesis question list, 论文修改清单, 本轮目标, 结构问题梳理, review问题整理. **Use when**: 你已经有一批材料或上一轮 review 结果,需要明确这一轮到底修什么、不修什么,并给后续重构与编译复查提供统一入口。 **Skip if**: 当前只是在做一次性局部措辞修改,且没有形成新一轮结构/证据/编译问题。 **Network**: none. **Guardrail**: 不在这里写正文;不把问题单写成长篇散文;每条问题必须可执行、可验收。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

novelty-matrix

Create a novelty/prior-work matrix comparing the submission’s contributions against related work (overlaps vs deltas). **Trigger**: novelty matrix, prior-work matrix, overlap/delta, 相关工作对比, 新颖性矩阵. **Use when**: peer review 中评估 novelty/positioning,需要把贡献与相关工作逐项对齐并写出差异点证据。 **Skip if**: 缺少 claims(先跑 `claims-extractor`)或你不打算做新颖性定位分析。 **Network**: none (retrieval of additional related work is out-of-scope unless provided). **Guardrail**: 明确 overlap 与 delta;尽量给出可追溯证据来源(来自稿件/引用/作者陈述)。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

protocol-writer

Write a systematic review protocol into `output/PROTOCOL.md` (databases, queries, inclusion/exclusion, time window, extraction fields). **Trigger**: protocol, PRISMA, systematic review, inclusion/exclusion, 检索式, 纳入排除. **Use when**: systematic review pipeline 的起点(C1),需要先锁定 protocol 再开始 screening/extraction。 **Skip if**: 不是做 systematic review(或 protocol 已经锁定且不允许修改)。 **Network**: none. **Guardrail**: protocol 必须包含可执行的检索与筛选规则;需要 HUMAN 签字后才能进入 screening。

377 25
Explore
WILLOSCAR/research-units-pipeline-skills

rubric-writer

Write a rubric-based peer review report (`output/REVIEW.md`) using extracted claims and evidence gaps (novelty/soundness/clarity/impact). **Trigger**: rubric review, referee report, peer review write-up, 审稿报告, REVIEW.md. **Use when**: peer-review pipeline 的最后阶段(C3),已有 `output/CLAIMS.md` + `output/MISSING_EVIDENCE.md`(以及可选 novelty matrix)。 **Skip if**: 上游产物未就绪(claims/evidence gaps 缺失)或你不打算输出完整审稿报告。 **Network**: none. **Guardrail**: 给可执行建议(actionable feedback),并覆盖 novelty/soundness/clarity/impact;避免泛泛而谈。

377 25
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results