Skip to main content

rfc-review-compatibility

Deep-dive review of a technical RFC focused on change-management concerns — API/ABI/wire/on-disk compatibility, version skew, migration tooling, rollout mechanics, reversibility, and consumer impact. Produces a written review report. Use when an RFC touches a stable surface (public API, plugin ABI, on-disk or wire format), or as a follow-up pass after `/rfc-review` flags compatibility as a deeper concern.

Zur Installation springen

Quellinformationen

Repository
ROCm/rocm-libraries
Letzte Quellaktivität
5. Juni 2026 um 20:52
Erkannte Sprache von SKILL.md
Englisch
Sterne
400
Forks
367

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
5 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
rfc-review-compatibility
description
Deep-dive review of a technical RFC focused on change-management concerns — API/ABI/wire/on-disk compatibility, version skew, migration tooling, rollout mechanics, reversibility, and consumer impact. Produces a written review report. Use when an RFC touches a stable surface (public API, plugin ABI, on-disk or wire format), or as a follow-up pass after `/rfc-review` flags compatibility as a deeper concern.
argument-hint
[<path-or-pr>]
allowed-tools
Read, Grep, Glob, Bash, WebFetch
# RFC Review — Compatibility & Change-Management Deep Dive Focused lens on a single RFC. Where the umbrella `/rfc-review` gives change management one paragraph among five, this skill spends the entire pass on it. A reader of the report should be able to answer: - If we ship this and an N-1 consumer hits the new code, what happens? - If we ship it and discover it's wrong tomorrow, what is the rollback? - Who depends on the surface we're changing, and have they been consulted? ## Usage ``` /rfc-review-compatibility # Find the RFC on the current branch and review it /rfc-review-compatibility docs/rfcs/my-rfc.md # Review a specific RFC file ``` Can be invoked standalone, or as a follow-up when `/rfc-review` recommends a deeper compat pass. ## When to invoke this skill - The RFC proposes a change to a stable surface: public API headers, plugin ABI, exported symbols, wire protocol, on-disk format, configuration schema. - The RFC introduces or modifies a shim, compatibility layer, or version-bridging code. - The RFC describes a deprecation, replacement, or migration of an existing feature. - The umbrella `/rfc-review` ran and flagged compatibility as the area needing a deeper pass. Do NOT invoke for greenfield code with no existing consumers, or for pure internal refactors with no surface exposed to downstreams — the lens has nothing to bite on. ## Workflow ### Step 1 — Locate the RFC In order of preference: 1. Argument path, if provided. 2. PR/branch context: `git log -1 --name-only` and look for added/modified `.md` files under `docs/`, `rfcs/`, `design/`, or paths matching `*rfc*`. 3. If still ambiguous, ask the user for the path. Do not guess across multiple candidates. ### Step 2 — Read the RFC and surrounding surface - Read the full RFC end-to-end. Do not skim — compat issues hide in the parts that look like boilerplate. - Identify the **surface(s) being changed**: which headers, which exported symbols, which plugin entry points, which formats. Use Grep/Glob to confirm what currently exists. - Identify **the current consumers** of that surface where possible. For a shim, that means: who calls the old API today? For a plugin interface, who ships plugins against it? - Note the RFC's own claims about compatibility, migration, rollout, and reversibility — these are what you are evaluating. ### Step 3 — Walk the focused checklist See `prompt.md` for the full per-area checklist. The sub-areas: 1. **Compatibility kinds** — API, ABI, behavior, wire/on-disk format. 2. **Version skew** — client/server, plugin/host, build-time vs runtime. 3. **Migration** — tooling, deprecation timeline, communication. 4. **Rollout** — feature flags, staged rollout, dark-launch. 5. **Reversibility** — rollback story, forward-compat for the rollback. 6. **Consumer/dependency impact** — who is affected, have they been consulted. 7. **Domain hooks** — C++ ABI, plugin interface stability, CUDA/HIP/cuDNN-style API evolution. For each sub-area produce: **strengths** (skip if none), **concerns** (graded `blocking` / `non-blocking`), **questions for the author**. A sub-area with nothing to say is one line — do not pad. ### Step 4 — Ask the user how to deliver the report Before writing, ask the user how they want the report delivered. Offer these options: 1. **On disk next to the RFC** — saved as `<rfc-dir>/review-compat-<YYYY-MM-DD>-<reviewer>.md`. 2. **Inline in chat only** — printed in the conversation, nothing written to disk. 3. **Both** — written to disk and printed inline. Skip this prompt only if the user already stated a preference in the current turn (e.g. "just print it" or "save the review to ..."), in which case respect that and note the choice in your reply. ### Step 5 — Synthesize the report Use `assets/templates/review-report.md` as the structure. Lead with the verdict and blocking concerns; put per-area detail underneath. If writing to disk, use the git user name (`git config user.name`) as `<reviewer>` and tell the user the path when done. ### Step 6 — Recommend deeper passes If the compat review surfaces concerns that need a different specialist (e.g. operational/build concerns, security/threat model), name them at the end of the report. This skill does not try to be the umbrella — it owns one lens deeply. ## Output rules - **No padding.** A sub-area with nothing to say is one line: "Reversibility — no concerns." Do not invent issues. - **Cite the RFC.** Every concern references the specific section/line, so the author can find it. - **Separate blocking from non-blocking.** Blocking means "I would not approve without this resolved." Use sparingly. - **Ask, don't assert.** When a section is ambiguous, ask a question rather than critique a guess. - **Verdict at the top.** One of: `approve`, `approve-with-comments`, `needs-revision`, `block`. One-sentence justification. - **Be specific to the surface.** "ABI concerns" is not a finding; "adding a virtual method to `cudnnHandle` breaks vtable layout for existing plugins" is. ## Examples ``` /rfc-review-compatibility # → finds the RFC on the current branch, runs the compat deep dive /rfc-review-compatibility docs/rfcs/0042-plugin-v2.md # → reviews a specific RFC with the compat lens ```
Auf GitHub ansehen