Skip to main content
Structure checks validate the physical organization of skill files, including SKILL.md existence, frontmatter validity, and optional folder contents.

Check List

This dimension includes 7 checks (2 spec-required, 5 quality).

structure.skill-md-exists

Severity: ERROR | Spec Required: Yes Validates that the SKILL.md file exists in the skill directory.

What It Checks

  1. Looks for SKILL.md in the skill root directory
  2. If not found, checks for lowercase skill.md variant
  3. Fails if lowercase variant exists (must be uppercase)
  4. Fails if neither exists

Implementation

The file name must be exactly SKILL.md (uppercase). A lowercase skill.md file will be rejected.

structure.valid-frontmatter

Severity: ERROR | Spec Required: Yes Validates that YAML frontmatter at the top of SKILL.md is parseable and valid.

What It Checks

  1. Checks skill.parse_errors for frontmatter-related errors
  2. Verifies that skill.metadata was successfully parsed
  3. Fails if frontmatter has YAML syntax errors
  4. Fails if no frontmatter is present

Implementation

Frontmatter must be enclosed in --- delimiters at the start of the file.

structure.standard-frontmatter-fields

Severity: WARNING | Spec Required: No Verifies that frontmatter only contains fields defined in the Agent Skills specification.

What It Checks

Compares frontmatter fields against the official spec fields:
  • name (required)
  • description (required)
  • license (optional)
  • compatibility (optional)
  • metadata (optional)
  • allowed-tools (optional/experimental)
Fails if any non-standard fields are found.

Implementation

Example


structure.scripts-valid

Severity: WARNING | Spec Required: No Validates that the optional /scripts folder contains only valid script file types.

What It Checks

  1. Passes if no scripts/ folder exists (optional folder)
  2. Fails if scripts exists but is not a directory
  3. Checks all files have valid script extensions: .py, .sh, .js, .ts, .bash, .rb
  4. Fails if any invalid file extensions are found

Valid Extensions

Implementation


structure.references-valid

Severity: WARNING | Spec Required: No Validates that the optional /references folder contains only valid reference document types.

What It Checks

  1. Passes if no references/ folder exists (optional folder)
  2. Fails if references exists but is not a directory
  3. Checks all files have valid reference extensions: .md, .txt, .rst
  4. Fails if any invalid file extensions are found

Valid Extensions

Implementation


structure.scripts-no-interactive

Severity: WARNING | Spec Required: No Checks that scripts do not use interactive input patterns, since agents run non-interactive shells.

What It Checks

Scans script files for language-specific interactive input patterns:

Implementation

Scripts with interactive input will fail to execute properly in agent environments, which run non-interactive shells.

structure.scripts-self-contained

Severity: INFO | Spec Required: No Checks that the scripts/ folder has no loose dependency manifests that would prevent self-contained execution.

What It Checks

Looks for dependency manifest files in scripts/ and provides suggestions for self-contained alternatives:

Implementation

Example: Self-Contained Python Script

This is an INFO-level check (suggestion only). Self-contained scripts improve portability but are not required.