Skip to content
Back to skills

Commune Setup

ASecurity

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.

  • 8 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 6, 2026
documentationnodegit

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned October 6, 2026

npx -y skills add dmthepm/commune-wiki --skill commune-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Commune Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Commune Setup
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dmthepm-commune-setup/badge)](https://www.skillsdirectory.com/skills/dmthepm-commune-setup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: commune-setup
description: 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.
disable-model-invocation: true
metadata:
  version: "0.1.0"
  commune-schema: "1"
---

# 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.
- Rename or move a note only with `$COMMUNE rename <from> <to>`, never `mv`,
  `git mv`, `obsidian rename` or a file tool. Those leave every `[[link]]` to
  the old name broken; `rename` rewrites them and keeps the URL. Add
  `--dry-run` first.
- 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.

Files in this skill

  • SKILL.md4.5 KB
  • agents/openai.yaml669 B
  • assets/WRITING.md4.4 KB
  • references/migrate.md4.1 KB
  • scripts/preflight.mjs4.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…