skills_lint 0.5.2
skills_lint: ^0.5.2 copied to clipboard
A static analysis linter for Agent Skills (SKILL.md) written in Dart. Validates frontmatter, naming, paths, and structure for use in CI and pre-commit hooks.
0.5.2 #
- Added programmatic YAML serialization support across configuration models, allowing configurations to be generated and formatted back into YAML.
- Added
ConfigParser.parse()to support parsing configuration YAML directly from in-memory strings. - Added the
published-skill-namelint rule to validate that published skills in a Dart package'sskills/directory follow the package naming convention required bypackage:skills. - Behavior change:
directories,individual_skills, andignore_filepaths now resolve relative to the configuration file that declares them rather than the current working directory. Configurations read from a different directory than the linter runs in must be rewritten: atool/skills_lint.yamlinvoked from the repository root needs"../.agents/skills"where it previously had".agents/skills". - Added
sourcePathandbaseDirectoryparameters toConfigParser.parse()to select the directory that in-memory configuration paths resolve against. - Recorded
--generate-baselineignore entries with file names relative to the skill directory, naming the skill directory itself., so a committed baseline matches on any machine and from any working directory. Entries written by earlier versions keep matching. - Recorded the
pathandignore_filetext that each parsed configuration target was declared with, and emitted that text when serializing, so a configuration read from a file and written back keeps the paths its author wrote. - Added
--format=sarifand--format=jsonCLI options to emit validation results as standard OASIS SARIF 2.1.0 JSON documents or raw JSON arrays for CI and GitHub Code Scanning integration (#10). - Attached the
skills_lint internal error:prefix to operational failure notices on standard error (such as I/O errors, rename collisions, or baseline format errors) to distinguish tool execution errors from skill validation diagnostics. - Fixed CLI usage output to correctly print to standard error when triggered by an argument parsing error, while
--helpcontinues to print to standard output. - Fixed
--fixforabsolute-pathsrule to preserve optional markdown link titles when rewriting absolute paths to relative paths. - Fixed
name-formatandpublished-skill-nameauto-fixing to safely handle empty or null frontmatter name fields without corrupting YAML delimiters or scalar spans. - Exported
MissingDefaultsException, whichvalidateSkillsalready threw when no skill directories, individual skill paths, or configuration targets were supplied and no default location existed. Callers can now catch it by name instead of inspectingruntimeType.
0.5.1 #
- Migrated developer setup, integration recipes, and documentation to use
dart install skills@^1.0.0anddart install skills_lint. - Removed legacy npm-based tooling artifacts (
.npmrcandskills-lock.json).