Backend & APISûr100100/100
API Diff Validation (.NET)
Validate that a generated API diff matches the APIs actually shipped in a .NET build, and that every new API traces to a real change. Uses dotnet-inspect to query the build's ref packs and cross-references new APIs against candidate PRs to catch missed reverts, renames, and kept-internal APIs before they reach release notes. Distinct from the pure api-diff skill, which only generates the diff reports.
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs api-diff-validation__dotnet-core__github-skills-4179f864192c.NET
dotnet/core
Contenu à copier
---
name: api-diff-validation
description: >
Validate that a generated API diff matches the APIs actually shipped in a .NET
build, and that every new API traces to a real change. Uses dotnet-inspect to
query the build's ref packs and cross-references new APIs against candidate PRs
to catch missed reverts, renames, and kept-internal APIs before they reach
release notes. Distinct from the pure api-diff skill, which only generates the
diff reports.
metadata:
origin: .NET
---
# API Diff Validation
Confirm that the **public APIs claimed by an API diff actually shipped** in the
target build, and that each new API traces to a real PR. This is the verification
layer on top of the pure `api-diff` skill (which only produces the diff reports).
Use it to catch, before release notes are written:
- APIs present in the diff but **missing from the shipped build** (a missed revert,
a rename, or an API kept internal),
- new APIs with **no implementing PR** (suspicious / mis-attributed).
## Inputs
- A generated API diff for the milestone (the `api-diff/` reports), or the target
release identity.
- **`build-metadata.json`** — `nuget.source` (the dnceng `dotnet<major>` feed) and
the ref-pack package versions for the exact build.
- The milestone's `changes.json` / candidate PRs (for cross-referencing).
`dotnet-inspect` is used here as a **tool**, not a separate skill: it reflects over
the real ref packs from the build's feed, so it answers "does this API exist in
*this* build?" authoritatively.
## 1. Point at the right build (never the locally-installed SDK)
Read `build-metadata.json` for the target. Use its `nuget.source` as `$FEED` and
the ref-pack versions (e.g. `Microsoft.NETCore.App.Ref@<version>`) as `$VER`. For
behavior that requires the SDK (rare here), install it side-by-side and scoped —
see the `validate-code-samples` skill. Do **not** trust a machine-wide SDK for
preview work.
## 2. Verify APIs exist with dotnet-inspect
```bash
# Does a new type/member exist in the build's ref pack?
dnx dotnet-inspect -y -- find "*AnyNewLine*" \
--package "Microsoft.NETCore.App.Ref@${VER}" --source "$FEED"
# Enumerate a type's members to confirm a signature.
dnx dotnet-inspect -y -- member RegexOptions \
--package "Microsoft.NETCore.App.Ref@${VER}" --source "$FEED" -k field
# Diff the public API between two builds (sanity-check the generated diff).
dnx dotnet-inspect -y -- diff \
--package "Microsoft.NETCore.App.Ref@${PREV}..${VER}" --source "$FEED"
```
For each API the diff claims is new, confirm it is present. If an API is **missing
from the build**, treat it as a serious signal: it may have been renamed, kept
internal, or reverted after the diff was captured — flag it for exclusion.
## 3. Cross-reference new APIs against candidate PRs
For each new API/namespace in the diff, verify at least one candidate PR (from
`changes.json`) covers it. If an API has **no matching PR**, search for the
implementing PR explicitly before trusting it:
```bash
gh search prs --repo dotnet/<repo> --merged "<distinctive API name>" \
--json number,title,mergedAt,url
```
If no implementing PR can be found and `dotnet-inspect` cannot confirm the API,
do not document it.
## 4. Detect missed reverts
An API may appear in the diff yet have been **backed out** later. Confirm presence
in the build with `dotnet-inspect` (step 2) and check for a follow-up revert PR:
```bash
gh search prs --repo dotnet/<repo> --state merged \
"\"This reverts\" <pr-number>" --json number,title,url
```
If the API is absent from the build or a merged revert exists, mark the feature as
reverted (suppress it / score it down in `features.json`).
## 5. Report
Emit a concise verdict per checked API: **present** (with PR), **missing**
(rename/internal/revert — exclude), or **unverified** (describe without naming the
type). Scope the report to the documented/announced surface; do not surface
undocumented deltas.Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait API Diff Validation (.NET)
APIs present in the diff but **missing from the shipped build** (a missed revert,
new APIs with **no implementing PR** (suspicious / mis-attributed).
A generated API diff for the milestone (the `api-diff/` reports), or the target
**`build-metadata.json`** — `nuget.source` (the dnceng `dotnet<major>` feed) and
Comment utiliser API Diff Validation (.NET)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour API Diff Validation (.NET)
Dis simplement à ton agent quelque chose comme :
Applique le skill api-diff-validation__dotnet-core__github-skills-4179f864192c à cette tâche
Utilise api-diff-validation__dotnet-core__github-skills-4179f864192c pour améliorer cette implémentation
Passe en revue ce sujet avec api-diff-validation__dotnet-core__github-skills-4179f864192c
Skills liés à API Diff Validation (.NET)
Activate Site (Microsoft)
Activates and provisions a Power Pages website in a Power Platform environment via the Power Platform REST API. Use when the user wants to activate, provision, turn on, or enable a Power Pages website or portal.IA Core (TanStack)
Entry point for TanStack AI skills. Routes to chat-experience, tool-calling, media-generation, structured-outputs, adapter-configuration, ag-ui-protocol, middleware, locks, custom-backend-integration, and debug-logging, plus the skills shipped by companion packages (@tanstack/ai-persistence, @tanstack/ai-code-mode). Use chat() not streamText(), openaiText() not createOpenAI(), toServerSentEventsResponse() not manual SSE, middleware hooks not onEnd callbacks.api-connector-builder
Build a new API connector or provider by matching the target repo's existing integration pattern exactly. Use when adding one more integration without inventing a second architecture.