commune-setup
Run once per wiki. Output: WRITING.md at the wiki root, in the fixed shape,
with no placeholder left in it — plus, when the wiki had one, a deleted writing
document and the links to it repointed.
User-invoked on purpose. It writes the file every other skill obeys, and it asks
questions only the wiki's owner can answer.
Rules
- Explore before you ask. Every question you can answer from the repository
is not a question. Read first, ask the residue.
- Recommended answer first, so answering is a yes or a correction.
- Rules only.
WRITING.md gets nothing that does not change what an agent
writes. History, positioning and plans stay wherever they are, or get deleted
with the file they were in.
- Never install anything.
Steps
Preflight. node scripts/preflight.mjs. Below 0.4.0, stop and show its
line. Also stop if WRITING.md already exists: say so, and offer to add
missing sections rather than overwrite the file.
Explore. Read, in this order, and say what you found in one line each:
src/content.config.ts — the collections and every field's real type,
required flag and default. This is what validates; a rule that contradicts
it is a build failure waiting.
- Any existing writing document (
docs/NOTE-WRITING-BIBLE.md, STYLE.md,
VOICE.md, docs/writing*.md). If one exists, follow
references/migrate.md before asking anything.
- Three live notes, chosen for spread: the longest, the newest, and one with
many inbound links. Read them for length band, person, title shape and
frontmatter habits — evidence for the recommendations, not rules yet.
.gitignore, and whether the repository is public
(gh repo view --json visibility when gh is there; otherwise ask).
Draft WRITING.md from assets/WRITING.md, filling every section you
have evidence for. Keep the six headings and their order exactly:
Sentences, Titles, Notes, Frontmatter, Avoid, Verdicts. commune-write reads
this shape.
Ask the residue — only the sections still holding a placeholder, plus the
two questions below. One message, numbered, recommended answer first, each question
naming what it changes in the file.
Ask both policy questions once, recommended answer first.
- Publish pages. Recommend
dumps.publish: opt-in: dumps are private
by default; only a dump with visibility: public is publishable as a page.
Ask whether to keep opt-in, choose never (no dump pages), or all
(every dump is public). Record the answer in Frontmatter.
- Commit handoffs. Recommend
dumps.commit: true: commit all four
handoffs so another person can inherit the writing history. Explain that
public repositories expose their contents even with visibility: private.
Ask whether to keep true or set false to exclude handoffs from commits.
Record the boolean in Frontmatter. With false, add dumps/ to
.gitignore; with true, remove ignore rules blocking handoffs. Ignoring
tracked files does not hide existing history. Committing does not create pages.
Write and verify. Write WRITING.md. Then check yourself: no
<angle bracket> remains; every frontmatter block's keys and values exist in
src/content.config.ts; the six headings are present and in order. Delete
the migrated document and repoint its links in the same commit. Print the
path and what to run next: "Run commune-dump with your first dump."
Stop conditions
WRITING.md exists → stop; offer to fill gaps, never overwrite.
- No
src/content.config.ts → stop. This is not a Commune wiki yet, and the
frontmatter section would be invented.
- The owner does not answer the residue → write the file with the sections you
have evidence for and leave the rest as placeholders, saying which. A
half-answered
WRITING.md is honest; an invented one is not.
1---2name: commune-setup3description: One-time setup of a Commune wiki for the authoring loop. Writes WRITING.md by interview, migrating any existing writing document into it, and decides the dumps policy. Use when the user runs it by name on a wiki that has no WRITING.md yet.4---56# commune-setup78Run once per wiki. Output: `WRITING.md` at the wiki root, in the fixed shape,9with no placeholder left in it — plus, when the wiki had one, a deleted writing10document and the links to it repointed.1112User-invoked on purpose. It writes the file every other skill obeys, and it asks13questions only the wiki's owner can answer.1415## Rules1617- **Explore before you ask.** Every question you can answer from the repository18 is not a question. Read first, ask the residue.19- **Recommended answer first**, so answering is a yes or a correction.20- **Rules only.** `WRITING.md` gets nothing that does not change what an agent21 writes. History, positioning and plans stay wherever they are, or get deleted22 with the file they were in.23- Never install anything.2425## Steps26271. **Preflight.** `node scripts/preflight.mjs`. Below 0.4.0, stop and show its28 line. Also stop if `WRITING.md` already exists: say so, and offer to add29 missing sections rather than overwrite the file.30312. **Explore.** Read, in this order, and say what you found in one line each:32 - `src/content.config.ts` — the collections and every field's real type,33 required flag and default. This is what validates; a rule that contradicts34 it is a build failure waiting.35 - Any existing writing document (`docs/NOTE-WRITING-BIBLE.md`, `STYLE.md`,36 `VOICE.md`, `docs/writing*.md`). If one exists, follow37 `references/migrate.md` before asking anything.38 - Three live notes, chosen for spread: the longest, the newest, and one with39 many inbound links. Read them for length band, person, title shape and40 frontmatter habits — evidence for the recommendations, not rules yet.41 - `.gitignore`, and whether the repository is public42 (`gh repo view --json visibility` when `gh` is there; otherwise ask).43443. **Draft `WRITING.md`** from `assets/WRITING.md`, filling every section you45 have evidence for. Keep the six headings and their order exactly:46 Sentences, Titles, Notes, Frontmatter, Avoid, Verdicts. `commune-write` reads47 this shape.48494. **Ask the residue** — only the sections still holding a placeholder, plus the50 two questions below. One message, numbered, recommended answer first, each question51 naming what it changes in the file.52535. **Ask both policy questions once, recommended answer first.**54 - **Publish pages.** Recommend `dumps.publish: opt-in`: dumps are private55 by default; only a dump with `visibility: public` is publishable as a page.56 Ask whether to keep `opt-in`, choose `never` (no dump pages), or `all`57 (every dump is public). Record the answer in **Frontmatter**.58 - **Commit handoffs.** Recommend `dumps.commit: true`: commit all four59 handoffs so another person can inherit the writing history. Explain that60 public repositories expose their contents even with `visibility: private`.61 Ask whether to keep `true` or set `false` to exclude handoffs from commits.62 Record the boolean in **Frontmatter**. With `false`, add `dumps/` to63 `.gitignore`; with `true`, remove ignore rules blocking handoffs. Ignoring64 tracked files does not hide existing history. Committing does not create pages.65666. **Write and verify.** Write `WRITING.md`. Then check yourself: no67 `<angle bracket>` remains; every frontmatter block's keys and values exist in68 `src/content.config.ts`; the six headings are present and in order. Delete69 the migrated document and repoint its links in the same commit. Print the70 path and what to run next: *"Run `commune-dump` with your first dump."*7172## Stop conditions7374- `WRITING.md` exists → stop; offer to fill gaps, never overwrite.75- No `src/content.config.ts` → stop. This is not a Commune wiki yet, and the76 frontmatter section would be invented.77- The owner does not answer the residue → write the file with the sections you78 have evidence for and leave the rest as placeholders, saying which. A79 half-answered `WRITING.md` is honest; an invented one is not.