with one click
linting-career
// Validate all career YAML files for schema compliance, referential integrity, and em-dash policy violations. In v2, also validates embedded facts[] arrays inside experience files.
// Validate all career YAML files for schema compliance, referential integrity, and em-dash policy violations. In v2, also validates embedded facts[] arrays inside experience files.
| name | linting-career |
| description | Validate all career YAML files for schema compliance, referential integrity, and em-dash policy violations. In v2, also validates embedded facts[] arrays inside experience files. |
/careerops:linting-career
Or lint a specific subdirectory:
/careerops:linting-career experiences
/careerops:linting-career applications/A-2026-05-15-procogia-mle
Runs scripts/lint_yaml.py against all YAML files in the career knowledge base (or a specific subdirectory). Checks:
schemas/facts[] arrays)facts[] arrays inside career/experiences/X-*.yaml and career/projects/P-*.yaml are validated against embedded-fact.schema.jsonIn CareerOps v2, facts are embedded inside experience files as facts[] arrays rather than living in a separate career/facts/ directory. The linter walks experience.facts[] arrays for all schema and reference checks. There is no career/facts/ directory to scan.
Determine the target path:
career/experiences / evidence / applications etc.: scan that subdirectoryapplications/A-xyz: scan that specific folderBuild the file list:
python scripts/lint_yaml.py <space-separated list of matching .yaml files>
Use glob to find all *.yaml files in the target directory recursively.
Run the lint command. Stream the output.
After completion, print a summary:
Linted: N files
OK: N | Schema errors: N | Ref errors: N | Em-dash violations: N
If any errors were found, list the files with errors and suggest how to fix them.
If all clean: print "[linting-career] All career YAML files are valid."