Class: RubyLLM::Skills::Validator
- Inherits:
-
Object
- Object
- RubyLLM::Skills::Validator
- Defined in:
- lib/ruby_llm/skills/validator.rb
Overview
Validates skill structure according to the Agent Skills specification.
Validation rules based on agentskills.io specification:
- name: required, max 64 chars, lowercase + hyphens only, no leading/trailing hyphens
- description: required, max 1024 chars
- license: optional, max 128 chars
- compatibility: optional, max 500 chars
Constant Summary collapse
- NAME_MAX_LENGTH =
64- DESCRIPTION_MAX_LENGTH =
1024- LICENSE_MAX_LENGTH =
128- COMPATIBILITY_MAX_LENGTH =
500- NAME_PATTERN =
/\A[a-z0-9]+(-[a-z0-9]+)*\z/
Class Method Summary collapse
-
.valid?(skill) ⇒ Boolean
Check if a skill is valid.
-
.validate(skill) ⇒ Array<String>
Validate a skill and return all errors.
Class Method Details
.valid?(skill) ⇒ Boolean
Check if a skill is valid.
43 44 45 |
# File 'lib/ruby_llm/skills/validator.rb', line 43 def valid?(skill) validate(skill).empty? end |
.validate(skill) ⇒ Array<String>
Validate a skill and return all errors.
29 30 31 32 33 34 35 36 37 |
# File 'lib/ruby_llm/skills/validator.rb', line 29 def validate(skill) errors = [] validate_name(skill, errors) validate_description(skill, errors) validate_license(skill, errors) validate_compatibility(skill, errors) validate_path_name_match(skill, errors) errors end |