Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add RandalSchwartz/dart-sdk-skills --skill dart-sdk-changeloggit clone --depth 1 https://github.com/RandalSchwartz/dart-sdk-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/randalschwartz/dart-sdk-skills/dart-sdk-changelog)<a href="https://agentmods.dev/skills/randalschwartz/dart-sdk-skills/dart-sdk-changelog"><img src="https://agentmods.dev/badge/skills/randalschwartz/dart-sdk-skills/dart-sdk-changelog/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/randalschwartz/dart-sdk-skills/dart-sdk-changelog"><img src="https://agentmods.dev/badge/skills/randalschwartz/dart-sdk-skills/dart-sdk-changelog.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00147 | $0.03719 |
| Opus 5 | $0.00073 | $0.01860 |
| Sonnet 5 | $0.00029 | $0.00744 |
| Haiku 4.5 | $0.00015 | $0.00372 |
Grade A, and why
dart-sdk-changelog scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 136 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Dart SDK Changelog & Version Feature Guide (Dart 1.x to Modern Dart 3.x)
This skill provides an authoritative, structured guide to Dart language features, core library APIs, tooling changes, version requirements, experimental feature flags (--enable-experiment), static metaprogramming (Macros & Augmentations), and legacy modernization runbooks sourced directly from the official Dart SDK CHANGELOG.
🎯 Parent Guide: How to Find the minSdk for Any Dart Feature or API
When writing or reviewing Dart code, selecting the correct minimum SDK lower bound (minSdk) in pubspec.yaml is essential to ensure syntax and core APIs compile across target environments.
1. Language Version vs. SDK Version
- Language Version (
major.minor): Inpubspec.yaml, the lower bound ofenvironment.sdk(for example^3.13.0or>=3.12.0 <4.0.0) dictates which language grammar and compiler semantics are enabled.- Patch numbers (
.1,.2) do not affect language grammar. - Using a Dart 3.13 feature (like Primary Constructors) requires
sdk: '^3.13.0'.
- Patch numbers (
- Core Library APIs: Methods and classes (for example
Future.pause,List.unmodifiableOf) are added in specific SDK versions. - Per-file override: A file can specify
// @dart = 3.12on line 1 to force an earlier language version.
2. Fast minSdk Language Feature Matrix
| Feature / Syntax | Minimum SDK | Example Syntax | Reference |
|---|---|---|---|
| Primary Constructors | 3.13.0 |
class Point(var int x, var int y); / this : assert(...) |
3.13 Guide |
| Constructor Keyword Shorthands | 3.13.0 |
new(this.x); / factory clone(...) => ...; |
3.13 Guide |
| Private Named Parameters | 3.12.0 |
Point({required this._x, required this._y}); |
3.12 Guide |
Wildcard Variables (_) |
3.7.0 |
var (_, b) = pair; / void fn(int _, int _) |
3.7 Guide |
| Type Inference Using Bounds | 3.7.0 |
Inferred types respect type parameter bounds | 3.7 Guide |
| Digit Separators | 3.6.0 |
1_000_000, 0x4000_0000, 0.000_001 |
3.6 Guide |
| Extension Types | 3.3.0 |
extension type Meters(int value) {} |
3.0-3.5 Guide |
| Private Field Promotion | 3.2.0 |
if (_privateFinalField != null) { ... } |
3.0-3.5 Guide |
| Records (Tuples) | 3.0.0 |
(int, String) pair = (1, 'a'); |
3.0-3.5 Guide |
| Pattern Matching & Destructuring | 3.0.0 |
var (a, b) = pair; / switch (val) { case ... } |
3.0-3.5 Guide |
| Switch Expressions | 3.0.0 |
var s = switch (e) { 0 => 'a', _ => 'b' }; |
3.0-3.5 Guide |
| If-Case Statements & Elements | 3.0.0 |
if (json case {'id': int id}) ... |
3.0-3.5 Guide |
| Sealed Classes & Exhaustiveness | 3.0.0 |
sealed class State {} |
3.0-3.5 Guide |
Class Modifiers (base, interface, final) |
3.0.0 |
interface class Api {} / final class Token {} |
3.0-3.5 Guide |
| 100% Sound Null Safety Enforced | 3.0.0 |
Non-null-safe mode disallowed | 3.0-3.5 Guide |
| Super-Initializer Parameters | 2.17.0 |
SubClass(super.name, {super.key}); |
Dart 2 Milestones |
| Enhanced Enums | 2.17.0 |
enum Status { ok(200); final int c; const Status(this.c); } |
Dart 2 Milestones |
| Named Arguments Anywhere | 2.17.0 |
fn(1, named: 'a', 2); |
Dart 2 Milestones |
| Constructor Tear-Offs | 2.15.0 |
List.filled, Point.new |
Dart 2 Milestones |
Triple-Shift Operator (>>>) |
2.14.0 |
int result = a >>> b; |
Dart 2 Milestones |
Generic Type Aliases (typedef) |
2.13.0 |
typedef JsonMap = Map<String, dynamic>; |
Dart 2 Milestones |
Sound Null Safety (?, late, !) |
2.12.0 |
Sound static non-nullable types | Dart 2 Milestones |
| Extension Methods | 2.7.0 |
extension on String { ... } |
Dart 2 Milestones |
Spread Operators (..., ...?) |
2.3.0 |
[...list1, ...?maybeList] |
Dart 2 Milestones |
Collection if and for |
2.3.0 |
[if (cond) a, for (var x in l) x * 2] |
Dart 2 Milestones |
Sound Type System & Optional new |
2.0.0 |
Static sound types replace dynamic checks | Dart 2 Milestones |
What ships with it
16 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/dart-2-milestones.md 4.6 KB
- references/experimental-features-guide.md 6.7 KB
- references/how-to-find-minsdk.md 11 KB
- references/macros-and-augmentations-guide.md 5.8 KB
- references/rescuing-legacy-dart-apps.md 10 KB
- references/version-matrix.md 5.9 KB
- references/whats-new-in-dart-3-0-to-3-5.md 3.8 KB
- references/whats-new-in-dart-3-10.md 2.2 KB
- references/whats-new-in-dart-3-11.md 1.8 KB
- references/whats-new-in-dart-3-12.md 3.5 KB
- references/whats-new-in-dart-3-13.md 10 KB
- references/whats-new-in-dart-3-14.md 1.2 KB
- references/whats-new-in-dart-3-6.md 1.5 KB
- references/whats-new-in-dart-3-7.md 1.8 KB
- references/whats-new-in-dart-3-8.md 1.6 KB
- references/whats-new-in-dart-3-9.md 1.9 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 136 lines · 147 tokens per session scan A b537b6936993
dart-sdk-changelog is a skill published in the GitHub repository RandalSchwartz/dart-sdk-skills (29 stars, last pushed 11d ago), licensed MIT. It adds 147 tokens to every session and 3,719 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
dart-3-updates
Use when writing switch statements, refactoring if-else chains, creating data classes, choosing records vs classes, destructuring values, or modernizing pre-Dart-3 code.
effective-dart
Use when writing Dart code, reviewing for style, refactoring naming, adding doc comments, structuring imports, or enforcing type annotations.
dart-expert
Expert-level Dart, Flutter, mobile development, and cross-platform apps. Use when the user mentions Flutter, mobile, cross platform, or widgets, or when the task involves Dart Language or Flutter Framework.
at_client_skills-sdk
Use this skill when a developer is building a Dart or Flutter app that depends on atclient or atclientflutter from pub.dev, stores or shares data via the Atsign Protocol, needs onboarding (CRAM new-atsign, atKeys file, keychain, APKAM) or APKAM enrollment, or asks about AtCollection , CItem , Query , sub-collections…
signals-dart
Advanced reactive state primitives, collections, mixins, and utilities of signalscore.
signals-migration-6-to-7
Detailed guidelines, patterns, and rules for migrating codebases from signals.dart version 6.x to version 7.x.