agentic-paper-digest-skill
Skill534 starsChanged 6 months agoMITView on GitHub
Fetches and summarizes recent arXiv and Hugging Face papers with Agentic Paper Digest. Use when the user wants a paper digest, a JSON feed of recent papers, or to run the arXiv/HF pipeline.
- Reads credentials
- Installs packages
- Sends data out
In this repository26 other files it gives its agents.
- 03_task1Skill
- 03_task2Skill
- 03_task3Skill
- 03_task4Skill
- 03_task5Skill
- 03_task6Skill
- arxiv-summarizer-orchestratorSkill
- calendar-remindersSkill
- ArchitectureSkill
- arxiv-agentic-verifierSkill
- geepers-dataSkill
- agenticmailSkill
- ai-meeting-schedulingSkill
- meeting-to-actionSkill
- academic-literature-searchSkill
- ddgs-searchSkill
- cross-validated-searchSkill
- video-watcherSkill
- eachlabs-voice-audioSkill
- loopwindSkill
- aegis-shieldSkill
- canarySkill
- skill-trust-auditorSkill
- agent-browserSkill
- self-improvementSkill
- video-framesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 7 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Run a local API server when a polling workflow is needed.
- Distinctive: line 60
Stop the API server if needed.
- Very specific: line 105
ASK THE USER TO FILL THE FOLLOWING PARAMETERS (explain the user why are their intent): ARXIV_CATEGORIES, ARXIV_MAX_RESULTS, …
- Distinctive: line 106
Ask whether to keep defaults and show the current values.
- Very specific: line 109
Confirm workspace path: Ask where to clone/run. Default to PROJECT_DIR="$HOME/agentic_paper_digest" if the user doesn’t care.
- Distinctive: line 110
Bootstrap the repo: Run the bootstrap script (unless the repo already exists and the user says to skip).
- Very specific: line 112
If .env is missing, create it from .env.example (in the repo), then ask the user to fill keys and any requested preferences.
- Very specific: line 113
Ensure at least one of OPENAI_API_KEY or LITELLM_API_KEY is set before running.
- Very specific: line 117
Prefer scripts/run_cli.sh for one-off JSON output.
- Very specific: line 118
Use scripts/run_api.sh only if the user explicitly asks for UI/API access or polling.
- Very specific: line 120
If results are sparse, suggest increasing WINDOW_HOURS, ARXIV_MAX_RESULTS, or broadening topics.
- Distinctive: line 124
Use a stronger model for summaries than for relevance if quality matters.
- Distinctive: line 125
If using openAI's model, defualy to gpt-5-mini for good tradeoff.
- Distinctive: line 129
Use modest affiliation weights to bias ranking without swamping relevance.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Agentic Paper Digest
When to use
- Fetch a recent paper digest from arXiv and Hugging Face.
- Produce JSON output for downstream agents.
- Run a local API server when a polling workflow is needed.
Prereqs
- Python 3 and network access.
- LLM access via
OPENAI_API_KEYor an OpenAI-compatible provider viaLITELLM_API_BASE+LITELLM_API_KEY. gitis optional for bootstrap; otherwisecurl/wget(or Python) is used to download the repo.
Get the code and install
- Preferred: run the bootstrap helper script. It uses git when available or falls back to a zip download.
bash "{baseDir}/scripts/bootstrap.sh"- Override the clone location by setting
PROJECT_DIR.
PROJECT_DIR="$HOME/agentic_paper_digest" bash "{baseDir}/scripts/bootstrap.sh"Run (CLI preferred)
bash "{baseDir}/scripts/run_cli.sh"- Pass through CLI flags as needed.
bash "{baseDir}/scripts/run_cli.sh" --window-hours 24 --sources arxiv,hfRun (API optional)
bash "{baseDir}/scripts/run_api.sh"- Trigger runs and read results.
curl -X POST http://127.0.0.1:8000/api/run
curl http://127.0.0.1:8000/api/status
curl http://127.0.0.1:8000/api/papers- Stop the API server if needed.
bash "{baseDir}/scripts/stop_api.sh"Outputs
- CLI
--jsonprintsrun_id,seen,kept,window_start, andwindow_end. - Data store:
data/papers.sqlite3(underPROJECT_DIR). - API:
POST /api/run,GET /api/status,GET /api/papers,GET/POST /api/topics,GET/POST /api/settings.
Configuration
Config files live in PROJECT_DIR/config. Environment variables can be set in the shell or via a .env file. The wrappers here auto-load .env from PROJECT_DIR (override with ENV_FILE=/path/to/.env).
Environment (.env or exported vars)
OPENAI_API_KEY: required for OpenAI models (litellm reads this).LITELLM_API_BASE,LITELLM_API_KEY: use an OpenAI-compatible proxy/provider.LITELLM_MODEL_RELEVANCE,LITELLM_MODEL_SUMMARY: models for relevance and summarization (summary defaults to relevance model if unset).LITELLM_TEMPERATURE_RELEVANCE,LITELLM_TEMPERATURE_SUMMARY: lower for more deterministic output.LITELLM_MAX_RETRIES: retry count for LLM calls.LITELLM_DROP_PARAMS=1: drop unsupported params to avoid provider errors.WINDOW_HOURS,APP_TZ: recency window and timezone.ARXIV_CATEGORIES: comma-separated categories (default includescs.CL,cs.AI,cs.LG,stat.ML,cs.CR).ARXIV_API_BASE,HF_API_BASE: override source endpoints if needed.ARXIV_MAX_RESULTS,ARXIV_PAGE_SIZE: arXiv paging limits.MAX_CANDIDATES_PER_SOURCE: cap candidates per source before LLM filtering.FETCH_TIMEOUT_S,REQUEST_TIMEOUT_S: source fetch and per-request timeouts.ENABLE_PDF_TEXT=1: include first-page PDF text in summaries; requiresPyMuPDF(pip install pymupdf).DATA_DIR: location forpapers.sqlite3.CORS_ORIGINS: comma-separated origins allowed by the API server (UI use).- Path overrides:
TOPICS_PATH,SETTINGS_PATH,AFFILIATION_BOOSTS_PATH.
Config files
config/topics.json: list of topics withid,label,description,max_per_topic, andkeywords. The relevance classifier must output topic IDs exactly as defined here.max_per_topicalso caps results inGET /api/paperswhenapply_topic_caps=1.config/settings.json: overrides fetch limits (arxiv_max_results,arxiv_page_size,fetch_timeout_s,max_candidates_per_source). Updated viaPOST /api/settings.config/affiliations.json: list of{pattern, weight}boosts applied by substring match over affiliations. Weights add up and are capped at 1.0. Invalid JSON disables boosts, so keep the file strict JSON (no trailing commas).
Mandatory workflow (follow step-by-step)
- You first MUST open and read the configuration from the github repo: https://github.com/matanle51/agentic_paper_digest you downloaded:
- Load
config/topics.json,config/settings.json, andconfig/affiliations.json(if present). - Note current topic IDs, caps, and fetch limits before asking the user to change them.
- Load
- ASK THE USER TO PROVIDE IT'S PREFERENCES ABOUT THE FOLLOWING (HELP THE USER):
- Topics of interest → update
config/topics.json(topics[].id/label/description/keywords,max_per_topic).
Show current defaults and ask whether to keep or change them. - Time window (hours) → set
WINDOW_HOURS(or pass--window-hoursto CLI) only if the user cares; otherwise keep default to 24h. - ASK THE USER TO FILL THE FOLLOWING PARAMETERS (explain the user why are their intent):
ARXIV_CATEGORIES,ARXIV_MAX_RESULTS,ARXIV_PAGE_SIZE,MAX_CANDIDATES_PER_SOURCE.
Ask whether to keep defaults and show the current values. - Model/provider → set
OPENAI_API_KEYorLITELLM_API_KEY(+LITELLM_API_BASEif proxy), and setLITELLM_MODEL_RELEVANCE/LITELLM_MODEL_SUMMARY. - Do NOT ask by default: timezone, quality vs cost, timeouts, PDF text, affiliation biasing, sources list. Use defaults unless the user requests changes.
- Topics of interest → update
- Confirm workspace path: Ask where to clone/run. Default to
PROJECT_DIR="$HOME/agentic_paper_digest"if the user doesn’t care. Never hardcode/Users/...paths. - Bootstrap the repo: Run the bootstrap script (unless the repo already exists and the user says to skip).
- Create or verify
.env:- If
.envis missing, create it from.env.example(in the repo), then ask the user to fill keys and any requested preferences. - Ensure at least one of
OPENAI_API_KEYorLITELLM_API_KEYis set before running.
- If
- Apply config changes:
- Edit JSON files directly (or use
POST /api/topicsandPOST /api/settingsif running the API).
- Edit JSON files directly (or use
- Run the pipeline:
- Prefer
scripts/run_cli.shfor one-off JSON output. - Use
scripts/run_api.shonly if the user explicitly asks for UI/API access or polling.
- Prefer
- Report results:
- If results are sparse, suggest increasing
WINDOW_HOURS,ARXIV_MAX_RESULTS, or broadening topics.
- If results are sparse, suggest increasing
Getting good results
- Help the user define and keep topics focused and mutually exclusive so the classifier can choose the right IDs.
- Use a stronger model for summaries than for relevance if quality matters.
- If using openAI's model, defualy to gpt-5-mini for good tradeoff.
- Increase
WINDOW_HOURSorARXIV_MAX_RESULTSwhen results are sparse, or lower them if results are too noisy. - Tune
ARXIV_CATEGORIESto your research domains. - Enable PDF text (
ENABLE_PDF_TEXT=1) when abstracts are too thin. - Use modest affiliation weights to bias ranking without swamping relevance.
- BE PROACTIVE AND HELP THE USER TUNE THE SKILL FOR GOOD RESULTS!
Troubleshooting
- Port 8000 busy: run
bash "{baseDir}/scripts/stop_api.sh"or pass--portto the API command. - Empty results: increase
WINDOW_HOURSor verify the API key in.env. - Missing API key errors: export
OPENAI_API_KEYorLITELLM_API_KEYin the shell before running.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

