Skip to content

Skill integrity

Skill integrity

majordomus://rule/majordomus.skill-integrity@1active skills

it references

referenced by

Rationale

A skill is loaded only when a task is about what it covers, so a broken one is not noticed until the moment a worker needs it. Validating every skill on every doctor run means the failure surfaces in the tree, with the file named, not in a session that loaded half a procedure. The catalogue every surface reads is derived from the same discovery the executable indexes, so a skill that exists for one interface exists for all of them.

Required behaviour

Every file the source class skill discovers has front matter that satisfies share/schemas/majordomus/skill/skill.v1.schema.json (no unknown key, schema: skill/v1, an integer version, a status from the closed set), an id equal to its directory name, and a body with non-empty # Purpose, # Procedure and # Output sections. No two skills claim one id, and no two describe themselves the same way: a skill is chosen by what its description says it covers, so two skills that say the same thing cannot both be chosen and the one a worker wanted is unreachable. Descriptions are compared folded to lower case with runs of whitespace collapsed and trailing sentence punctuation dropped, so the difference has to be in what a description says rather than in how it is typed. Every related id names a skill in the catalogue, and every tracked example under a skill's examples/ opens with a level-one heading.

Failure behaviour

A violation is a FAIL finding under the category skill, naming the file and every reason, and the command that found it exits 10. Under watch the same violation is reported as drift and the command exits 11. A repository with no skills is reported as such, never as a pass over nothing.

Verification

mj_validate_skills decides it, dispatched from doctor, watch; majordomus skills check runs the same examination on demand and prints its counts. The behavioural case test/cases/95_skills.sh proves it, and CI runs that case.

Where this comes from

canonical file
.ai/repo/rules/vendor/majordomus/rules/skill-integrity.v1.md
identity
majordomus.skill-integrity@1
also served as
MCP resource majordomus://rule/majordomus.skill-integrity@1 · majordomus entity show rule/majordomus-skill-integrity-1 · GET /api/v1/entity?uri=majordomus://rule/majordomus.skill-integrity@1
in the Cockpit
/cockpit/objects/rule/majordomus-skill-integrity-1

This page is generated from the file above by scripts/generate-site-data; editing the page changes nothing, editing the file changes every surface. The relations above are edges of docs/generated/graph.json, which the executable writes from the same index.

Searches the titles and descriptions of every page this site publishes.