Skill validation framework — run checkers against SKILL.md files and aggregate findings by severity.

Finding

A single validation finding produced by a checker.

Fields

NameTypeDescription
severitySeverity
checkerString
messageString
detailOption<String>

Trait Implementations

  • Debug
  • Clone
  • Serialize

ValidationReport

Aggregated validation output for a single skill.

Fields

NameTypeDescription
findingsVec<Finding>
error_countusize
warning_countusize
info_countusize

Methods

from_findings

pub fn from_findings(findings: Vec<Finding>) -> Self

Trait Implementations

  • Debug
  • Clone
  • Serialize

Severity

How severe a validation finding is.

Variants

  • Info
  • Warning
  • Error

Trait Implementations

  • Debug
  • Clone
  • PartialEq
  • Eq
  • Hash
  • Serialize
  • Display
  • Ord
  • PartialOrd

run_all_checkers

pub fn run_all_checkers(skill_dir: &Path, meta: &SkillMetadata, body: &str) -> Vec<Finding>

Run every registered checker and return all findings sorted by severity descending (errors first).


validate_skill_dir

pub fn validate_skill_dir(skill_dir: &Path, meta: &SkillMetadata, body: &str) -> ValidationReport

Run validation and return an aggregated report with counts.


has_errors

pub fn has_errors(findings: &[Finding]) -> bool

Returns true if any finding has Severity::Error.


has_warnings

pub fn has_warnings(findings: &[Finding]) -> bool

Returns true if any finding has Severity::Warning.