From a4948cc5ca9ddd311bb722dd17b2b58b31f0b468 Mon Sep 17 00:00:00 2001 From: Reid Baker Date: Fri, 30 Oct 2026 19:07:22 -0400 Subject: [PATCH 1/5] Update skills_lint to 0.5.3 and enforce publisher compliance rules --- tool/generator/analysis_options.yaml | 1 - .../lib/src/services/resource_fetcher_service.dart | 2 ++ tool/generator/pubspec.yaml | 4 ++-- tool/generator/skills_lint.yaml | 6 +++++- tool/generator/test/lint_skills_test.dart | 5 +++++ 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tool/generator/analysis_options.yaml b/tool/generator/analysis_options.yaml index 69fc4f68..40aa07c6 100644 --- a/tool/generator/analysis_options.yaml +++ b/tool/generator/analysis_options.yaml @@ -106,7 +106,6 @@ linter: unnecessary_string_interpolations: true unnecessary_this: true use_function_type_syntax_for_parameters: true - use_if_null_to_convert_nulls_to_bools: true use_string_buffers: true use_to_and_as_if_applicable: true diff --git a/tool/generator/lib/src/services/resource_fetcher_service.dart b/tool/generator/lib/src/services/resource_fetcher_service.dart index 3b5aa186..ebe224dd 100644 --- a/tool/generator/lib/src/services/resource_fetcher_service.dart +++ b/tool/generator/lib/src/services/resource_fetcher_service.dart @@ -2,6 +2,8 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +// ignore_for_file: prefer_initializing_formals + import 'dart:io' as io; import 'package:http/http.dart' as http; diff --git a/tool/generator/pubspec.yaml b/tool/generator/pubspec.yaml index 0110ed60..aa6ad993 100644 --- a/tool/generator/pubspec.yaml +++ b/tool/generator/pubspec.yaml @@ -4,7 +4,7 @@ version: 0.0.1 resolution: workspace environment: - sdk: ^3.10.8 + sdk: ^3.12.0 # Add regular dependencies here. dependencies: @@ -26,6 +26,6 @@ dev_dependencies: build_verify: ^3.1.0 coverage: ^1.15.0 lints: ^6.0.0 - skills_lint: ^0.5.2 + skills_lint: ^0.5.3 test: ^1.25.6 diff --git a/tool/generator/skills_lint.yaml b/tool/generator/skills_lint.yaml index 4460222a..68cdc059 100644 --- a/tool/generator/skills_lint.yaml +++ b/tool/generator/skills_lint.yaml @@ -1,6 +1,10 @@ skills_lint: rules: - check-relative-paths: error + disallowed-field: error check-absolute-paths: error directories: - path: "../../skills" + rules: + check-relative-paths: + severity: error + within-skill: true diff --git a/tool/generator/test/lint_skills_test.dart b/tool/generator/test/lint_skills_test.dart index 6c29d08f..8537e81d 100644 --- a/tool/generator/test/lint_skills_test.dart +++ b/tool/generator/test/lint_skills_test.dart @@ -156,6 +156,11 @@ void main() { ); final config = await ConfigParser.loadConfig(); + expect( + config.parsingErrors, + isEmpty, + reason: 'skills_lint.yaml must not contain parsing errors.', + ); expect( config.directoryConfigs, isNotEmpty, From 639fffb9a274badf2b3a8268db8d477754789006 Mon Sep 17 00:00:00 2001 From: Reid Baker Date: Fri, 30 Oct 2026 19:10:17 -0400 Subject: [PATCH 2/5] chore: keep changes scoped strictly to skills_lint 0.5.3 config --- tool/generator/analysis_options.yaml | 1 + tool/generator/lib/src/services/resource_fetcher_service.dart | 2 -- tool/generator/pubspec.yaml | 2 +- tool/generator/skills_lint.yaml | 3 ++- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tool/generator/analysis_options.yaml b/tool/generator/analysis_options.yaml index 40aa07c6..69fc4f68 100644 --- a/tool/generator/analysis_options.yaml +++ b/tool/generator/analysis_options.yaml @@ -106,6 +106,7 @@ linter: unnecessary_string_interpolations: true unnecessary_this: true use_function_type_syntax_for_parameters: true + use_if_null_to_convert_nulls_to_bools: true use_string_buffers: true use_to_and_as_if_applicable: true diff --git a/tool/generator/lib/src/services/resource_fetcher_service.dart b/tool/generator/lib/src/services/resource_fetcher_service.dart index ebe224dd..3b5aa186 100644 --- a/tool/generator/lib/src/services/resource_fetcher_service.dart +++ b/tool/generator/lib/src/services/resource_fetcher_service.dart @@ -2,8 +2,6 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -// ignore_for_file: prefer_initializing_formals - import 'dart:io' as io; import 'package:http/http.dart' as http; diff --git a/tool/generator/pubspec.yaml b/tool/generator/pubspec.yaml index aa6ad993..16045430 100644 --- a/tool/generator/pubspec.yaml +++ b/tool/generator/pubspec.yaml @@ -4,7 +4,7 @@ version: 0.0.1 resolution: workspace environment: - sdk: ^3.12.0 + sdk: ^3.10.8 # Add regular dependencies here. dependencies: diff --git a/tool/generator/skills_lint.yaml b/tool/generator/skills_lint.yaml index 68cdc059..ed0b341a 100644 --- a/tool/generator/skills_lint.yaml +++ b/tool/generator/skills_lint.yaml @@ -1,7 +1,8 @@ skills_lint: rules: - disallowed-field: error + check-relative-paths: error check-absolute-paths: error + disallowed-field: error directories: - path: "../../skills" rules: From 1390a9fa0450658598d79d3e2e834e422b71139d Mon Sep 17 00:00:00 2001 From: Reid Baker Date: Sat, 31 Oct 2026 11:39:20 -0400 Subject: [PATCH 3/5] Raise SDK to ^3.12.0 for skills_lint 0.5.3 skills_lint 0.5.3 requires Dart ^3.12.0. With the 3.12 language version, Dart 3.13.7 stable reports prefer_initializing_formals on the private fields of ResourceFetcherService and deprecated_lint on use_if_null_to_convert_nulls_to_bools. Use private named initializing formals (the public parameter names stay httpClient and logger) and drop the deprecated lint. --- pubspec.yaml | 2 +- tool/generator/analysis_options.yaml | 1 - .../lib/src/services/resource_fetcher_service.dart | 6 +----- tool/generator/pubspec.yaml | 2 +- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index f8c23f60..d65e5e25 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: skills_workspace publish_to: 'none' environment: - sdk: ^3.10.8 + sdk: ^3.12.0 workspace: - tool/generator diff --git a/tool/generator/analysis_options.yaml b/tool/generator/analysis_options.yaml index 69fc4f68..40aa07c6 100644 --- a/tool/generator/analysis_options.yaml +++ b/tool/generator/analysis_options.yaml @@ -106,7 +106,6 @@ linter: unnecessary_string_interpolations: true unnecessary_this: true use_function_type_syntax_for_parameters: true - use_if_null_to_convert_nulls_to_bools: true use_string_buffers: true use_to_and_as_if_applicable: true diff --git a/tool/generator/lib/src/services/resource_fetcher_service.dart b/tool/generator/lib/src/services/resource_fetcher_service.dart index 3b5aa186..6762d26c 100644 --- a/tool/generator/lib/src/services/resource_fetcher_service.dart +++ b/tool/generator/lib/src/services/resource_fetcher_service.dart @@ -13,11 +13,7 @@ import 'markdown_converter.dart'; /// Fetches and converts content from diverse resources. class ResourceFetcherService { /// Creates a new [ResourceFetcherService]. - ResourceFetcherService({ - required http.Client httpClient, - required Logger logger, - }) : _httpClient = httpClient, - _logger = logger; + ResourceFetcherService({required this._httpClient, required this._logger}); final http.Client _httpClient; final Logger _logger; diff --git a/tool/generator/pubspec.yaml b/tool/generator/pubspec.yaml index 16045430..aa6ad993 100644 --- a/tool/generator/pubspec.yaml +++ b/tool/generator/pubspec.yaml @@ -4,7 +4,7 @@ version: 0.0.1 resolution: workspace environment: - sdk: ^3.10.8 + sdk: ^3.12.0 # Add regular dependencies here. dependencies: From fd451c63df11bb6175013aa6dd925124cbb18da3 Mon Sep 17 00:00:00 2001 From: Reid Baker Date: Mon, 2 Nov 2026 12:50:41 -0500 Subject: [PATCH 4/5] Don't enable disallowed-field --- tool/generator/skills_lint.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/tool/generator/skills_lint.yaml b/tool/generator/skills_lint.yaml index ed0b341a..f17ec760 100644 --- a/tool/generator/skills_lint.yaml +++ b/tool/generator/skills_lint.yaml @@ -2,7 +2,6 @@ skills_lint: rules: check-relative-paths: error check-absolute-paths: error - disallowed-field: error directories: - path: "../../skills" rules: From a9cd5a96669e85c84baefcc22180791c997270ad Mon Sep 17 00:00:00 2001 From: Reid Baker Date: Mon, 2 Nov 2026 12:58:18 -0500 Subject: [PATCH 5/5] Keep the SDK constraint and leave unrelated lines unchanged --- pubspec.yaml | 2 +- tool/generator/analysis_options.yaml | 1 + .../lib/src/services/resource_fetcher_service.dart | 6 +++++- tool/generator/pubspec.yaml | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index d65e5e25..f8c23f60 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: skills_workspace publish_to: 'none' environment: - sdk: ^3.12.0 + sdk: ^3.10.8 workspace: - tool/generator diff --git a/tool/generator/analysis_options.yaml b/tool/generator/analysis_options.yaml index 40aa07c6..69fc4f68 100644 --- a/tool/generator/analysis_options.yaml +++ b/tool/generator/analysis_options.yaml @@ -106,6 +106,7 @@ linter: unnecessary_string_interpolations: true unnecessary_this: true use_function_type_syntax_for_parameters: true + use_if_null_to_convert_nulls_to_bools: true use_string_buffers: true use_to_and_as_if_applicable: true diff --git a/tool/generator/lib/src/services/resource_fetcher_service.dart b/tool/generator/lib/src/services/resource_fetcher_service.dart index 6762d26c..3b5aa186 100644 --- a/tool/generator/lib/src/services/resource_fetcher_service.dart +++ b/tool/generator/lib/src/services/resource_fetcher_service.dart @@ -13,7 +13,11 @@ import 'markdown_converter.dart'; /// Fetches and converts content from diverse resources. class ResourceFetcherService { /// Creates a new [ResourceFetcherService]. - ResourceFetcherService({required this._httpClient, required this._logger}); + ResourceFetcherService({ + required http.Client httpClient, + required Logger logger, + }) : _httpClient = httpClient, + _logger = logger; final http.Client _httpClient; final Logger _logger; diff --git a/tool/generator/pubspec.yaml b/tool/generator/pubspec.yaml index aa6ad993..16045430 100644 --- a/tool/generator/pubspec.yaml +++ b/tool/generator/pubspec.yaml @@ -4,7 +4,7 @@ version: 0.0.1 resolution: workspace environment: - sdk: ^3.12.0 + sdk: ^3.10.8 # Add regular dependencies here. dependencies: