GuidesCLI

Validation

Skill validation rules and requirements for the CLI.

The CLI validates Skills before pushing to ensure they meet requirements. This page covers all validation rules.

Skill Name Requirements

The Skill name (defined in SKILL.md frontmatter) must follow these rules:

RuleRequirement
CharactersLowercase letters, numbers, and hyphens
Length1 to 64 characters
Start/EndCannot start or end with a hyphen
ReservedCannot be anthropic, claude, bluebag

Valid Names

  • pdf-processing
  • data-analysis-v2
  • my-tool-123

Invalid Names

NameProblem
PDF-ProcessingUppercase not allowed
my_skillUnderscores not allowed
-my-skillStarts with hyphen
my-skill-Ends with hyphen
claudeReserved name

File Type Requirements

Only specific file types are allowed in Skills:

Documents

ExtensionDescription
.mdMarkdown files
.txtPlain text files
.jsonJSON data files
.yamlYAML configuration
.ymlYAML configuration (alternate)
.xmlXML documents

Code

ExtensionDescription
.jsJavaScript
.tsTypeScript
.pyPython
.shShell scripts

Configuration

ExtensionDescription
.tomlTOML configuration
.iniINI configuration
.env.exampleEnvironment variable templates

Templates

ExtensionDescription
.hbsHandlebars templates
.mustacheMustache templates
.ejsEJS templates
.htmlHTML files

Binary Exceptions

These binary file types are explicitly allowed:

ExtensionDescription
.ttfTrueType fonts
.pdfPDF documents
.gzGzip compressed files

Unsupported Types

Most binary executables and other file types are not allowed for security reasons:

  • Executables: .exe, .dll, .so
  • Images: .png, .jpg, .gif
  • Media: .mp3, .mp4
  • Archives: .zip, .tar (except .gz)
  • Databases: .db, .sqlite

Talk to us on Discord if you need a file type that isn't currently supported.

File Size Limits

LimitMaximum
Individual file10 MB
Total Skill size100 MB

Talk to us on Discord if large files are required.

Required Files

Every Skill must have a SKILL.md file at its root with valid YAML frontmatter:

---
name: my-skill
description: A description of what this skill does.
---

# My Skill

Instructions...

Required Frontmatter Fields

FieldRequiredDescription
nameYesUnique identifier for the Skill
descriptionYesWhat the Skill does and when to use it

Excluded Files

The following are automatically excluded from uploads:

Hidden Files

Files and directories starting with . are ignored:

  • .git/
  • .env
  • .DS_Store
  • .gitignore

Binary Detection

Non-whitelisted files are checked for binary content. Files containing null bytes are rejected.

Validation Errors

Missing SKILL.md

Missing SKILL.md at /path/to/skill/SKILL.md

Solution: Create a SKILL.md file with valid frontmatter.

Invalid Skill Name

Invalid skill name "My_Skill". Use lowercase letters, numbers, and hyphens.

Solution: Rename using only lowercase letters, numbers, and hyphens.

Missing Description

Missing description in SKILL.md. Provide a description in the frontmatter.

Solution: Add a description field to your YAML frontmatter.

Unsupported Extension

File "image.png" has unsupported extension ".png".

Solution: Remove the file or use an allowed format.

File Too Large

large-file.txt exceeds the 10MB file size limit.

Solution: Reduce file size or host large files externally.

Skill Too Large

Skill exceeds the 100MB total size limit.

Solution: Remove unnecessary files or split into multiple Skills.

Binary File Detected

File "data.bin" appears to be binary. Only text files are allowed.

Solution: Remove the file or use an allowed binary format (.ttf, .pdf, .gz).

On this page