dmthepm/commune-wiki/commune-write
- community
Checking that the SKILL.md file is still in the repository.
Grill, draft and refine one Commune piece from a dump. Use when a dumps/*.connect.md exists with no answered round (ask the round), when an answers file has a new answered round (draft or refine), or when the user gives a one-sentence correction on a drafted piece. Requires the wiki's installed commune CLI; writes into the real content file plus dumps/<slug>.answers.md and dumps/<slug>.review.html, then hands off to commune-ship.
Install
npx vskill@latest install dmthepm/commune-wiki/commune-writeSKILL.md
commune-write
Grill, draft, refine. One piece per run. The draft goes into the real file in src/content/; the worktree is the staging area.
Run every command from the wiki root. Pass no --root. $COMMUNE is the path step 1 prints. Handoff file shapes: references/handoffs.md.
Rules
- Use the target note's title verbatim in
[[Title]], with no display text
or pipe. Rewrite the sentence around the title.
WRITING.mdat the wiki root decides every sentence and every frontmatter
block. Read it first and read nothing else about voice. If it is missing, stop and say: "Run `commune-setup` first — this wiki has no `WRITING.md`."
- A note the dump means to publish gets
visibility: publicbefore you run
check. Notes default to private, and the graph cannot see a private note: check, related, gate and update all skip it, so a green check on a private draft proves nothing. When publish: false, say in one line that the note gets no graph verification, and do not pretend otherwise.
- Candidates in
.connect.mdare offers. A mention the draft ignores is not a
miss, and you never link something to raise a number.
- Rename or move a note only with
$COMMUNE rename <from> <to>, nevermv,
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. When rename only changes a name's case in a git repository, it prints a git mv -f line on stderr; run that line so git records the new case.
- Never install anything. Do not commit the draft;
commune-shipcommits it.
The one exception is refine, which commits each correction on its own so a verdict can be reverted alone (references/refine.md).
Steps
- Preflight and read. Run
node scripts/preflight.mjs→$COMMUNE; stop
on exit 1 and show its line. Read, in order: WRITING.md, the dump file, dumps/<slug>.connect.md, and dumps/<slug>.answers.md if it exists. Pipe every --json payload through node scripts/preflight.mjs --schema.
- Grill — when no answered round exists. Read
references/forms.md
before every first round, then follow references/grill.md and references/research.md too when the dump might be research. Output: dumps/<slug>.answers.md with ## Settled and ## Round N — questions. Print the path and stop. Do not draft in the same turn.
- Draft — when the newest round has answers under it. Read
references/forms.md, then the form from Settled or the round's answers; do not pick one here. No resolved form, or a target: in a collection that does not hold that form: ask in the next round, print the path, stop. Output: the file at target: in the dump, or a new file in src/content/<collection>/, named the way that collection already names its files — read one before you guess. Write ## Round N — decisions extracted into .answers.md first, then apply those decisions as a delta to the base named by base:. Frontmatter comes from WRITING.md's block for that collection, keys in its order. Append every file you touched to files: in .connect.md. Research follows references/research.md. It is the one exception to one piece per run: a dossier and its summary note, both in files:.
- Verify. Run
$COMMUNE check --jsonand compare finding identities(rule, file, target),
null for an absent target, against baseline.findings in .connect.md. Any new finding is yours to fix before you show anything; pre-existing findings are the baseline and are not. Then $COMMUNE graph related <target> --json for what the note now links.
- Render the side by side. Run:
node scripts/review.mjs <base-ref> <target> --connect dumps/<slug>.connect.md --answers dumps/<slug>.answers.md --out dumps/<slug>.review.html Pass --out: the script's default is named after the note, not the dump. Print that path, then a short table of what changed in the graph — links added, links dropped, and for each dropped link what at_risk says it costs.
- Hand off. Say: *"Answer in
dumps/<slug>.answers.md, give me a
one-sentence correction, or say ship." On a correction, follow `references/refine.md` — same skill, next round. On "ship", say: "Run commune-ship."*
Stop conditions
- No
WRITING.md→ stop, namecommune-setup. .connect.mdhasstatus: blocked→ stop;commune-dumpowns that.- No answered round → you are in step 2, and stopping is the step.
- A new
checkfinding you cannot fix → stop and say which line caused it.
Never show a review page with a broken link in it.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/commune-write/SKILL.md
Popularity
- Repository stars
- 7
- Repository forks
- 1
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/dmthepm/commune-wiki/commune-write)