Repo layout
Running tests
plugin.yaml is backed by a real file (scripts/check-structure.js), and checks that the persona’s static copies (AGENTS.md, .cursor/, .windsurf/, .clinerules/) haven’t drifted from each other (scripts/check-rule-copies.js).
Keeping persona copies in sync
The screen text is duplicated acrossAGENTS.md, .cursor/rules/margaret.mdc, .windsurf/rules/margaret.md, and .clinerules/margaret.md for hosts without a hook system. Edit skills/margaret/SKILL.md first, then propagate the change to each static copy — npm test fails the build if they drift.
Benchmarks
benchmarks/ scores margaret’s output against a plain baseline and the caveman skill on correctness and lines-of-code, via promptfooconfig.yaml and the prompts in prompts.json. See benchmarks/README.md for how to run an eval pass.