huggingface/update-docs
Update documentation across the repo after API changes. Finds stale references in docs, examples, docstrings, and fixes them.
npx skills add https://github.com/huggingface/OpenEnv --skill update-docs
Find and fix stale documentation after API changes.
When this skill is invoked, you MUST execute these steps immediately.
Run:
git diff --name-only main...HEAD -- '*.py'
If no changes are found relative to main (e.g., on main or no upstream), fall back to:
git diff --name-only HEAD~1 -- '*.py'
If that also fails, ask the user which files changed.
Collect the list of changed Python files.
For each changed .py file, compare old vs new signatures using the same
ref that worked in Step 1:
# If Step 1 used main...HEAD:
git diff main...HEAD -- <file>
# If Step 1 fell back to HEAD~1:
git diff HEAD~1 -- <file>
Look for changes to:
Build a list of (old_signature, new_signature) pairs.
If no API changes are found (only internal logic changes), report
"No API changes detected — no docs update needed" and stop.
Use the Task tool to spawn the docs-updater agent. IMPORTANT: the
description field MUST contain "docs-updater" so the SubagentStop
hook fires correctly.
Task tool:
subagent_type: general-purpose
description: "docs-updater propagation"
prompt: |
You are a docs-updater agent. Read .claude/agents/docs-updater.md
for your full instructions.
Here are the API changes to propagate:
Changed files: <list>
API changes:
- `old` → `new`
...
Search the entire repo for references to the old APIs and update
them to match the new signatures. Follow the process in
.claude/agents/docs-updater.md exactly.
After the agent returns:
Report the summary to the user.
/implement when API signatures changed/pre-submit-pr to ensure docs are fresh/write-tests → Red (failing tests)
/implement → Green (passing tests)
/update-docs → Fix stale docs across repo ← THIS SKILL
/simplify → Refactor (optional)
/pre-submit-pr → Validate before PR
Take huggingface/update-docs 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.