SKILL.md 2.7 KB


name: arxiv-digest

description: Daily arXiv digest generation for embodied intelligence, representation learning, and reinforcement learning. Use when Codex needs to: (1) fetch recent papers from arXiv, (2) rank them with an applied-research bias, (3) pick 2-3 papers per domain, (4) translate abstracts into Chinese, add short explanations and tag keywords, (5) render mobile-friendly digest cards, or (6) publish the digest to Discord threads/channels on a schedule.

arXiv Digest

Use scripts/run_daily.py as the single entry point.

Workflow

  1. Fetch recent arXiv papers with scripts/fetch_arxiv.py.
  2. Score papers for domain fit, applied value, innovation, and recency.
  3. Select 2-3 papers for each domain:
    • 具身智能
    • 表征学习
    • 强化学习
  4. Use the local Ollama model to produce:
    • 中文摘要翻译
    • 简短价值解读
    • 卡片标签
  5. Render two outputs:
    • mobile-friendly HTML digest with expandable cards
    • Markdown archive for Discord / quick search
  6. Publish to Discord:
    • thread mode: OpenClaw-native daily thread/forum post
    • channel mode: create one dated text channel per day via Discord REST + OpenClaw posting
    • fixed-channel mode: reuse one stable channel name such as robotdaily, and create it if missing
    • existing-channel mode: reuse a fixed channel id (best for already-known target channels)

Run commands

Dry run without Discord:

python3 scripts/run_daily.py

Generate digest and publish to Discord:

python3 scripts/run_daily.py --publish-discord

Generate digest but skip LLM enrichment:

python3 scripts/run_daily.py --skip-enrich

Config

Read references/selection-and-delivery.md when you need to tune scoring or choose the Discord delivery mode.

Common env vars in arxiv-digest/.env:

  • INSIGHT_MODELS=glm-4.7:cloud,qwen3.5:cloud,qwen3.5:27b,glm-4.7-flash-64k:latest
  • ROBOTDAILY_OUTPUT_DIR=/path/to/output
  • DISCORD_DELIVERY_MODE=thread|channel|fixed-channel|existing-channel
  • DISCORD_ACCOUNT_ID=codex
  • DISCORD_GUILD_ID=...
  • DISCORD_PARENT_CHANNEL_ID=...
  • DISCORD_TARGET_CHANNEL_ID=...
  • DISCORD_TARGET_CHANNEL_NAME=robotdaily
  • DISCORD_CATEGORY_ID=...
  • DISCORD_BOT_TOKEN=... (needed when a missing channel must be created)
  • DISCORD_THREAD_AUTO_ARCHIVE_MIN=10080

Output

Each run writes a dated bundle containing:

  • candidates.json
  • selected.json
  • enriched.json
  • robotdaily.html
  • robotdaily.md
  • manifest.json

Scheduling

The pipeline is designed for a daily 10:30 run in Asia/Shanghai.

Recommended cron entry example:

30 10 * * * cd /path/to/robdaily/arxiv-digest && python3 scripts/run_daily.py --publish-discord >> logs/robotdaily.log 2>&1