.agents/skills/sync-changelog/SKILL.md
Sync the changelog from the Dart SDK repo to update the changelog.yml entries in the site repository.
npx skillsauth add dart-lang/site-www sync-changelogInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When you need to update the changelog entries in src/data/changelog.yml
with the latest changes from the Dart SDK repository,
carefully follow the steps outlined in this skill.
Before running the sync tool,
verify the Dart SDK version you wish to sync.
It should be a stable release, not a pre-release,
and in major.minor.patch format.
If the user provides a version with just major.minor,
you can assume a patch version of 0.
For example, 3.11 implies 3.11.0.
If necessary, you can validate what versions are available to sync
by checking the SDK changelog
and checking what h2 headers (##) are present.
Run the sync tool
Execute the sync-changelog CLI command
from within the website repository and
specify the SDK version you want to sync.
Command:
dart run dash_site sync-changelog --version <VERSION>
Example:
dart run dash_site sync-changelog --version 3.11.0
[!TIP] You can preview the changes first by specifying the
--dry-runflag:dart run dash_site sync-changelog --version 3.11.0 --dry-run
Verify changes
Check src/data/changelog.yml to ensure new entries are correct.
git diff src/data/changelog.ymlFilter and prune entries
Remove entries that don't represent concrete, user-facing changes to the Dart SDK, Dart language, or its surrounding tooling.
Remove entries that are:
Refine tags
Review the description of each new entry.
The tool uses keywords to infer tags,
(such as "fixes" -> fixed, "adds" -> new), but
you must verify them.
Rule: If an entry has the wrong tag, or
is just changed when it should be specific,
you must correct it in src/data/changelog.yml before finishing.
Entries can and should have multiple tags if applicable,
such as having both removed and breaking.
Available tags and guidelines:
new: For new features, additions, or introductions,
such as indicated by "Added ..." or "Introduced...".fixed: For bug fixes,
such as indicated by "Fixed ..." or "Bug fix...".deprecated: For deprecations,
such as indicated by "Deprecated..." or "marked as legacy...".experimental: For changes related to experimental features,
such as indicated by "Experimental..." or "Preview...".removed: For feature, capability, or API removals,
such as indicated by "Removed..." or "Deleted...".breaking: For breaking or backwards incompatible changes,
such as indicated by "Breaking change...".
Often used with removed or other significant modifications.versioned: For changes that are language versioned,
such as a new language syntax which often are.changed: For general updates or modifications,
a default tag that can be used as a fallback.Example:
- version: 3.11.0
# ...
description: |
Added support for Unix domain sockets...
tags:
- new # Changed from 'changed' because it adds a new feature.
Ensure presence of links
Ensure every entry has a valid URL set as its link field.
If no specific issue or PR link is available in the description,
link to the specific section in the SDK changelog.
https://github.com/dart-lang/sdk/blob/main/CHANGELOG.md#<VERSION_ANCHOR>https://github.com/dart-lang/sdk/blob/main/CHANGELOG.md#3110 (for
3.11.0)- version: 3.11.0
# ...
link: https://github.com/dart-lang/sdk/blob/main/CHANGELOG.md#3110
Fix any formatting or typo issues
Review the changelog entries for any Markdown or YAML syntax issues as well as typos or grammatical errors. If found, fix them before continuing on.
Request user review
Notify the user that the changelog has been updated and tags refined. Ask them to verify the changes before committing.
tool/dash_site/lib/src/commands/sync_changelog.dart.development
Update the whats-new page with changes to the website since the previous release.
development
Stages the Dart site locally for PR validation. Includes formatting Dart code, syncing excerpts, building the site, checking for broken links, and serving the development site.
development
Publish a new article to the Dart blog from a Google Doc.
development
Proofreads Markdown files against Google guidelines.