code-review
Review the changed lines of a single file in a pull request for bugs, correctness, error handling, security, and maintainability,…
Analyzes a Dependabot PR to determine what actually changed in each bumped package and whether those changes affect this repo. Reports changed APIs/methods, which doc pages use them, and the realistic probability of any visible impact on the docs site.
$ npx -y skills add try-works/role-model --skill dependabot-review --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dependabot-reviewContext preview
The summary Claude sees to decide when to auto-load this skill.
Analyzes a Dependabot PR to determine what actually changed in each bumped package and whether those changes affect this repo. Reports changed APIs/methods, which doc pages use them, and the realistic probability of any visible impact on the docs site.
description: "Analyzes a Dependabot PR to determine what actually changed in each bumped package and whether those changes affect this repo. Reports changed APIs/methods, which doc pages use them, and the realistic probability of any visible impact on the docs site."
Load this skill when asked to review, analyze, assess, or verify a Dependabot PR.
Give the reviewer a clear answer to: **does this version bump require any action beyond merging?**
gh pr view <PR_NUMBER> --repo cloudflare/cloudflare-docs --json title,body
Parse the PR body to extract package name(s) and version range (old → new). Dependabot PRs always include this in structured form.
For grouped PRs, there will be multiple packages. Process each one.
Check in this order — stop at the first that works:
1. **GitHub releases** — `gh release list --repo <upstream-repo>` then `gh release view <tag>` 2. **CHANGELOG.md in the repo** — `gh api repos/<upstream>/contents/CHANGELOG.md` (decode base64) 3. **npm changelog** — `npm view <package>@<new-version> changelog` or the registry page 4. **Commit diff** — if no changelog exists, diff the tag range:
gh api repos/<upstream>/compare/<old-tag>...<new-tag> --jq '.commits[].commit.message'
Focus only on the commits/entries between old and new version. Ignore unrelated history.
From the changelog/diff, identify:
Ignore: internal refactors, CI changes, test changes, type-only changes that don't affect emitted JS.
Run these searches against the local codebase. **Do not skip this step.**
# Direct import anywhere in source
grep -r "from ['\"]<package>['\"]" src/ worker/ bin/ --include="*.ts" --include="*.tsx" --include="*.mjs" --include="*.js" --include="*.astro" -l
# require() usage
grep -r "require(['\"]<package>['\"]" src/ worker/ bin/ -l
# Is it a direct or transitive dependency?
grep '"<package>"' package.json
# If transitive, who pulls it in?
node -e "const lock = require('./pnpm-lock.yaml'); ..."
# or just:
grep -A2 '"<package>"' pnpm-lock.yaml | grep -v "^--$" | head -20If the package is **not directly imported** anywhere, it is transitive. Identify which direct dependency pulls it in by checking `pnpm-lock.yaml`.
If the package is directly imported, find which source files use the specific APIs that changed:
# For each changed method/export, search for callsites grep -r "<method_name>\|<export_name>" src/ worker/ bin/ --include="*.ts" --include="*.tsx" --include="*.astro" -l
For Astro/MDX source files under `src/content/docs/`, map them to their route:
If more than ~5 files use the changed API, list a representative sample (pick the most prominent product areas).
Rate the probability that this bump causes a **visible change to the docs site**:
| Rating | Meaning | |--------|---------| | **None** | Package not used directly; transitive only; or only internal/type changes | | **Very Low** | Direct dependency, but changed APIs are not called in this repo | | **Low** | Changed APIs are called, but only in build tooling (not runtime or content rendering) | | **Medium** | Changed APIs affect content rendering (Astro components, MDX processing, syntax highlighting) | | **High** | Changed APIs affect output seen by users — rendered HTML, search index, Worker behavior |
For **security fixes**: note what the vulnerability affects and whether our usage is in the vulnerable code path.
## <package-name>: <old-version> → <new-version> **Type of update:** [security fix | bug fix | feature | breaking change] **Dependency type:** [direct | transitive (pulled in by <package>)] ### What changed - <bullet: specific API/behavior change> - <bullet: ...> ### Usage in this repo <"Not used directly — transitive only" OR list of files/callsites> ### Affected doc pages (sample) - `/product/section/page/` — uses `<method>` - (none) ### Impact rating: <None | Very Low | Low | Medium | High> <1–2 sentence explanation of the rating>
If the PR bumps multiple packages, repeat the block for each. End with a one-line recommendation:
Dependabot opens security PRs immediately, regardless of `dependabot.yml` schedule. This is expected. The `schedule.day` setting only applies to version updates.
Security PRs are also not grouped with other packages — each gets its own PR. This is also expected GitHub behavior.
For grouped PRs (non-major group), the PR body lists each package separately. Process each package independently through steps 2–6, then give a combined recommendation.
If a package has no changelog and the upstream repo is private or unavailable: 1. Check npm for version diff: `npm diff <package>@<old> <package>@<new>` 2. If that also fails, note it explicitly and rate impact conservatively based on usage alone.
role-model is an open protocol for capability-aware AI routing, plus a reference router that implements that protocol.
Review the changed lines of a single file in a pull request for bugs, correctness, error handling, security, and maintainability,…
Use when contributing to the Cloudflare Docs repository — writing or editing documentation pages, choosing content types or…
Review a pull request's title, description, and scope against the repository's PR conventions.
Transform technical jargon into clear explanations using before/after comparisons, metaphors, and practical context
Creates and updates GitHub pull requests for cloudflare-docs changes. Load when asked to open, create, submit, update, or edit a…
Reconcile raw specialist findings against the previous bot review and human PR comments to produce a final classified finding…