Repository navigation
Development
-
skills/<name>/SKILL.md: each skill's working document, under 200 lines, with a description of at most 1,024 characters. - Beside each, the evergreen companions:
RESEARCH.md(dated findings, sources and a four-track search plan),CHANGELOG.md(every change with its reason),LEARNINGS.md,TESTS.mdwithevals/evals.json,MAINTENANCE.md, andevergreen.json(tier, schedule and history). -
skills/madnesswright/scripts/mpn.py: the helper, standard-library Python 3.9 or newer, one JSON object per command. -
tests/check_skills.py(structure and public-safety checks),tests/test_mpn.py(the helper),tests/fixtures/(synthetic mods and a synthetic SceneTools project). -
scripts/budget.py: the size budget. -
ai-docs/: session notes, the handoff and the log.
From the repository root, as AGENTS.md asks before every commit. The outputs below are from a fresh clone of tag v0.1.1:
python tests/check_skills.pyok: 3 skills, companions, manifests, links and text guards
Exit code 0.
check_skills.py checks each skill's frontmatter, description length, companions and evergreen.json. It also parses every JSON file, wants an X.Y.Z version in plugin.json, follows every relative link, and fails any file holding a home-folder path or an AI attribution line.
python tests/test_mpn.py..........................
----------------------------------------------------------------------
Ran 26 tests in <s>s
OK
Exit code 0.
The 26 tests cover scene-lint on a synthetic project written to a temporary folder (8), check-mod (14), deploy and log (3) and backup (1).
python scripts/budget.pylargest description characters (always loaded; spec limit 1,024) 1000 green<=950 yellow<=1024 yellow madnesswright
all descriptions tokens together (always loaded) 737 green<=1200 yellow<=1600 green 3 skills
largest SKILL.md tokens (loaded on every use) 2281 green<=2500 yellow<=3500 green madnesswright
largest reference tokens (loaded on demand) 1593 green<=3500 yellow<=5000 green madnesswright-modtools/harmony.md
largest script tokens (run, read only when debugging) 9331 green<=9000 yellow<=12000 yellow madnesswright/mpn.py
installed skills folder KB 174 green<=200 yellow<=400 green
tracked repository KB 1117 green<=512 yellow<=1536 yellow
budget: YELLOW
Exit code 0.
The budget keeps the always-loaded descriptions and the installed size small. Red exits 2 and fails CI; yellow passes and is printed for the maintainer. At 0.1.1 three rows are yellow: the longest description (1,000 characters), mpn.py (about 9,300 tokens) and the tracked repository (1,117 KB).
.github/workflows/tests.yml runs check_skills.py and test_mpn.py on Linux, macOS and Windows with Python 3.9 and 3.14, on every push to main and every pull request, plus a job for budget.py. Dependabot keeps the workflow actions current.
Bump .claude-plugin/plugin.json, add a line to the root CHANGELOG.md, and push a tag vX.Y.Z. .github/workflows/release.yml then:
- checks that the tag matches the version in
plugin.json; - runs the structure check, the helper's tests and the budget;
- zips
skills/(without__pycache__) with README, LICENSE and SECURITY.md; - publishes a GitHub release with that zip.
Each skill follows the evergreen protocol in pointer mode. With the evergreen plugin installed it refreshes through evergreen-refresh; otherwise its MAINTENANCE.md has the rules. All three skills are tier moderate, every 30 days, next due 2026-11-16. The madnesswright skill also re-checks one volatile claim every 14 days and at each use: that official modding runs only on releasebeta. Every change to a SKILL.md gets a CHANGELOG entry with its reason, and a change to what a skill triggers on or does reruns its evals.
AGENTS.md holds the rules for anyone, or any agent, working in the repository. Among them:
- Research beats recall: no branch name, version, path, menu item, card field or rule changes from memory, only from a source cited in RESEARCH.md.
-
mpn.pywrites only a backup zip and the game's Mods folder. - Nothing from the SceneTools or ModTools repositories is copied in.
- The skills install nothing on their own.
- Nothing private in the public repository, and no AI attribution anywhere.
The repository's ai-docs/notes/ folder holds:
-
2026-10-17-wiki-verify.py: downloads the 0.1.1 release zip, clones tagv0.1.1for the fixtures, builds the stand-in game folders, and runs every command on these pages. -
2026-10-17-wiki-verify.out.txt: its saved output on Windows, with the scratch folder, home folder, backup time stamp and test timing masked. The pages were filled from it by script. -
2026-10-17-wiki-verify.linux.out.txt: the same program on Linux (WSL Ubuntu, Python 3.14.4), which differs only in path separators and in the ordercheck-modlists cards and warnings. -
2026-10-17-github-wiki.md: how the wiki was made and how to update it at the next release.
This wiki describes madnesswright 0.1.2 (tag v0.1.2) and was last updated on 2026-10-18. The plugin is MIT licensed. Report problems in the issues. Download: madnesswright 0.1.2.
Using it
- Getting started
- Mods and MadCards
- Levels with SceneTools
- Assets and Harmony
- The helper
- Troubleshooting
- FAQ
The releases
Contributing
Elsewhere