CommunityKunst & Designgithub.com

JingruiYu/arxiv-paper-tracker-skill

Agent-ready arXiv paper tracker skill with Markdown digests and optional email notifications

Funktioniert mitClaude Code~Codex CLI~Cursor
npx skills add JingruiYu/arxiv-paper-tracker-skill

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Dokumentation

arxiv-paper-tracker

This is an agent-facing skill for configurable arXiv paper tracking. When this repository is cloned into an agent system that supports SKILL.md, the agent should use this skill whenever the user wants to search, track, deduplicate, summarize, or periodically monitor arXiv papers under user-defined constraints.

Suitable use cases include:

  • One-off arXiv search using a temporary config generated by the agent.
  • Periodic paper tracking with a persistent seen-state file.
  • Monitoring any configurable combination of query constraints, including authors, institutions, keywords, arXiv categories, date windows, and result limits.
  • Generating a Markdown digest that can be sent by an external notification system, email pipeline, scheduler, or chat bot.

The examples in this file are only examples. Topics, authors, institutions, categories, time windows, and result limits are all configurable in config.yaml.

What this skill does

This skill can:

  1. Query arXiv.
  2. Filter papers by authors, institutions, keywords, and categories.
  3. Deduplicate papers by arXiv ID.
  4. Maintain a local seen-state file to avoid repeated notifications.
  5. Generate a Markdown digest.
  6. Optionally send email notifications when enabled in a local config file.

This skill does not:

  • Translate full papers automatically.
  • Download and deeply read PDFs.
  • Replace the user’s judgment about paper quality or relevance.
  • Store or manage user email passwords, app passwords, API keys, or other secrets.

Installation

If the package is not installed in the current agent runtime, run this from the repository root:

python -m pip install -e .

This installs the console command:

arxiv-paper-tracker

If the console command is unavailable, the equivalent module entry point is:

python -m arxiv_paper_tracker.cli

Recommended usage

Create a local config file:

arxiv-paper-tracker init-config config.yaml

Equivalent command:

python -m arxiv_paper_tracker.cli init-config config.yaml

After editing config.yaml, run a scan:

arxiv-paper-tracker scan \
  --config config.yaml \
  --state outputs/arxiv_tracker/state.json \
  --output outputs/arxiv_tracker/latest.md

Equivalent command:

python -m arxiv_paper_tracker.cli scan \
  --config config.yaml \
  --state outputs/arxiv_tracker/state.json \
  --output outputs/arxiv_tracker/latest.md

Agent usage guidance

If the user has not provided a complete config file, the agent may create a temporary local config file based on the user's request. The fields below are illustrative and should be changed to match the requested topic, author, institution, category, time window, and result limit:

queries:
  authors: []
  categories: []
  keywords: []
  institutions: []

limits:
  max_results_per_query: 20
  days_back: 7

state:
  path: outputs/arxiv_tracker/state.json

email:
  enabled: false

Then run:

arxiv-paper-tracker scan \
  --config config.yaml \
  --state outputs/arxiv_tracker/state.json \
  --output outputs/arxiv_tracker/latest.md

If the user only wants a one-off search instead of long-term tracking, the agent can use temporary paths:

arxiv-paper-tracker scan \
  --config /tmp/arxiv_tracker_config.yaml \
  --state /tmp/arxiv_tracker_state.json \
  --output /tmp/arxiv_tracker_digest.md

Output handling

The scan command:

  1. Prints the digest to stdout.
  2. Writes the digest to a Markdown file when --output is provided.

The agent should read stdout or the --output file, then adapt the Markdown for the target surface, such as terminal, web UI, email, Feishu, DingTalk, Slack, Discord, or another chat interface.

Scheduling

This repository does not depend on a specific agent framework. For periodic runs, trigger the scan command from any scheduler or automation runtime, such as:

  • OpenClaw or another skill-aware agent runtime.
  • Claude Code or another local coding agent.
  • Another agent scheduler.
  • cron.
  • GitHub Actions.
  • A custom scheduler.

The scheduler only needs to run the scan command and deliver the generated Markdown digest through its own notification channel.

Safety rules

  • The public repository provides config.example.yaml only.
  • Do not commit personal config.yaml files.
  • Email notification is disabled by default.
  • If email is enabled, SMTP username and app password must live only in a local config file.
  • Local config files should be ignored by git.
  • Do not expose email app passwords, API keys, cookies, or tokens in prompts, logs, GitHub issues, or public outputs.

Verwandte Skills