huggingface/hf-release-notes
Generate Hugging Face Hub (huggingface_hub) release notes from cached PR JSON files. Use when asked to draft release notes from PR files.
npx skills add https://github.com/huggingface/huggingface_hub --skill hf-release-notes
Generate release notes for huggingface_hub from cached PR JSON files. This skill reads PR metadata, categorizes entries, and produces a formatted markdown release notes document.
Output directory: The prompt will specify the output directory as <output_dir>. All paths below use this placeholder.
Read all PR JSON files from <output_dir>/tmp/pr_*.json. Each file contains:
{
"number": 1234,
"title": "...",
"author": "username",
"merged_at": "2026-01-15T10:30:00Z",
"body": "...",
"labels": ["highlight", "cli"],
"url": "https://github.com/huggingface/huggingface_hub/pull/1234",
"doc_diffs": [
{
"filename": "docs/source/en/guides/cli.md",
"status": "modified",
"patch": "@@ -10,6 +10,10 @@ ..."
}
]
}
The doc_diffs field contains unified diffs for any .md files under docs/ that were
changed in the PR. This is empty ([]) for PRs with no documentation changes.
A PR should be highlighted if:
"highlight" label on GitHub, orfeature, a meaningful UX improvement, or a notable breaking change) even without the label.
Use your judgment — not every feature PR needs a highlight, but don't limit highlights
to only labeled PRs. Each highlight section follows this structure:
## 🖥️ New CLI commandsAvoid bullet points here; write natural sentences. Only use bullets if the content
truly calls for a list (e.g., enumerating 4+ distinct sub-features).
block with a concrete usage example (cherry-pick from doc diffs when available).
- PR title by @author in #1234
For non-highlight PRs, classify into sections using references/sections.md heuristics based on:
For highlighted PRs and other PRs that introduce new features, commands, or APIs:
Use doc diffs first:
doc_diffs field in the PR JSON. If present, these contain the actualdocumentation changes made in the PR (unified diff format).
more accurate summaries. The diffs show exactly what the PR author wrote in the docs.
filename field maps to a docs page URL. For example,docs/source/en/guides/cli.md → https://huggingface.co/docs/huggingface_hub/main/en/guides/cli
Fetch full doc pages when needed:
https://huggingface.co/docs/huggingface_hub/main/en/index
relevant. For example:
https://huggingface.co/docs/huggingface_hub/main/en/guides/clihttps://huggingface.co/docs/huggingface_hub/main/en/guides/inferenceHow to reference:
📚 Documentation: Guide name
- PR title by @author in #1234 — docs
Output to <output_dir>/RELEASE_NOTES_<version>.md using the structure from references/release-notes-template.md:
# [vX.Y.Z] <tagline> (derive tagline from main highlights; always use the base version without prerelease suffix, e.g. [v1.8.0] even when generating for v1.8.0.rc0)Before finishing:
<output_dir>/tmp/ appears exactly once<output_dir>/tmp/ — those PRs belong to a different release and must not appear in these notesby @author in #1234<output_dir>/tmp/<output_dir>/RELEASE_NOTES_<version>.mdreferences/release-notes-template.md: Skeleton structure for release notesreferences/sections.md: Keyword-based section mapping and guidancehttps://huggingface.co/docs/huggingface_hub/main/en/indexTake huggingface/hf-release-notes from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.