readme-regen
Skill19 starsChanged 11 days agoMITView on GitHub
Regenerate docs/guide.md's machine-owned settings region from package.json's contributes.configuration, then run a feature-coverage check that flags drift between the hand-written feature prose and the extension's real contribution points. Use whenever README.md or a `contributes.*` entry in package.json changes. Never rewrites feature prose — it only reports.
In this repository4 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- claude-md-compressSkill
- review-feedbackSkill
- template-loop-compressSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 60
Never imports vscode, and is not compiled into out/ or out-test/.
- Very specific: line 61
Never ships: .vscodeignore excludes .claude/, and make package asserts no .claude/ entry is in the .vsix.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
readme-regen
docs/guide.md has two halves that need opposite treatment, and this skill is the line between them.
- The settings region is machine-owned. It sits between
<!-- loopboard:settings:begin -->and<!-- loopboard:settings:end -->, and is re-derived frompackage.jsonon every run, so it can never drift. Never hand-edit inside the sentinels — the next run overwrites it. - The showcase region (
<!-- loopboard:showcase:begin/end -->) is machine-owned too: a copy of the same-sentinel slice ofdocs/showcase/README.md, relative links made absolute raw URLs. Edit the showcase page, never docs/guide.md's copy.make readmeregenerates both regions + checks;make showcasere-records the GIFs and then runs it. - The feature prose ("Small on purpose", storage, sidebar, security, the settings prose) is hand-written and stays that way. The tool validates its COVERAGE against the real contribution points and FLAGS drift. It never rewrites a sentence. Auto-derived feature prose is out of scope.
Run it
Containers only: never node on the host (CLAUDE.md non-negotiable 1). From the repo root:
make readmegenerate is idempotent: running it twice is a no-op, so the README stays fixpoint-stable exactly
like the loopboard:sync:* blocks. check exits non-zero and lists every problem it found.
The same logic is asserted by test/readme-settings.test.js under make test / make check, which
is the real backstop: a stale settings region or an undocumented command fails the build for an
editor who never read this file.
When to run it
- Any change to
contributes.configurationinpackage.json— a setting added, removed, renamed, re-defaulted, re-ordered, deprecated, or itsmarkdownDescriptionreworded. - Any change to
contributes.commandsorcontributes.views. - Any edit to
docs/guide.md, to confirm you did not break coverage.
What check enforces
- Settings region is current — byte-equal to what
generatewould write. - Every command is documented — each
contributes.commands[].titleappears somewhere in the README. - Every view is documented — the activity-bar container title and each view name appear.
- Documented behaviours still have prose — the
DOCUMENTED_BEHAVIOURSlist inreadme-tool.js(three human actions, markdown source of truth, groom/work loops, multi-model slots, loop terminals,.loopboard/cache/attachments, sidebar,DONE.mdarchival, atomic field-level saves, zero runtime dependencies).
A failure is a prompt to WRITE prose, not a prompt to loosen the check. Only edit
DOCUMENTED_BEHAVIOURS when a behaviour genuinely stops existing.
Boundaries
- Dependency-free plain Node. No new runtime deps, no new devDependencies, no bundler.
- Never imports
vscode, and is not compiled intoout/orout-test/. - Never ships:
.vscodeignoreexcludes.claude/**, andmake packageasserts no.claude/entry is in the.vsix. Keep it that way — do not add it to the packaged file set. - Facts stated in the README must be true of the repo. When adding prose, verify against the
source (
CLAUDE.md,.loopboard/LOOP.md, theMakefile,package.json) rather than the README's own earlier wording, which is what drifts.
The short README.md is hand-written and links to the guide. Keep it concise; generation must never overwrite it. Run the coverage check after changes to either page.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

