Skip to content
m4bwav edited this page Oct 4, 2026 · 1 revision

Why does the agent ask me to save a wiki page by hand?

GitHub creates a wiki's .wiki.git repository only when someone saves a first page in the web UI. Switching the wiki feature on does not create it: on 2026-09-28 the repository was still missing 61 seconds after --enable, and present 11 seconds after a first page was saved. There is no API for it. So when preflight reports no-wiki-repo, the agent asks you to open https://github.com/OWNER/REPO/wiki/_new, save any text, and tell it; the push replaces that page. It keeps working on the pages while it waits.

Will it overwrite a wiki I wrote myself?

No. preflight --clone reports has-pages for any wiki that is more than GitHub's single placeholder page, and the skill then reads every page and updates them in place. It overwrites only the placeholder.

Does it change my README or CHANGELOG?

Not unless you ask. They ship inside the package and reach the registry only with a release. So the skill lists what it found wrong in them, numbered, in its report and in the repository's wiki note, for you to fix in the next release.

Does verification touch the internet or my real files?

Examples run against the published package installed into a scratch folder. A package that makes requests is answered by a local fixture server or stand-in proxy, and the npm host-fixture kit tests that its socket guard blocks anything leaving 127.0.0.1 before a case runs. A package that writes files runs each case on a fresh scratch copy of a fixture tree. The skill never requests the real service, not even once to record an answer. What does reach the network: installing the package from its registry, registry, preflight and live.

Which registries and languages does it support?

npm and NuGet. registry reads npmjs.org and nuget.org, and scaffold has an npm template (JavaScript, with TypeScript snippets) and a NuGet template (a .NET 10 file-based app that can also run F# and PowerShell). There is no template for PyPI, crates.io, Maven or Go. A repository with no package, such as this one, gets its page set chosen by hand.

Does it work on GitLab, Gitea, Forgejo or Azure DevOps?

Partly. preflight, check --host and live follow what was measured on 2026-09-29 without an account, on local Gitea, Forgejo and GitLab instances and anonymous reads of public wikis. One real wiki has been published on another host, on a local Forgejo. What needs an account is marked unverified in the skill's references/hosts.md. On Gitea and Forgejo a push cannot create the wiki; preflight --seed with a token in WIKIWRIGHT_TOKEN can, or a first page saved by hand. On GitLab the first push does.

Adding the marketplace fails with "Filename too long"

On Windows, Git refuses paths over 260 characters unless core.longpaths is on. Claude Code clones the marketplace into a temporary folder under its config folder, and the repository holds ai-docs/decisions/2026-09-28-wikiwright-its-own-plugin-script-checks-model-writes-verify-.md, a 92-character path inside the repository. On 2026-10-03, with CLAUDE_CONFIG_DIR set to a scratch folder whose path was 119 characters long, the clone's longest path came to about 270 characters and the clone failed:

error: unable to create file ai-docs/decisions/2026-09-28-wikiwright-its-own-plugin-script-checks-model-writes-verify-.md: Filename too long
fatal: unable to checkout working tree

Turn long paths on with git config --global core.longpaths true, or use a shorter config folder. With core.longpaths on, the same command succeeded. The default config folder, ~/.claude, is much shorter; it was not tried.

Adding the marketplace fails with an SSH host key error

Use the HTTPS URL, claude plugin marketplace add https://github.com/m4bwav/wikiwright.git, which needs no SSH key. On the machine these pages were tested on, the short form m4bwav/wikiwright cloned over HTTPS too, so the error was not reproduced here.

The skill still does what the old version did

Two things can hold an old copy. claude plugin update keeps the installed files while the version number is unchanged, which matters when you install from a local clone; cachecheck shows which files differ, and uninstalling and installing again fixes it. And a running Claude Code session keeps the SKILL.md it read at start, so a session started before the update runs the old steps.

Claude Code refused to push the wiki

In auto mode, Claude Code's permission check has refused an agent's push to a wiki repository as creating a public surface, even when the request asked for it. Approve the push when it asks, or push the committed wiki yourself with git -C <wiki> push, then run live.

What is the private overlay for?

The repository is public, so it holds no machine paths, identities or lists of your projects. Your own values go in a markdown file named by WIKIWRIGHT_OVERLAY, or at ~/.wikiwright/OVERLAY.md: where your clones live, which identity to commit as, and which repositories have a wiki and which still owe one. The overlay wins over the skill's defaults.

Why can't my wiki show the backslash placeholder?

check reports every line holding the placeholder (<BS>), inside code blocks too, because a placeholder left anywhere means unbs was not run. A page that needs to show the placeholder itself has to spell it with HTML entities outside code, as this one does.

Is there a way to see what the skill was tested on?

references/page-sets.md lists the twelve wikis the skill wrote or retrofitted from 2026-09-28 to 2026-09-30, and TESTS.md records each eval run. Development has the details.

Clone this wiki locally