Syntax
Options
Path to the card directory to validate. Defaults to the current directory (
.).Usage examples
What it checks
The validate command runs thevalidate_card.py Python script against your card directory. It performs five checks:
| # | Check | File | Description |
|---|---|---|---|
| 1 | SKILL.md | SKILL.md | File exists and starts with valid YAML frontmatter (---) |
| 2 | Candidate Profile | profile.json | Validated against candidate_profile.schema.json — required fields: schema_version, title, seniority, skills, primary_domains |
| 3 | Evidence Registry | evidence.json | Validated against evidence.schema.json — required fields: schema_version, items |
| 4 | Rules of Engagement | rules.yaml | Validated against roe.schema.json — required fields: schema_version, engagement, remote, filters, privacy |
| 5 | Rules directory | rules/ | Directory exists with all 4 rule files (warning if missing, not a failure) |
Expected output
The
rules/ directory check returns a warning (not a failure) if missing. Your card can still be published, but agents may not know how to evaluate fit without rule templates.Exit codes
| Code | Meaning |
|---|---|
0 | All checks passed — card is valid |
1 | One or more required checks failed — review the output for details |
validate exits with code 1 on failure, you can chain it safely with publish:
Prerequisites
- Python 3 must be installed. The CLI will abort with an error if Python is not found.
- The
jsonschemaandpyyamlPython packages are required. If they are missing, the CLI attempts to install them automatically viapip install jsonschema pyyaml.