DAB What's New
Use this skill to turn a feature list into a polished Learn-style Data API builder release page. Use data-api-builder/whats-new/version-2-0.md as the reference for scannability, tone, and section rhythm — but adapt to the supplied release scope rather than mimicking its structure literally.
Hard constraints
These apply unconditionally.
- Use Learn-compliant DocFX Markdown.
- Use standard Markdown image syntax
 for all images. Do not use :::image DocFX syntax.
- Use relative paths for links within the repo (e.g.,
../command-line/dab-init.md). Use site-relative paths starting with / only for cross-service Microsoft Learn links (e.g., /cli/azure/install-azure-cli). Never use absolute https://learn.microsoft.com/... URLs.
- Write in present tense.
- Write in second person ("you", "your"). Never use first person ("we", "our", "let's").
- Use active voice. Avoid passive constructions.
- Do not say "we recommend" — use "Consider..." or a direct imperative instead.
- Do not speculate or promise content beyond the supplied release scope.
- Do not pad with marketing language, hype, or vague adjectives.
- Do not turn the page into a raw changelog unless explicitly asked.
--- closes Learn tab groups only; never use it as a decorative separator.
Inputs
If inputs are missing, draft immediately with explicit [PLACEHOLDER] markers and list what is missing at the top of the draft. Do not use placeholders for author or ms.author, and do not stall waiting for complete non-author inputs.
Before creating or revising a .md page, confirm the GitHub username and Microsoft alias with a low-friction choice.
For an existing what's-new page:
- Read the page frontmatter first.
- Treat the existing
author and ms.author values as the default author identity.
- Offer a choice to keep the existing values or enter different values.
- If either value is missing, offer
author / ms.author pairs from nearby what's-new pages as selectable suggestions and allow a custom entry.
- If the user keeps the existing values, update only
ms.date unless other frontmatter must change.
For a new what's-new page:
- Inspect nearby what's-new pages and offer their
author / ms.author pairs as selectable defaults.
- Include an option to enter a different GitHub username and Microsoft alias.
- Do not guess or use placeholders for
author or ms.author.
Required inputs:
- Target version number
- Release month and year
- Release state (preview, GA, RC)
- One-sentence release focus summary
- Ordered feature list — with user value, CLI commands, config snippets, outputs, and canonical docs to link for each item
Document anatomy
YAML frontmatter — use this template:
---
title: "What's new in Data API builder version X.Y (Month Year)"
description: <75–300 characters summarizing the release>
author: <confirmed GitHub username from author identity selection>
ms.author: <confirmed Microsoft alias from author identity selection>
ms.reviewer: <Microsoft alias>
ms.service: data-api-builder
ms.topic: whats-new
ms.date: <MM/DD/YYYY>
# Customer Intent: As a developer, I want to learn what's new in DAB X.Y so that I can take advantage of new features.
---
H1: # What's new in Data API builder version X.Y (Month Year)
Optional release-status note (preview, RC, or other caveats)
One or two sentence summary paragraph on release themes
One ## section per major feature or behavior change
Section pattern
Apply this to most feature sections.
## Introducing: <feature name> (new capabilities)
## <descriptive heading> (enhancements)
[Opening paragraph: what changed and which DAB surface area — CLI, config, runtime, MCP, REST, auth, telemetry, etc.]
### Why?
[Direct benefit statement — "Now, when..." or "With ..."]
### Prerequisites for ... | Configuration requirements | Command line | Testing your configuration
[Use only when they materially help; omit otherwise]
### Read the docs
[1–3 targeted relative links]
Section ordering: Lead with the highest user-impact items. Group related features (auth, observability, MCP, and so on). Keep heading depth shallow; add ### subsections only when content genuinely needs them.
House style
These are preferred patterns, not hard rules, but they make the page consistent with existing DAB whats-new content.
- Sound like a product engineer explaining a release to practitioners.
- Short declarative sentences; lead with product behavior, then the benefit.
- Be explicit about defaults, constraints, and supported environments.
- Prefer: "DAB X.Y introduces...", "When enabled...", "Now, you can...", "With ..."
- Avoid: "revolutionary", "game-changing", "seamless", "best-in-class"
- Use callouts only for real safety or supportability boundaries:
> [!NOTE] — preview state, supportability caveats, scope limitations
> [!IMPORTANT] — behavior that can surprise users, affect security, or change permissions
- Do not stack callouts unless each carries distinct value.
Examples
Include examples only when they clarify how to adopt the feature.
Prefer small, copyable fragments over full-file samples. A JSON fragment is almost always enough; avoid massive full-config blobs.
Favor CLI examples for command-driven features, JSON fragments for config-shape features, and text output blocks for console-behavior changes.
Use realistic but compact entity and schema names.
Do not include near-duplicate samples.
Fenced code blocks must have explicit language tags:
| Content |
Tag |
DAB CLI commands (dab init, dab add, etc.) |
dotnetcli |
.NET CLI commands (dotnet tool install) |
dotnetcli |
Azure CLI commands (az group create) |
azurecli |
| PowerShell |
powershell |
| Bash / shell |
bash |
| JSON configuration |
json |
| YAML |
yaml |
| Plain text / output |
text |
Use tabs only when variants are materially different (for example, Bash vs. Windows Command Prompt). Keep tab IDs consistent across the page and close tab groups with ---.
Procedure
- Inventory the feature list; identify missing inputs.
- Group features by user impact and identify the headline items.
- Draft frontmatter, H1, status note, summary paragraph, and each feature section using the pattern above.
- Insert
[PLACEHOLDER] for any missing CLI, config, or link inputs and list them at the top.
- Integrate into the repo:
- Add the file to
TOC.yml under the "What's New?" section.
- Add the file to
whats-new/index.yml.
- Update
whats-new/index.yml metadata if it lists versions explicitly.
- Review: Spin up a sub-agent using a different model to check technical accuracy, style compliance, link correctness, and peer consistency with existing whats-new pages. Implement valid feedback; discard nitpicks.
- Audit: Use the
dab-docs-audit skill for a final compliance check against Microsoft Learn publishing requirements.
Output
- New or revised page: Produce publication-ready Markdown. List missing inputs separately at the top.
- Review or outline only: Return a compact issues list or section-order recommendation before drafting.
1---2name: dab-whats-new3description: Draft, revise, or review a Data API builder whats-new page. Use for release notes, version announcements, preview releases, GA releases, or release summaries.4---56# DAB What's New78Use this skill to turn a feature list into a polished Learn-style Data API builder release page. Use `data-api-builder/whats-new/version-2-0.md` as the reference for scannability, tone, and section rhythm — but adapt to the supplied release scope rather than mimicking its structure literally.910## Hard constraints1112These apply unconditionally.1314- Use Learn-compliant DocFX Markdown.15- Use **standard Markdown image syntax** `` for all images. Do not use `:::image` DocFX syntax.16- Use relative paths for links within the repo (e.g., `../command-line/dab-init.md`). Use site-relative paths starting with `/` only for cross-service Microsoft Learn links (e.g., `/cli/azure/install-azure-cli`). Never use absolute `https://learn.microsoft.com/...` URLs.17- Write in present tense.18- Write in **second person** ("you", "your"). Never use first person ("we", "our", "let's").19- Use **active voice**. Avoid passive constructions.20- Do not say "we recommend" — use "Consider..." or a direct imperative instead.21- Do not speculate or promise content beyond the supplied release scope.22- Do not pad with marketing language, hype, or vague adjectives.23- Do not turn the page into a raw changelog unless explicitly asked.24- `---` closes Learn tab groups only; never use it as a decorative separator.2526## Inputs2728If inputs are missing, draft immediately with explicit `[PLACEHOLDER]` markers and list what is missing at the top of the draft. Do not use placeholders for `author` or `ms.author`, and do not stall waiting for complete non-author inputs.2930Before creating or revising a `.md` page, confirm the GitHub username and Microsoft alias with a low-friction choice.3132For an existing what's-new page:3334- Read the page frontmatter first.35- Treat the existing `author` and `ms.author` values as the default author identity.36- Offer a choice to keep the existing values or enter different values.37- If either value is missing, offer `author` / `ms.author` pairs from nearby what's-new pages as selectable suggestions and allow a custom entry.38- If the user keeps the existing values, update only `ms.date` unless other frontmatter must change.3940For a new what's-new page:4142- Inspect nearby what's-new pages and offer their `author` / `ms.author` pairs as selectable defaults.43- Include an option to enter a different GitHub username and Microsoft alias.44- Do not guess or use placeholders for `author` or `ms.author`.4546Required inputs:4748- Target version number49- Release month and year50- Release state (preview, GA, RC)51- One-sentence release focus summary52- Ordered feature list — with user value, CLI commands, config snippets, outputs, and canonical docs to link for each item5354## Document anatomy55561. YAML frontmatter — use this template:5758 ```yaml59 ---60 title: "What's new in Data API builder version X.Y (Month Year)"61 description: <75–300 characters summarizing the release>62 author: <confirmed GitHub username from author identity selection>63 ms.author: <confirmed Microsoft alias from author identity selection>64 ms.reviewer: <Microsoft alias>65 ms.service: data-api-builder66 ms.topic: whats-new67 ms.date: <MM/DD/YYYY>68 # Customer Intent: As a developer, I want to learn what's new in DAB X.Y so that I can take advantage of new features.69 ---70 ```71722. H1: `# What's new in Data API builder version X.Y (Month Year)`733. Optional release-status note (preview, RC, or other caveats)744. One or two sentence summary paragraph on release themes755. One `##` section per major feature or behavior change7677## Section pattern7879Apply this to most feature sections.8081```text82## Introducing: <feature name> (new capabilities)83## <descriptive heading> (enhancements)8485[Opening paragraph: what changed and which DAB surface area — CLI, config, runtime, MCP, REST, auth, telemetry, etc.]8687### Why?88[Direct benefit statement — "Now, when..." or "With ..."]8990### Prerequisites for ... | Configuration requirements | Command line | Testing your configuration91[Use only when they materially help; omit otherwise]9293### Read the docs94[1–3 targeted relative links]95```9697**Section ordering:** Lead with the highest user-impact items. Group related features (auth, observability, MCP, and so on). Keep heading depth shallow; add `###` subsections only when content genuinely needs them.9899## House style100101These are preferred patterns, not hard rules, but they make the page consistent with existing DAB whats-new content.102103- Sound like a product engineer explaining a release to practitioners.104- Short declarative sentences; lead with product behavior, then the benefit.105- Be explicit about defaults, constraints, and supported environments.106- Prefer: "DAB X.Y introduces...", "When enabled...", "Now, you can...", "With ..."107- Avoid: "revolutionary", "game-changing", "seamless", "best-in-class"108- Use callouts only for real safety or supportability boundaries:109 - `> [!NOTE]` — preview state, supportability caveats, scope limitations110 - `> [!IMPORTANT]` — behavior that can surprise users, affect security, or change permissions111- Do not stack callouts unless each carries distinct value.112113## Examples114115- Include examples only when they clarify how to adopt the feature.116- Prefer small, copyable fragments over full-file samples. A JSON fragment is almost always enough; avoid massive full-config blobs.117- Favor CLI examples for command-driven features, JSON fragments for config-shape features, and text output blocks for console-behavior changes.118- Use realistic but compact entity and schema names.119- Do not include near-duplicate samples.120- Fenced code blocks must have explicit language tags:121122 | Content | Tag |123 |---|---|124 | DAB CLI commands (`dab init`, `dab add`, etc.) | `dotnetcli` |125 | .NET CLI commands (`dotnet tool install`) | `dotnetcli` |126 | Azure CLI commands (`az group create`) | `azurecli` |127 | PowerShell | `powershell` |128 | Bash / shell | `bash` |129 | JSON configuration | `json` |130 | YAML | `yaml` |131 | Plain text / output | `text` |132- Use tabs only when variants are materially different (for example, Bash vs. Windows Command Prompt). Keep tab IDs consistent across the page and close tab groups with `---`.133134## Procedure1351361. Inventory the feature list; identify missing inputs.1372. Group features by user impact and identify the headline items.1383. Draft frontmatter, H1, status note, summary paragraph, and each feature section using the pattern above.1394. Insert `[PLACEHOLDER]` for any missing CLI, config, or link inputs and list them at the top.1405. **Integrate into the repo:**141 - Add the file to `TOC.yml` under the "What's New?" section.142 - Add the file to `whats-new/index.yml`.143 - Update `whats-new/index.yml` metadata if it lists versions explicitly.1446. **Review:** Spin up a sub-agent using a different model to check technical accuracy, style compliance, link correctness, and peer consistency with existing whats-new pages. Implement valid feedback; discard nitpicks.1457. **Audit:** Use the `dab-docs-audit` skill for a final compliance check against Microsoft Learn publishing requirements.146147## Output148149- **New or revised page:** Produce publication-ready Markdown. List missing inputs separately at the top.150- **Review or outline only:** Return a compact issues list or section-order recommendation before drafting.