>
dart_skills_lint.git status to confirm the repository has no active work in progress.main or master).gclient sync) to guarantee consistency before proceeding.dart_skills_lint within a workspace or standalone project:pubspec.yaml defining the dependency.ref field. dart_skills_lint:
git:
url: https://github.com/flutter/skills
path: tool/dart_skills_lint
ref: e4497873950727ee781fa411c1a2f624b1ec50c6
dart_skills_lint.yaml. Always
define paths relative to the repository root execution context. Ensure that
rules at the directory level are properly oriented within a nested rules map.dart_skills_lint:
rules:
check-relative-paths: error
check-absolute-paths: error
check-trailing-whitespace: error
directories:
- path: ".agents/skills"
Configuration dynamically via
ConfigParser.loadConfig and supply it to validateSkills.skillDirPaths parameter entirely to natively inherit target paths
defined within the YAML configuration.repoRoot.path).
Explicitly inject absolute skillDirPaths targeting; global rules defined
under rules: map unconditionally regardless of explicit target path usage.TODO or tracker comments. If the comment describes refactoring config
loading or references issues resolved by this update, delete the comment
block entirely.import 'package:path/path.dart' as path;
import 'package:dart_skills_lint/dart_skills_lint.dart';
const String _configFileName = 'dart_skills_lint.yaml';
test('Validate Repository Skills', () async {
// Use dynamic absolute resolution references to guarantee CI stability
final Configuration config = await ConfigParser.loadConfig(
path: path.join(repoRoot.path, 'path', 'to', _configFileName),
);
final bool isValid = await validateSkills(
skillDirPaths: [skillsDirectory], // Explicit absolute targeting
config: config,
);
expect(isValid, isTrue);
});
AnalysisSeverity.disabled.test('Custom Rule Validation', () async {
final bool isValid = await validateSkills(
skillDirPaths: ['path/to/skills'],
customRules: [MyCustomRule()],
resolvedRules: {
'check-absolute-paths': AnalysisSeverity.disabled,
'check-relative-paths': AnalysisSeverity.disabled,
'check-trailing-whitespace': AnalysisSeverity.disabled,
'description-too-long': AnalysisSeverity.disabled,
'disallowed-field': AnalysisSeverity.disabled,
'invalid-skill-name': AnalysisSeverity.disabled,
'valid-yaml-metadata': AnalysisSeverity.disabled,
},
);
expect(isValid, isTrue);
});
gh pr create command..github/,
.github/PULL_REQUEST_TEMPLATE/, or the project root. Common filenames
include PULL_REQUEST_TEMPLATE.md or pull_request_template.md.[x]).gh pr create \
--title "Update dart_skills_lint dependency to <hash> and centralize config" \
--body "<populated repository template content>"
flutter/flutter)bin/flutter pub get at the repository root
instead of dart pub get to prevent SDK version mismatch errors.bin/flutter update-packages --update-hashes.bin/flutter test dev/tools/test/validate_skills_test.dart.dart analyze --fatal-infos and format all source code cleanly with dart format.