# Commune Setup

> 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.

- Skill: `dmthepm/commune-setup` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add dmthepm/commune-setup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dmthepm/commune-setup/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dmthepm (https://skillmd.com/u/dmthepm)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/dmthepm/commune-setup

---


# 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

1. **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.

2. **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).

3. **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.

4. **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.

5. **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.

6. **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.

