readme-regenlisted
Install: claude install-skill SinnConsulting/LoopBoard
# readme-regen
`README.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 from `package.json` on 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 of `docs/showcase/README.md`, relative links made absolute raw URLs.
Edit the showcase page, never README.md's copy. `make readme` regenerates both regions + checks;
`make showcase` re-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
Docker only — never `node` on the host (CLAUDE.md non-negotiable 1). From the repo root:
```
docker run --rm -v "$(pwd)":/app -w /app node:22 node .claude/skills/readme-regen/readme-tool.js generate
docker run --rm -v "$(pwd)":/app -w /app node:22 node .claude/skills/readme-regen/readme-tool.js check
```
`generate` is idempotent: running it twice is a no-op, so the README stays fixpoint-stable exactly
like the `loopboard:sync:*` blocks. `check