Skip to content

Recipes

m4bwav edited this page Oct 4, 2026 · 1 revision

Each recipe says whether it ran for this wiki. The transcripts come from the same verification run as Commands, in a fresh clone of master.

Ask the agent

With the skill installed, these requests load it. Say them in the repository whose wiki you want:

write a wiki for this repo
update the wiki for 2.4.0
the wiki is empty, fill it out from the README and the tests
put the updated pages in ./wiki-draft/, don't push or commit

The first two match the skill's description word for word. The skill's eval suite checks that "write a wiki for this repo" loads it and that a request to edit only a README does not (Development). The other two lines were not run for this wiki.

Gate a wiki before you push

The three offline checks in one script, which stops at the first that fails. It expects the verification program and its saved output in notes/:

#!/bin/sh
# check-wiki.sh: the three offline gates on a wiki working copy, stopping at the first that fails
W=skills/wikiwright/scripts/wikiwright.py
WIKI=$1
python "$W" check "$WIKI" --version "$2" &&
python "$W" outputs "$WIKI" notes/wiki-verify.out.txt &&
python "$W" snippets "$WIKI" notes/wiki-verify.py

On a one-page wiki (the pages/Home.md from Commands with a version line, a sidebar and a footer for 1.2.0), first with the right version, then with one the footer does not name:

$ sh check-wiki.sh wiki 1.2.0
check: 1 pages, 0 errors, 0 warnings
outputs: 1 pages, 1 outputs checked, 0 missing, 0 skipped
Home.md:18: command, not checked: pip install widget
snippets: 1 pages, 1 blocks checked, 0 missing, 0 skipped, 1 commands
$ echo $?
0
$ sh check-wiki.sh wiki 1.3.0
_Footer.md:1: error: does not name version 1.3.0
Home.md:0: warn: does not mention version 1.3.0
check: 1 pages, 1 errors, 1 warnings
$ echo $?
1

The skill also runs a prose checker on the pages when everwrite is installed; that step is not in the script.

Update a wiki for a release by hand

The skill does this in update mode. The same steps by hand, for an npm package whose wiki note lives in ai-docs/notes/ (not run as a sequence for this wiki; each command is on Commands):

git -C ../widget.wiki pull --ff-only
node ai-docs/notes/2026-09-28-wiki-verify.mjs > new.out.txt
python skills/wikiwright/scripts/wikiwright.py diffout ai-docs/notes/2026-09-28-wiki-verify.out.txt new.out.txt --skip installed --save ai-docs/notes/2026-09-28-wiki-verify.out.txt
python skills/wikiwright/scripts/wikiwright.py outputs ../widget.wiki ai-docs/notes/2026-09-28-wiki-verify.out.txt

Bump the version inside the verification script before running it. Every section diffout reports as changed is a page to fix, and every page output that outputs reports missing is a page to fix. Then update the footer's version and date, run the gate and push.

Survey a package before writing

registry prints what the pages need from npm or NuGet in one call: versions with dates, deprecations, engines, entry points, dependencies, size and last week's downloads. See Commands for both registries. --limit 0 lists every version, which the Versions and upgrading page needs.

Start a verification script

scaffold writes the script cut to the sections the package needs. Choose the flags from the survey: --bin when registry shows a bin, --requests when the package makes requests, --files when it writes files, --golden when the repository keeps a golden capture of an old version. See Commands.

Check that the installed plugin matches your clone

After a git pull in a clone you installed from, cachecheck with no options compares the clone with the copy Claude Code runs:

python skills/wikiwright/scripts/wikiwright.py cachecheck

Every file must be equal. When some differ, uninstall the plugin and install it again: claude plugin update keeps the old copy while the version number is unchanged. The run on Commands used a scratch copy with --cache.

A wiki on Forgejo, Gitea or GitLab

Pass the host to each subcommand that has rules for it: preflight and live read the host from the remote URL (or --kind), and check takes --host. The sample wiki under Forgejo's and GitLab's rules is on Commands. Publishing to these hosts was measured on 2026-09-29 without an account, plus one real wiki on a local Forgejo; nothing on another host was run for this wiki.

Clone this wiki locally