melbournedeveloper/dart_sdk_skills/modify-dart-language

Claude Code and agent skill by melbournedeveloper/dart_sdk_skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Guide for modifying the Dart language — adding features, AST nodes, parser rules, CFE type inference, experimental flags, and diagnostics. Use when implementing or modifying Dart language features.

Install

npx vskill@latest install melbournedeveloper/dart_sdk_skills/modify-dart-language

SKILL.md

Modifying the Dart Language

Compiler pipeline

Source → _fe_analyzer_shared (scan+parse) → front_end (type-check) → kernel IR
↓
┌─────────────────────────────────────┼───────────────────┐
↓ ↓ ↓
pkg/compiler (dart2js) runtime/vm/compiler pkg/dart2wasm
→ JavaScript → native code → WebAssembly

All backends share the same front-end. Language changes typically touch:

  1. Parser (pkg/_fe_analyzer_shared/)
  2. CFE type inference (pkg/front_end/)
  3. Analyzer AST (pkg/analyzer/)
  4. Tests (tests/language/)

Key files by subsystem

SubsystemKey filePurpose
Experimental flagstools/experimental_features.yamlGate new features
Scanner/tokenspkg/_fe_analyzer_shared/lib/src/scanner/Tokenization
Parserpkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dartParsing
Parser listenerpkg/_fe_analyzer_shared/lib/src/parser/listener.dartParser events
CFE body builderpkg/front_end/lib/src/kernel/body_builder.dartType inference + Kernel IR
CFE messagespkg/front_end/messages.yamlDiagnostic messages
Analyzer ASTpkg/analyzer/lib/src/dart/ast/ast.dartAST node definitions
Analyzer visitorspkg/analyzer/lib/dart/ast/visitor.dartAST traversal
Language teststests/language/Language feature tests

Adding an experimental feature

  1. Add entry to tools/experimental_features.yaml:

``yaml my-feature: help: "Short description of the feature." ``

  1. Regenerate flags:

``bash ./tools/sdks/dart-sdk/bin/dart pkg/front_end/tool/cfe.dart generate-experimental-flags ``

  1. Gate parser/CFE code with the experiment flag.

Subsystem reference docs

Code generation steps

After modifying AST nodes or messages, run the appropriate generators:

bash
# After editing messages.yaml
./tools/sdks/dart-sdk/bin/dart pkg/front_end/tool/generate_messages.dart
# After editing experimental_features.yaml
./tools/sdks/dart-sdk/bin/dart pkg/front_end/tool/cfe.dart generate-experimental-flags
# After editing analyzer AST (regenerate visitors etc.)
./tools/sdks/dart-sdk/bin/dart pkg/analyzer/tool/generate_nodes.dart
# After editing parser tests
./tools/sdks/dart-sdk/bin/dart pkg/front_end/tool/update_expectations.dart

Typical feature implementation order

  1. Add experimental flag
  2. Parser changes (scan, parse, listener events)
  3. CFE changes (body builder, type inference, Kernel IR generation)
  4. Analyzer AST changes (nodes, visitors, resolution)
  5. Diagnostic messages
  6. Language tests
  7. Update static error test expectations

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/melbournedeveloper/dart_sdk_skills/modify-dart-language/badge)](https://verified-skill.com/skills/melbournedeveloper/dart_sdk_skills/modify-dart-language)

Something wrong with this skill or its page? Tell us.