update-docs

$npx mdskill add huggingface/OpenEnv/update-docs

Automatically updates documentation for API changes across the codebase

  • Solves stale documentation by finding outdated API references
  • Uses git diff and Python file analysis to detect changes
  • Compares old and new signatures to identify breaking changes
  • Spawns a dedicated agent to apply documentation fixes

SKILL.md

.github/skills/update-docsView on GitHub ↗
---
name: update-docs
description: Update documentation across the repo after API changes. Finds stale references in docs, examples, docstrings, and fixes them.
---

# /update-docs

Find and fix stale documentation after API changes.

## EXECUTE THESE STEPS NOW

When this skill is invoked, you MUST execute these steps immediately.

### Step 1: Identify Changed Files

Run:

```bash
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:

```bash
git diff --name-only HEAD~1 -- '*.py'
```

If that also fails, ask the user which files changed.

Collect the list of changed Python files.

### Step 2: Extract API Changes

For each changed .py file, compare old vs new signatures using the same
ref that worked in Step 1:

```bash
# 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:
- Function/method signatures (def lines)
- Class names and __init__ signatures
- Module-level constants and type aliases
- Removed or renamed public symbols

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.

### Step 3: Spawn Docs Updater Agent

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.
```

### Step 4: Review Results

After the agent returns:
- Review the update report
- Verify no test files were touched
- Verify changes are minimal and correct

Report the summary to the user.

---

## When to Use

- After `/implement` when API signatures changed
- Before `/pre-submit-pr` to ensure docs are fresh
- When refactoring public APIs

## When NOT to Use

- Internal-only changes (no public API affected)
- Test-only changes
- Documentation-only changes (no code changed)

## Workflow Integration

```
/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
```

More from huggingface/OpenEnv

SkillDescription
alignment-reviewReview code changes for bugs and alignment with OpenEnv principles and RFCs. Use when reviewing PRs, checking code before commit, or when asked to review changes. Implements two-tier review model.
deploy-hfDeploy an OpenEnv environment to Hugging Face Spaces. Use when asked to deploy, push to Hugging Face, or update a space.
generate-openenv-envGenerate OpenEnv environments from a concrete use case (for example, "generate an env for the library textarena"). Use when asked to design or implement a new environment under envs/ by researching a target library/API, selecting matching OpenEnv examples, asking key implementation questions, and building models/client/server/openenv.yaml. Do not use for model training or evaluation tasks.
hf-space-recoveryDiagnose and recover failing or stuck Hugging Face Space deployments for OpenEnv environments. Use when deploying envs from `envs/` to the Hub (`openenv` namespace with version suffixes), when Spaces are in `BUILDING`/`APP_STARTING`/`RUNTIME_ERROR`, or when release collections need to be reconciled after targeted redeploys.
implementMake tests pass. Invoke after /write-tests produces failing tests.
openenv-cliOpenEnv CLI (`openenv`) for scaffolding, validating, building, and pushing OpenEnv environments.
pre-submit-prValidate changes before submitting a pull request. Run comprehensive checks including lint, tests, alignment review, and RFC analysis. Use before creating a PR, when asked if code is ready for review, or before pushing for PR.
releaseRelease workflow for deploying OpenEnv environments to Hugging Face Spaces and keeping canonical references in sync.
rfc-checkDetermine if proposed changes require an RFC. Use when planning significant changes, before starting major work, or when asked whether an RFC is needed.
simplifyRefactor code after tests pass. The "Refactor" phase of Red-Green-Refactor.