Skip to content

Migrate dart_skills_lint and .agents to Dart skills package and dart install - #222

Merged
reidbaker merged 6 commits into
flutter:mainfrom
reidbaker:migrate-to-dart-skills-package
Aug 18, 2026
Merged

Migrate dart_skills_lint and .agents to Dart skills package and dart install#222
reidbaker merged 6 commits into
flutter:mainfrom
reidbaker:migrate-to-dart-skills-package

Conversation

@reidbaker-agent

@reidbaker-agent reidbaker-agent commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Migrate from npx to the new 1.0.0 dart skill package.
Additionally the difference between a published skill for how to use dart_skills_lint and how to roll new versions of dart skills lint downstream had too similar descriptions so I fixed that.

This also replaces deprecated skills dart-checks-migration and dart-cli-app-best-practices (from kevmoo/dash_skills) with their official upstream successors dart-migrate-to-checks-package and dart-build-cli-app under dart-lang/skills.


Agent authored description.

Summary

Migrates dart_skills_lint and .agents developer workflows to the Dart skills package (dart install skills@^1.0.0), removes obsolete npm artifacts, and bumps dart_skills_lint to 0.5.1.

Motivation and Context

The repository previously relied on legacy npx skills tooling, .npmrc, and skills-lock.json for managing external skills. This change transitions our internal tooling and documentation to the official Dart skills package on pub.dev and modern dart install conventions.

What changed

  • Dart Skills Tooling: Replaced npx skills commands with dart install skills@^1.0.0 and skills add ... --agent generic.
  • Lockfile Migration: Removed legacy skills-lock.json and .npmrc, replacing them with .config/dart_skills/skills_config.json for deterministic tracking.
  • Skill Disambiguation: Refined the frontmatter description of dart-skills-lint-integration to eliminate routing overlap with dart-skills-lint-validation.
  • Package Version: Bumped dart_skills_lint to 0.5.1 in pubspec.yaml and documented changes in CHANGELOG.md.

Testing Instructions

  • Run dart test inside tool/dart_skills_lint to verify all 211 tests pass.
  • Run dart format --output=none --set-exit-if-changed . and dart analyze --fatal-infos across the workspace.

@reidbaker
reidbaker self-requested a review August 18, 2026 17:12

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request migrates the agent skills management and the dart_skills_lint tool from legacy npm-based tooling (npx skills, skills-lock.json, .npmrc) to the Dart-based skills package (dart install skills@^1.0.0). It updates setup instructions, integration recipes, and configuration files accordingly, and bumps the linter version to 0.5.1. However, the migration appears to be incomplete as the main README.md recipes and the corresponding assertions in recipe_drift_test.dart still reference the deprecated dart pub global commands, which should be updated to ensure consistency and prevent test failures.

/// valid and invalid example fixtures and exits with the right code.
///
/// Everything that used to translate `dart pub global run` lines into
/// Everything that used to translate global CLI invocation lines into

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Incomplete Migration to dart install

It appears the migration from dart pub global to dart install is incomplete:

  1. Outdated README.md Recipes: The main tool/dart_skills_lint/README.md (which contains the GitHub Actions and pre-commit hook recipes) has not been updated to use dart install dart_skills_lint and dart_skills_lint instead of dart pub global activate and dart pub global run.
  2. Outdated Test Assertions: The assertions in recipe_drift_test.dart (lines 80-93) still expect the old dart pub global commands. If README.md had been updated, this test would have failed. Currently, the test passes only because the main README.md is still using the deprecated commands, which contradicts the changelog entry.

Suggested Action

  1. Update the GitHub Actions recipe in tool/dart_skills_lint/README.md to use dart install:

    - run: dart pub global activate dart_skills_lint
    + run: dart install dart_skills_lint

    and run it directly:

    - run: dart pub global run dart_skills_lint ...
    + run: dart_skills_lint ...
  2. Update the assertions in recipe_drift_test.dart to match the new commands:

    expect(
      runs.any((r) => r.contains('dart install dart_skills_lint')),
      isTrue,
      reason: 'workflow no longer installs dart_skills_lint',
    );
    expect(
      runs.any(
        (r) =>
            r.contains('dart_skills_lint') &&
            r.contains('--skills-directory'),
      ),
      isTrue,
      reason: 'workflow no longer runs the linter against a skills directory',
    );

@reidbaker
reidbaker marked this pull request as ready for review August 18, 2026 20:02
@reidbaker
reidbaker merged commit c3c71cf into flutter:main Aug 18, 2026
13 checks passed
@reidbaker
reidbaker deleted the migrate-to-dart-skills-package branch August 18, 2026 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants