Skip to main content

whatsnew

Step-argument skill that formalizes writing an Aspire "What's new in N.N" release-notes page (src/frontend/src/content/docs/whats-new/aspire-N-N.mdx) as a repeatable lifecycle. Invoke as `/whatsnew {modality}` where modality is one of: draft/scaffold (init), research, critique, validate, polish, review. USE FOR: start/scaffold a new what's-new page for a release, research a release's changes into a dossier and author the draft prose, critique a draft, fact-check/validate the diff, polish and run data ingestion, or sign off the PR. DO NOT USE FOR: general docs pages (use doc-writer), reviewing an arbitrary docs PR (use doc-pr-reviewer), or product-repo changes. ORCHESTRATES: doc-writer, doc-pr-reviewer, doc-tester, twoslash-validator, update-integrations, update-samples, container-images.

Source facts

Repository
microsoft/aspire.dev
Last source activity
October 2, 2026 at 12:50
Detected SKILL.md language
English
Stars
199
Forks
93

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
9 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
whatsnew
description
Step-argument skill that formalizes writing an Aspire "What's new in N.N" release-notes page (src/frontend/src/content/docs/whats-new/aspire-N-N.mdx) as a repeatable lifecycle. Invoke as `/whatsnew {modality}` where modality is one of: draft/scaffold (init), research, critique, validate, polish, review. USE FOR: start/scaffold a new what's-new page for a release, research a release's changes into a dossier and author the draft prose, critique a draft, fact-check/validate the diff, polish and run data ingestion, or sign off the PR. DO NOT USE FOR: general docs pages (use doc-writer), reviewing an arbitrary docs PR (use doc-pr-reviewer), or product-repo changes. ORCHESTRATES: doc-writer, doc-pr-reviewer, doc-tester, twoslash-validator, update-integrations, update-samples, container-images.
# What's-new release-notes skill Formalizes the previously ad-hoc process of writing an Aspire **"What's new in Aspire N.N"** page as a single, step-argument skill with a repeatable lifecycle. Invoke it as `/whatsnew {modality}` — the modality argument selects one phase: ``` {draft/scaffold} → {research} → {critique} → {validate} → {polish} → {review} init/structure dossier+draft self-review fact-check edits+data sign-off ``` Each phase has a dedicated spec under [`references/`](./references/). This skill **orchestrates** existing skills — it does not duplicate them. `{research}` is the phase that **authors** the article body from its dossier; `{critique}`/`{validate}` then review and fact-check that draft, and `{polish}` finalizes it. Because `{polish}` edits content *after* `{validate}`, it must end with a **fresh `{validate}` pass** so nothing ships unchecked (see below). ## Dispatch on the modality argument Read the argument, then follow the matching spec. `draft`, `scaffold`, and `init` are aliases for the same phase. If no argument is given, ask which phase to run (or infer from context — e.g. a fresh release with no page → `draft`). | Modality | Alias | Purpose | Spec | Edits content? | |----------|-------|---------|------|----------------| | `draft` | `scaffold`, `init` | Stand up branch, draft PR, skeleton MDX, banner, sidebar, version constants. **Structure only.** | [`01-draft-scaffold.md`](./references/01-draft-scaffold.md) | Skeleton only | | `research` | — | Enumerate every change into an impact-focused **dossier**, then **author the first-draft prose** into the MDX from it. | [`02-research.md`](./references/02-research.md) | **Yes — drafts the body** | | `critique` | — | Content-quality **self-review** of draft vs dossier; severity-ranked findings. | [`03-critique.md`](./references/03-critique.md) | **No — reports only** | | `validate` | — | **Ralph loop** with `doc-pr-reviewer` until 100% factual; samples/links/assets. **No `pnpm build`.** | [`04-validate.md`](./references/04-validate.md) | Fixes only | | `polish` | — | Editorial pass + CI triage + diagnostics-author `@mentions` + **automated data ingestion**, then a **final `{validate}` pass**. | [`05-polish.md`](./references/05-polish.md) | **Yes** | | `review` | — | Undraft PR, description, reviewers + `doc-tester` **blind** run of every in-article scenario. | [`06-review.md`](./references/06-review.md) | No | ## Supporting references - [`whats-new-template.mdx`](./references/whats-new-template.mdx) — structure-only skeleton the `draft` phase copies (scaffold tokens, `publishDate` frontmatter, and the mandated section taxonomy). - [`writing-guidelines.md`](./references/writing-guidelines.md) — humanized voice + the maintainer content standards. Defers to `doc-writer` for canonical style. ## Cross-cutting rules (apply to every phase) ### Git / branching / PR - Release work happens on a **`release/{N.N}` branch** in the repository. - Cut `release/{N.N}` from the **latest default branch** (e.g. `main`) — fetch first so you branch from an up-to-date base and avoid merge conflicts. - Iterate via a **draft PR** from `release/{N.N}` into the repository's **default branch**. Open it **after** the scaffold is committed (a branch with no commits ahead of the default branch has no diff, so the PR can't be created); `{review}` marks it ready for review. ### Voice & quality (see `writing-guidelines.md` + `doc-writer`) - **Impact first, positives first, KISS.** No walls of text, no marketing fluff. - **Judicious `<Aside>`** — a spotlight, not a floodlight. Don't burn the reader's eyes. - **Content standards:** Deployment and Integrations are **separate** sections; a distinct **"New integrations"** section for brand-new ones; a **"Default container image updates"** section for tag bumps. The release-date badge + GitHub release-notes link render **automatically** from `publishDate` + slug — never hand-place them. - **Resource artwork:** Every new release page must set `resourceImage` to newly captured screenshots demonstrating a feature introduced in that release, with matching `light`/`dark` variants. Verify the running product version and capture its actual UI; do not substitute generic dashboard artwork, an older release's screenshots, or fabricated UI. Store the files in the release's assets folder before adding their paths, and show them beside the feature in the article. The resource directory discovers release pages and consumes this frontmatter automatically; do not add a duplicate catalog entry. Verify the card's image and release metadata in the resource-catalog tests and browser preview. ### Safety / mechanics - **Never run `pnpm build` locally** — validate build-readiness by inspection. - Each modality is **idempotent** — safe to re-run; `critique`/`validate` loop to convergence. - **Re-validate after polish.** Any edit `{polish}` makes lands *after* the `{validate}` gate, so `{polish}` must finish with a fresh `{validate}` pass and `{review}` confirms it — the committed article never bypasses validation. - Prefer built-in tools over shell; Windows-friendly paths. ## Key repository paths | What | Path | |------|------| | What's-new pages | `src/frontend/src/content/docs/whats-new/aspire-N-N.mdx` (JA under `.../ja/whats-new/`) | | Version constants | `src/frontend/config/aspire-versions.mjs` (`currentAspireMajorMinorVersion`, `currentAspireVersion`, `currentAspireReleaseDate`, `currentAspirePreviewVersion`) | | Sidebar | `src/frontend/config/sidebar/docs.topics.ts` (What's-new `items`) | | Announcement banner | `banner:` frontmatter on `src/frontend/src/content/docs/index.mdx`, `src/frontend/src/content/docs/docs.mdx`, `src/frontend/src/content/docs/community/index.mdx`, and each `src/frontend/src/content/docs/{locale}/index.mdx` (+ `.../ja/docs.mdx`); rendered by `src/frontend/src/components/starlight/Banner.astro` | | Assets | `src/frontend/src/assets/whats-new/aspire-<version>/` | | Container image data | `src/frontend/src/data/container-images.json` | | Diagnostics articles | `src/frontend/src/content/docs/diagnostics/aspire<area><NNN>.mdx` → `/diagnostics/aspire<NNN>/` | | Data ingestion | `src/frontend/scripts/update-integration-data.ps1` (`pnpm update:all`) | ## Orchestrated skills `doc-writer` (voice/style) · `doc-pr-reviewer` (validate loop) · `doc-tester` (review blind run) · `twoslash-validator` (TS samples) · `update-integrations` / `update-samples` / `container-images` (polish data ingestion).
View on GitHub