notabene-authoring
What you can put in a notabene doc — the full rendering palette, so you can author or expand documentation using everything the renderer supports. Use when…
Install, configure, OR reconfigure notabene (the docs review tool) and start its review server — for a user who drives everything through the agent, on any stack (Rust/Python/Go/JS, no toolchain needed). Use to GET STARTED / LAUNCH: "set up notabene", "install notabene", "set up
$ npx -y skills add z29k/notabene --skill notabene-setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/notabene-setupContext preview
The summary Claude sees to decide when to auto-load this skill.
Install, configure, OR reconfigure notabene (the docs review tool) and start its review server — for a user who drives everything through the agent, on any stack (Rust/Python/Go/JS, no toolchain needed). Use to GET STARTED / LAUNCH: "set up notabene", "install notabene", "set up
name: notabene-setup description: >- Install, configure, OR reconfigure notabene (the docs review tool) and start its review server — for a user who drives everything through the agent, on any stack (Rust/Python/Go/JS, no toolchain needed). Use to GET STARTED / LAUNCH: "set up notabene", "install notabene", "set up docs review/commenting", "start the review server", "open the review UI", "I want to leave comments on / review my docs", "get notabene running". Use to RECONFIGURE (a notabene.config.mjs already exists): "add/remove/rename a docs folder", "move the store", "switch review to approve/validation mode", "change notabene's port", "rename the site", "change the language", "add a verify step", "expose it on the LAN". This skill does NOT act on existing comments — processing review feedback is the `notabene` skill, which it hands off to once the server is up. Writes/edits notabene.config.mjs (shown first), creates the store, launches the server. Never commits; never exposes the LAN without an explicit request.
Get a user from nothing (or from a config they want changed) to an open review server, **with zero npm/build commands typed by hand**, on any repo. The renderer is fetched and run **through `npx`** — nothing is installed into the user's repo; only **data** lives there (`notabene.config.mjs` + the `.notabene/` store + their docs).
Everything routes on **`doctor`** (read-only state) — you encode **no** defaults yourself. This skill only sets things up; **processing comments is the `notabene` skill** (hand off at the end).
Never call `npx notabene` (unscoped — that package does not exist on npm) and never hardcode a version. Always go through the plugin forwarder, which pins the right renderer:
node "${CLAUDE_PLUGIN_ROOT}/bin/nb.mjs" <subcommand> --root <repo-root> [flags…]`<repo-root>` = the current project directory (the repo whose docs you're reviewing). Use its absolute path. `nb.mjs` forwards to `npx -y --prefer-offline @z29k/notabene@<pinned>`.
commit the config + `.notabene/` store; don't do it for them. (Offering `git init` on a non-repo is fine — that's not a commit.)
loopback-only by default; keep it that way.
one — those hold the user's real comments and settings.
still **print** the config you wrote (show, don't ask); never write invisibly.
re-run at any point.
Run once and read the JSON:
node "${CLAUDE_PLUGIN_ROOT}/bin/nb.mjs" doctor --root <repo-root> --jsonCode's bundled Node isn't always exposed). Guide the user to install Node — nodejs.org, their OS package manager, or `nvm` — then re-run Step 0. Don't proceed silently.
work but the server (Astro) will fail silently in the daemon log. Warn and point to the Node requirement **before proceeding** — same install fixes as `npx-unavailable`.
**Say so** before/while it runs, so the wait isn't mistaken for a hang.
— the `<store>/protocol.md` copy) and **`agents`** (`{ present, block }` — the `AGENTS.md` entry point). Anything missing or `current: false` → re-run `init`, it repairs both.
The report has no `config`/`store`/`port` blocks yet (there's no config to resolve) — it has **`docs.detected`** instead.
1. **Confirm the doc folders.** Present `docs.detected`. Keep only folders that are *actually* documentation; drop stray matches (a top-level `README`, `CHANGELOG`, generated dirs). If `docs.detected` is empty, ask where the docs live (don't guess). 2. **Choose the shape** — confirm with the user:
exclude }`. Derive readable `key`/`label` from the paths; keep `key`s unique.
if there's no `docs/`). It gets committed.
**explicitly** — the renderer's *code* default is `mdx`. Use `mdx` only if `.mdx` files exist or the user asks. 3. **Write `notabene.config.mjs`** at the repo root — **show the diff and confirm first**. Keep the safety default `host: false`. Shape:
// notabene.config.mjs — points the generic docs review tool at YOUR docs.
// Your data (docs, comments, journal) lives in your git, not in the tool.
export default {
siteName: "Docs",
tagline: "docs",
locale: "en", // UI language + nav sort collation
format: "commonmark", // "mdx" only if you have .mdx files
roots: [
{ key: "docs", label: "Docs", path: "docs", exclude: [".notabene/**"] },Leave notes in the margins of your repo's docs then let your AI agent apply them, resolve the threads, and journal what changed & why.
Repo: z29k/notabene
What you can put in a notabene doc — the full rendering palette, so you can author or expand documentation using everything the renderer supports. Use when…
notabene docs review loop: process review comments left on the docs and verify the docs. Use when the user says "address the comments", "process the doc…