Every file in this directory is auto-generated. Do not hand-edit.
The generator at generate.py reads the source-of-truth (plugins/*/.claude-plugin/plugin.json, plugins/*/hooks/hooks.json, plugins/*/skills/*/SKILL.md, plugins/*/agents/*.md) and writes:
| File | Purpose |
|---|---|
highlevel.mmd |
System diagram — Pech's 5 sub-plugins + data flow |
hooks.mmd |
Hook lifecycle per sub-plugin (SessionStart / PostToolUse / PreCompact / Stop) |
lifecycle.mmd |
Session flow — SessionStart rate-card load → PostToolUse ledger/budget → Stop finalization |
dataflow.mmd |
Cross-plugin flow via enchanted-mcp events (emu → pech → peer degradation) |
index.html |
Dark-themed single-page explorer combining all four |
Every time you change any of:
- A sub-plugin's
.claude-plugin/plugin.json - A sub-plugin's
hooks/hooks.json - A skill's
SKILL.mdfrontmatter - An agent's
agents/*.mdfrontmatter
Run:
python docs/architecture/generate.pyCommit the regenerated *.mmd and index.html in the same commit that changed the source. Diagram drift is a code-review red flag.
The 5-sibling consensus (emu + wixie + crow + hydra + sylph) treats this as a brand invariant: diagrams never go stale. Every sibling's generate.py reads the same source shapes and produces the same diagram types. Hand-editing a .mmd means the next generate.py run silently overwrites your work.
If mermaid-cli is available (cd docs/assets && npm install), generate.py will produce SVG renders alongside the .mmd files. Pair this with docs/assets/apply-blueprint.js for the blueprint-style dark theme.
.mmdfile is a one-line placeholder: you haven't rungenerate.pyyet. Run it after your first sub-plugin is configured.generate.pyraises KeyError: a sub-plugin'splugin.jsonis missing a required field. Compare against any sibling (enchanter-ai/wixie/plugins/prompt-crafter/.claude-plugin/plugin.json).index.htmlrenders blank: the four.mmdfiles are stale or empty. Regenerate.- Anomaly narrative in
/pech-reportPDF looks wrong: that's generated by Opus at report-time, not bygenerate.py. File the issue againstcost-querysub-plugin.