Repository navigation
Development
The repository holds one plugin with one skill. AGENTS.md at the root has the rules for anyone, person or agent, changing it; CLAUDE.md imports it.
| Path | What it holds |
|---|---|
.claude-plugin/ |
plugin.json (name, version, keywords) and marketplace.json, which makes the repository its own marketplace |
skills/wikiwright/SKILL.md |
the eight steps, update mode, the hand-over with package-modernize |
skills/wikiwright/references/ |
page sets, publishing, other hosts, and one core file per registry (npm.md, nuget.md) plus files read only for a package's traits: requests, files on disk, golden captures, a command line, external programs and media, time and state |
skills/wikiwright/templates/ |
the npm and NuGet verification templates, the host-fixture and file-tree kits, the sidebar and footer, and the wiki note template |
skills/wikiwright/scripts/wikiwright.py |
the helper, one standard-library file |
skills/wikiwright/ evergreen files |
evergreen.json (state and schedule), RESEARCH.md, CHANGELOG.md, LEARNINGS.md and its archive, TESTS.md, MAINTENANCE.md, evals/evals.json
|
evals/ |
the eval cases' prompts and graders, the suite driver and the action grader |
tests/ |
the helper's unit tests, the three Node suites, and fixtures/good-wiki
|
ai-docs/ |
handoff, log, decisions and notes from past sessions |
From the repository root:
$ python tests/test_wikiwright.py 2>&1 | tail -3
Ran 94 tests in 11.625s
OK
$ node --test tests/host-fixture.test.mjs tests/file-tree.test.mjs tests/snippet.test.mjs | grep -E ' (tests|pass|fail|skipped) [0-9]'
ℹ tests 22
ℹ pass 21
ℹ fail 0
ℹ skipped 1That was on Windows with Python 3.14.6 and Node 24.18.0; Python 3.9.25 also passed all 94. The skipped Node test sets a folder's mode, which Windows ignores. The host-fixture tests need OpenSSL 3 and skip themselves without it; they make no network requests. node --test here ran with Node 24, the version CI uses.
.github/workflows/tests.yml runs on every push to master and every pull request, on Ubuntu, macOS and Windows with Python 3.9 and 3.13 and Node 24. It runs the unit tests, the three Node suites, wikiwright.py --version, and check on tests/fixtures/good-wiki.
-
wikiwright.pystays one standard-library file that runs on Python 3.9 or later on Windows, macOS and Linux. Every change to it gets a test intests/test_wikiwright.py. - Every change to the skill is logged in
skills/wikiwright/CHANGELOG.mdwith its reason. Lessons from real runs go inLEARNINGS.mdwith an ID and a code name; claims about GitHub or the registries carry the date they were checked. - The repository is public: no names of people other than the author and the maintainers of public packages the skill was tested on, no machine names or paths, no private projects, no credentials. Those belong in the private overlay.
- Prose people read is checked with the everwrite checker, with no strong findings.
- No AI attribution in commits, pull requests, releases or files.
skills/wikiwright/evals/evals.json holds nine cases: three trigger prompts that must load the skill, two decoys that must not (one asks to edit a README), three action cases graded on evidence in the run's trace, and one outcome case. Triggers and decoys run with claude plugin eval; the action cases run through evals/run-suite.sh, with and without the skill, and are graded by evals/grade-action.py. The last recorded run, T-20261001-1 on 2026-10-01, passed 9 of 9. The suite was not run for this wiki.
Headless eval runs can write into the source folder, so the driver ends by printing git status --short. Commit before a suite and edit nothing under skills/ while one runs.
The skill is an evergreen unit, tier fast, checked every 14 days: GitHub's wiki rules, the registries' APIs and the tools for checking documentation examples are re-researched from primary sources. evergreen.json says the next check is due on 2026-10-12. MAINTENANCE.md is a self-contained copy of the protocol for machines without the evergreen plugin.
- Bump the version in
.claude-plugin/plugin.json,VERSIONinwikiwright.py,metadata.versioninSKILL.mdandversioninevergreen.json. - Add the CHANGELOG entry and record a test run in
TESTS.md. - Run
python skills/wikiwright/scripts/wikiwright.py releasecheck X.Y.Zuntil it passes (Commands shows its output). - Tag
vX.Y.Zand publish a GitHub Release with the CHANGELOG entry as notes. - Where the plugin is installed from a local marketplace, uninstall and install it again, and run
cachecheckuntil every file is equal.
These pages were written with the skill itself. Their examples come from a verification program run against a fresh clone of master at a809eff; it and its output are kept outside the repository with the run's notes. The install transcripts were run by hand.
This wiki describes wikiwright 0.9.0 (master at a809eff) and was last updated on 2026-10-03. The skill is MIT licensed. Report problems in the issues.
Using it
The releases
Contributing
Elsewhere