This repository is the operating-model source of truth. Domains, capabilities, skills, proficiency levels, and roles live as YAML. CI validates them. A read-only site is generated for executives.
Do not edit site/. It is build output.
Node 20 or newer.
npm install
npm run validate
npm run build # writes site/ (landing is index.html, plus drawings)
npm run dev # build + preview at http://127.0.0.1:4173Open http://127.0.0.1:4173 (IPv4). site/ is gitignored, so there is nothing to open until you run build or dev.
If the page never loads, an old process is probably still bound to 4173:
lsof -ti :4173 | xargs kill
npm run devOn merge to main, CI validates, rebuilds the site, and deploys it to GitHub Pages. Set the repository Pages source to GitHub Actions once.
You do not need to edit YAML.
- Open a GitHub Issue using one of the forms: Propose a skill, Propose a capability, or Define a role.
- Or describe the change in natural language to Claude CoWork / Cursor. Point the assistant at
CLAUDE.md. It will draft YAML atstatus: draft. - A human reviews the pull request. Only a human may set
status: reviewedorstatus: ratified. - Capabilities omit
statusin YAML; tooling treats them as draft. L1-floor capabilities requirel1_guardrails. L2-floor capabilities carry a one-sentencenot_at_l1reason. Every capability setslevels_mode(standard-ladderorspecific).
how-it-all-relates.md— landing-page argument (published asindex.html)levels.yaml— agency-wide L1 / L2 / L3 / Owner legenddomains/*.yaml— six closed domainscapabilities/<domain-slug>/<kebab-id>.yaml— capabilities nested by domainskills/*.yaml— methods used inside capabilities (agent_skills)roles/interface-lead.yaml— staffing bound example (not rendered on the site yet)