Identify customer-facing API changes and determine release, review, and deprecation requirements.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "api-changes" skill from askskill: 1. Download https://raw.githubusercontent.com/microsoft/FluidFramework/main/.claude/skills/api-changes/SKILL.md 2. Save it as ~/.claude/skills/api-changes/SKILL.md 3. Reload skills and tell me it's ready
Based on the following diff between api-report and main, determine whether this is a customer-facing API change and whether it requires a release tag, API Council review, or contains a breaking change: {{api_report_diff}}A determination of the API change type, required release tag, review requirements, and breaking-change status.
We plan to remove a public API. Based on the current change, explain how it should be deprecated, how long it should remain, how to communicate it to users, and how the changeset should be written: {{change_details}}Guidance on compliant deprecation steps, communication recommendations, timing expectations, and changeset instructions.
CI's ci-readiness-check detected an API report diff. Based on the following check results, provide next-step guidance including owner, required reviews, and recommended actions: {{ci_output}}A clear action checklist to help the team complete compliant API change handling.
git diff $(git merge-base HEAD origin/main)...HEAD -- '**/api-report/**/*.md'
Build a summary table and present it to the user:
| Package | Change type | Tag(s) | Breaking? |
|---|
Change types: addition, removal, signature change, tag promotion.
If all changes are @internal-only, tell the user there are no customer-facing API changes and stop.
For any new exports, verify each has a release tag and flag any missing ones to the user — API Extractor will fail with ae-missing-release-tag. Help the user choose the right tag:
| Tag | When to use |
|---|---|
@public | Stable, production-ready. Full SemVer. Use only when the shape is final. |
@beta | Seeking feedback, path to @public. Production OK with caution. |
@alpha | Experimental, early feedback only. Not for production. No stability guarantees. |
@internal | Framework-internal only, not for external consumers. |
When in doubt: @alpha — easier to promote than demote. @legacy is a paired modifier (@legacy @public or @legacy @alpha) for FF v1 APIs; don't apply it to new APIs.
For every new customer-facing export (@public, @beta, @alpha) that is intended to be usable by package consumers, verify it is reachable from the package's public entrypoint, not just exported from the adjacent module or folder. Trace and update the export chain through every relevant index.ts barrel up to the package root entrypoint (typically src/index.ts, or tiered entrypoints such as src/alpha.ts / src/beta.ts where used). Missing parent-barrel exports are incomplete API changes. API Extractor may not report the intended API at all, and consumers are expected to import from the package's top-level entrypoint rather than reaching into subpaths.
Also check that each new customer-facing export (@public, @beta, @alpha) has TSDoc documentation — at minimum a summary, @param tags, and @returns if applicable. Flag any missing documentation to the user.
Tell the user whether their change requires API Council approval:
| Changed surface | Approval required? |
|---|---|
@public, @legacy @public, @beta, @legacy @alpha | Yes — fluid-cr-api will be automatically assigned as a required reviewer on the PR |
@alpha only (not @legacy) | No — but early engagement with the council is encouraged |
@internal only | No |
Tell the user: council approval is a separate sign-off from the area owner review. To engage the council, they can reach out to the API Council member on their EM team or tag @FF API on Teams. Share this link with the user for more details:
https://eng.ms/docs/experiences-devices/opg/office-shared/fluid-framework/fluid-framework-internal/fluid-framework/docs/dev/resources/api-council
A breaking change removes or modifies an existing API in a way that causes compile errors for consumers upgrading.
If this is a breaking change to @public or @legacy @public, tell the user this is likely a mistake — major releases happen very rarely. Breaking @public APIs must be coordinated with a major release; the old API must be deprecated at least 3 months prior in a minor release with a clear replacement.
Share these links with the user for the required process:
…
Generate Fluid-style PR content, push branches, and open GitHub pull requests.
Explains how to use abilities effectively before starting any conversation.
Break large, long-running tasks into manageable chunks and preserve context.
Turn rough ideas into actionable designs through structured questioning and validation.
Draft and review Fluid Framework PR titles and descriptions consistently.
Update technical documentation after code changes are completed.
Guide APM positioning, release communication, and breaking-change strategy decisions.
Helps teams handle APM positioning, release communication, and breaking-change decisions.
Review Git diffs and Markdown with a web UI and MCP AI access.
Generate clear user-facing changelogs and release notes from Git commit history.
Create approval-ready change requests with impact analysis and rollback planning.
Apply the right commit prefix, reviewer, and test plan for code changes.