curate-daily-papers

$npx mdskill add huggingface/paperswithcode/curate-daily-papers

Curate the exact Hugging Face daily-paper cohort, not all papers whose arXiv publication date happens to fall on the requested day. This distinction keeps conference bulk imports and unrelated backfills out of scope.

SKILL.md

.github/skills/curate-daily-papersView on GitHub ↗
---
name: curate-daily-papers
description: >-
  Curate Papers With Code papers from a Hugging Face daily-paper import: enrich
  official URLs and existing task/method tags, remove false-positive tags, add
  paper-native evaluation results only for existing benchmark/task/metric
  leaderboards, verify ranks and duplicates, and report every change. Use this
  whenever the user asks to curate yesterday's papers, run daily paper curation,
  enrich a daily import, process a specific Hugging Face paper date, or repeat
  the recent weekly paper-enrichment workflow for a day or date range.
---

# Curate Daily Papers

Curate the exact Hugging Face daily-paper cohort, not all papers whose arXiv
publication date happens to fall on the requested day. This distinction keeps
conference bulk imports and unrelated backfills out of scope.

Run repository commands from the repository root:

```bash
uv run --env-file backend/keys.env ...
```

## Inputs and defaults

- Accept a date, `yesterday`, or a closed date range.
- Interpret dates in UTC. If no date is supplied, use yesterday in UTC.
- A date range means the union of each day's Hugging Face daily list,
  de-duplicated by arXiv ID.
- If the user says `dry run`, perform every read and proposal step but make no
  database writes.

Before acting, read and follow these repository skills:

- `hf-cli` for the canonical daily list and paper Markdown.
- `pwc-cli` for paper inspection and supported paper updates.
- `enrich-paper` for official URLs and conservative taxonomy tagging.
- `add-evals` for evaluation eligibility, normalization, and writes.
- `verify-evals` for the final leaderboard audit.

User instructions override defaults. In particular, preserve these standing
curation constraints unless the user explicitly changes them:

- Prefer no eval over an external/comparator eval.
- Add evals only to benchmark + task + metric triples already configured in the
  database.
- Never create duplicate evals.

## 1. Resolve the exact cohort

For each date, run:

```bash
uv run --env-file backend/keys.env \
  hf papers list --date YYYY-MM-DD --limit 100 --format quiet
```

Use the returned IDs as the sole paper scope. Do not substitute a database
`date_published` filter. De-duplicate IDs while preserving date order and verify
that every ID resolves in the local database. Report missing imports rather than
silently indexing them unless the user also asked for ingestion.

For a quick machine-readable inventory, run:

```bash
uv run --env-file backend/keys.env python \
  .agents/skills/curate-daily-papers/scripts/inspect_cohort.py \
  --date YYYY-MM-DD
```

Repeat `--date` for a range. The helper is read-only.

## 2. Triage all papers cheaply

Read every title and abstract. Use them to identify:

- clearly relevant existing task and method tags;
- existing tags that describe cited baselines, model families, or incidental
  domains rather than the paper's contribution;
- papers likely to contain eligible result tables.

Do not read every paper in full. For eval candidates, use `hf papers read ID`
and inspect the evaluation/experiments sections and relevant tables. Escalate to
the PDF only when Markdown loses table structure or essential footnotes.

Keep tags sparse and contribution-focused. A useful default is 1–4 tasks and
1–6 methods, but evidence matters more than quotas. Use only taxonomy rows that
already exist. Generic mentions such as LLM, VLM, transformer, RL, QA, NeRF, or
Gaussian Splatting do not by themselves establish a task or method tag.

Preserve existing links unless they are clear false positives. Replace task and
method lists through `pwc paper update`; merge deliberately so an update does
not accidentally erase a valid manual tag. Record every add and removal.

## 3. Apply the eval eligibility gates

An evaluation is eligible only when all gates pass:

1. The result is for a model introduced by the source paper. Exclude comparator,
   baseline, and cited-model rows even if the paper reproduces them.
2. The benchmark already exists and is already associated with the target task.
3. The exact metric already exists on that benchmark/task leaderboard.
4. No evaluation already exists for the same paper and leaderboard. Treat
   renamed variants or duplicate table rows as duplicates; keep the paper's
   best eligible introduced-model result per leaderboard.
5. The value uses the leaderboard's expected scale and direction. Check percent
   versus fraction scales and benchmark-specific conventions such as OCRBench.
6. The source is the paper itself. For arXiv papers, use exactly
   `https://arxiv.org/abs/<arxiv_id>` and ensure the resulting row is not marked
   external.
7. The evaluated model is finished. Skip results from a model that the source
   marks as still training, under revision, or a preview or interim
   checkpoint, as `add-evals` describes.

Set a Hugging Face model URL only when the exact evaluated model has an official
model repository. Set open/closed status from evidence, not from the presence of
a paper repository.

When a potentially useful result fails a gate, skip it and include the specific
reason in the report. Never create a missing benchmark, task association, or
metric as part of this workflow.

## 4. Preflight and write safely

Before each eval write, query existing evaluations for the paper and the exact
task/dataset/metric triple. Check both model name and leaderboard identity.

Batch proposed tag and eval changes in a reviewable temporary script or explicit
CLI commands. Keep the scope limited to the cohort IDs. Use `apply_patch` for
temporary files and remove them after successful verification.

In dry-run mode, print the exact proposed changes and stop here.

## 5. Verify every write

After writes:

- reread each changed paper;
- verify task/method additions and removals;
- query every new eval ID and confirm:
  - paper ID and model are correct;
  - source URL is the paper's own arXiv URL;
  - `is_external` is false;
  - benchmark/task/metric match the configured leaderboard;
  - rank is non-null;
- query duplicate groups by paper + leaderboard and ensure none were introduced;
- run the repository metric/evaluation validator described by `add-evals`;
- use `verify-evals` for any leaderboard where comparability is uncertain.

If verification finds an error, correct or delete that scoped write before
reporting completion.

## Report

Lead with the outcome and include:

- requested dates and exact cohort size;
- number of papers whose task/method tags changed;
- per-paper tag additions and removals;
- each added eval: paper URL, model, task, benchmark, metric, value, rank;
- skipped eval candidates and concise reasons;
- confirmation that all new evals are paper-native, use existing leaderboards,
  have ranks, and introduce no duplicates;
- validation failures or unresolved uncertainties.

If nothing changed, say so explicitly and still report the cohort size and the
checks performed.

More from huggingface/paperswithcode

SkillDescription
add-benchmarkAdd or update benchmark datasets/leaderboards in the paperswithcode repo database. Use this whenever the user asks to add a benchmark, add a leaderboard, set default/featured benchmarks for a task, link benchmarks to tasks, add Accuracy or other metrics for a benchmark, or fix benchmark source links. This is repo-specific and should trigger even if the user only names benchmark titles and a task page.
add-conferenceAdd or update conference rows in the paperswithcode repo database. Use this whenever the user asks to add a conference, create a conference page, import accepted papers for a venue (CVPR, ICLR, NeurIPS, ICML, ICRA, etc.), set conference dates/venue/description/hero image, or link papers to a conference edition. Trigger even for casual phrasing like "add CVPR 2027", "create the ICLR 2026 page", "import conference papers from this CSV", or "set the conference thumbnail".
add-evalsAdd evaluation results to the paperswithcode database from any source — Hugging Face model cards, arXiv/HF/PapersWithCode paper text, or GitHub repository READMEs — restricted to benchmarks that already exist with a task association and the exact leaderboard metric already configured. Use this whenever the user shares a Hugging Face model URL or repo id, an arXiv id / HF paper / PapersWithCode paper, a GitHub repository URL, or a model release page and asks to add evaluation results, benchmark scores, or leaderboard entries — even when phrased casually like "add scores from this model", "import benchmarks from <hf url>", "ingest the eval table from this paper into the DB", "grab the benchmarks from this repo's README", or "add evaluations for this release". By default import only the model(s) the source paper introduces — never post comparison-table baselines onto other papers as external evals unless the user explicitly asks. If the source is not backed by an arXiv paper, first use the add-external-paper skill to create or update the `source = 'external'` paper row, then attach evaluation rows to that paper. This skill must skip source-only metrics, component scores, subscores, and alternate metric labels unless that metric is already configured for the exact leaderboard; use it instead of generic ingestion guidance whenever the user is trying to populate evaluation results from a model, paper, or repository source.
add-external-paperAdd non-ArXiv external papers/resources to the paperswithcode repo database. Use this whenever the user asks to add, index, submit, or populate a paper/resource/release that does not have an arXiv paper, including Hugging Face model cards, GitHub repositories, blog posts, vendor technical reports, external PDFs, project pages, or release announcements. This skill should trigger even when the user casually says "add this repo/model/blog to paperswithcode" or gives a URL such as GitHub, Hugging Face, a company blog, a PDF, or a technical report and wants it to appear as a paper page with tasks, methods, code, project links, HF artifacts, and a thumbnail.
add-methodAdd or update AI/ML method taxonomy rows in the paperswithcode repo database. Use this whenever the user asks to add a method, technique, architecture, attention mechanism, training method, model-family method, or source/visual metadata for a method; says phrases like "make GPT-4 a method", "add X as a method", "similarly add this method", "link papers that cite the source paper", or "update the method source to point to the paper page"; or gives a method name plus a paper, arXiv id, PapersWithCode URL, Hugging Face report, GitHub explainer, blog post, or image for the method thumbnail.
add-taskAdd or update AI/ML task taxonomy rows in the paperswithcode repo database. Use this whenever the user asks to add a task, create a new benchmark category, add a subtask under an existing task, set task description/keywords/area/image, or expand task coverage; says phrases like "add X as a task", "create a task page for", "similarly add this task", or "we need a task for"; or names a research area (ASR, object detection, agents, tabular learning) that should become a browsable /tasks/ page with keywords and a hero image. After adding the task, recommend standard benchmarks to link next (use add-benchmark when the user wants them ingested).
complete-task>-
complete-task-based-on-hfComplete or audit a Papers With Code task using Hugging Face model popularity as the discovery signal. Use this whenever a user asks to scan the most downloaded or trending Hugging Face models for a pipeline/task, resolve their canonical technical reports, and add missing paper-native evaluations to existing Papers With Code benchmarks. Trigger for requests like "complete this task from HF", "check popular Hub models for missing evals", or a Hugging Face models URL with `pipeline_tag` and `sort`; use `add-evals` instead for one already-known model or paper, and `complete-task-v2` for a holistic field survey beyond Hugging Face.
complete-task-v2>-
create-thumbnailCreate, replace, audit, and publish Papers With Code paper thumbnails for one paper or every paper on a benchmark page. Use this whenever a user asks to add a thumbnail, fix an "Untitled resource" card, use artwork from a source/project/GitHub README, regenerate a paper preview, or find papers on a benchmark with missing, generic, stale, or broken thumbnails. This is the repo-specific end-to-end workflow for source selection, portrait composition, cache-safe publication, and live visual verification.