Migrate dart_skills_lint and .agents to Dart skills package and dart install - #222
Conversation
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Incomplete Migration to dart install
It appears the migration from dart pub global to dart install is incomplete:
- Outdated
README.mdRecipes: The maintool/dart_skills_lint/README.md(which contains the GitHub Actions and pre-commit hook recipes) has not been updated to usedart install dart_skills_lintanddart_skills_lintinstead ofdart pub global activateanddart pub global run. - Outdated Test Assertions: The assertions in
recipe_drift_test.dart(lines 80-93) still expect the olddart pub globalcommands. IfREADME.mdhad been updated, this test would have failed. Currently, the test passes only because the mainREADME.mdis still using the deprecated commands, which contradicts the changelog entry.
Suggested Action
-
Update the GitHub Actions recipe in
tool/dart_skills_lint/README.mdto usedart 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 ...
-
Update the assertions in
recipe_drift_test.dartto 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', );
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_lintand.agentsdeveloper workflows to the Dartskillspackage (dart install skills@^1.0.0), removes obsolete npm artifacts, and bumpsdart_skills_lintto0.5.1.Motivation and Context
The repository previously relied on legacy
npx skillstooling,.npmrc, andskills-lock.jsonfor managing external skills. This change transitions our internal tooling and documentation to the official Dartskillspackage on pub.dev and moderndart installconventions.What changed
npx skillscommands withdart install skills@^1.0.0andskills add ... --agent generic.skills-lock.jsonand.npmrc, replacing them with.config/dart_skills/skills_config.jsonfor deterministic tracking.dart-skills-lint-integrationto eliminate routing overlap withdart-skills-lint-validation.dart_skills_lintto0.5.1inpubspec.yamland documented changes inCHANGELOG.md.Testing Instructions
dart testinsidetool/dart_skills_lintto verify all 211 tests pass.dart format --output=none --set-exit-if-changed .anddart analyze --fatal-infosacross the workspace.