| name | mb-wiki |
| description | Create and maintain personal wikis using Commune Wiki architecture. Use when:
(1) Setting up a new wiki from the commune-wiki template
(2) Personalizing wiki (name, avatar, social links, domain)
(3) Adding atomic notes with proper frontmatter and WikiLinks
(4) Publishing changes (git commit + push for auto-deploy)
(5) Converting Gemini/GPT deep research into wiki format
(6) Pulling upstream template updates from Devon
(7) Generating "Recent Updates" notes from Git history
Triggered by: /mb-wiki, "add a note", "publish wiki", "create wiki", "configure wiki", "personalize wiki"
|
| loops | ["ship"] |
Wiki Skill
Create and maintain personal wikis with atomic notes, WikiLinks, and auto-deploy.
Need help? Type /mb-help + your question anytime. If conversation compacts, /mb-help reloads fresh context.
Pull Latest Updates (Always)
See references/pull-engine-updates.md for the standard Main Branch update check. Run it at the start of every /mb-wiki invocation.
Where Files Go
Wiki files go to YOUR WIKI REPO, not your business repo or the Main Branch engine.
your-wiki-repo/ <- Files saved here
├── src/content/notes/ <- Atomic notes (/mb-wiki add)
├── src/content/research/ <- Full research docs (/mb-wiki research)
└── src/content/updates/ <- Auto-generated updates (/mb-wiki recent)
~/.mainbranch/mb-wiki.json <- Config pointing to wiki repo
mainbranch/ (engine) <- Never modified by /mb-wiki
└── .claude/skills/mb-wiki/ <- This skill lives here
The skill reads ~/.mainbranch/mb-wiki.json to find your wiki repo location.
Prerequisites
Before using this skill:
- GitHub CLI (
gh) installed and authenticated
- pnpm installed (
npm install -g pnpm)
- Cloudflare account (free tier works) — can create during setup
Check for existing config:
cat ~/.mainbranch/mb-wiki.json 2>/dev/null || echo "No wiki configured yet"
Modes
| Mode | What It Does | When to Use |
|---|
setup | Clone template, deploy to CF Pages | First time (quick) |
configure | Personalize wiki (name, social, domain, etc.) | After setup |
add | Create atomic note with frontmatter | Daily note-taking |
publish | Git commit + push (auto-deploy) | After any changes |
research | Convert Gemini/GPT research to wiki | After deep research |
update | Pull upstream template changes | When fixes released |
recent | Generate "Recent Updates" from Git | Weekly or on threshold |
Mode: setup
Quick first-time wiki setup. Installs default template and deploys via wrangler CLI. Run /mb-wiki configure after to personalize.
Quick gist: Ask repo name, check gh auth, create+clone repo, merge commune-wiki template upstream, apply Windows path fixes if needed, pnpm install && pnpm build, push to main, ensure Cloudflare account, create Pages project via dashboard with Git connect, capture the deployed URL, write site URL into astro.config.mjs, push to trigger deploy, save ~/.mainbranch/mb-wiki.json.
See references/setup-mode.md for the full 12-step procedure: every command, the Windows compat fixes, the Cloudflare dashboard click-path, and the exit message.
Mode: add
Create a new atomic note following evergreen note principles.
Usage: /mb-wiki add "Note Title"
Steps:
- Read config:
cat ~/.mainbranch/mb-wiki.json | jq -r '.wiki_repo'
- Generate slug:
echo "Note Title" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | tr -cd '[:alnum:]-'
- Check existing:
ls "$WIKI_REPO/src/content/notes/$SLUG.md" 2>/dev/null
- Create note with frontmatter — see references/note-template.md
- Apply evergreen principles: atomic, concept-oriented, densely linked
- Suggest WikiLinks:
grep -r "concept" "$WIKI_REPO/src/content/notes/" --include="*.md" -l
Frontmatter validation:
- Valid
status values: draft, live, updated
- Valid
visibility values: public, private, draft
Exit: "Note created. Run /mb-wiki publish to deploy, or continue editing."
Mode: publish
Commit changes and push to trigger auto-deploy.
Usage: /mb-wiki publish "commit message" or /mb-wiki publish
Steps:
- Read config, cd to wiki repo
- Check
git status --short
- Generate commit message if not provided (analyze changed files)
- Commit and push:
git add -A && git commit -m "[type] Message" && git push
Exit: "Pushed to GitHub. Cloudflare Pages will auto-deploy in ~90 seconds. Check status: https://dash.cloudflare.com → Workers & Pages → [project-name]"
Mode: research
Convert Gemini/GPT deep research into wiki format.
Usage: /mb-wiki research [path-to-research-file.md]
Steps:
- Read research file
- Create summary note (tripwire) in
notes/ — see references/research-format.md
- Create full research in
research/
- Format external links with arrow icon
- Suggest WikiLinks to existing notes
Exit: "Created research summary and full research. Run /mb-wiki publish to deploy."
Mode: update
Pull upstream template improvements from commune-wiki.
Usage: /mb-wiki update
Steps:
- Read config, cd to wiki repo
- Fetch upstream:
git fetch upstream
- Show changes:
git log HEAD..upstream/main --oneline
- Confirm merge with user
- Merge:
git merge upstream/main --no-edit
- Rebuild:
pnpm install && pnpm build
Exit: "Updated to latest template. Run /mb-wiki publish to deploy."
Mode: recent
Generate "Recent Updates" note from Git history.
Usage: /mb-wiki recent
Triggers: Friday + >3 commits this week, >15 commits in single day, or manual.
Steps:
- Get recent commits:
git log --since="1 week ago" --pretty=format:"%h %s" --name-only
- Categorize: new notes, updated notes, research added
- Generate update note — see references/updates-template.md
- Save to
src/content/updates/YYYY-MM-DD.md
Mode: configure
Personalize your wiki after setup. All customization in one place.
Usage: /mb-wiki configure
Prompts:
| Setting | Required | Default |
|---|
| Display name | Yes | — |
| Short name (mobile) | No | First word of display name |
| Avatar image | No | drag & drop to replace |
| Twitter/X handle | No | skip |
| GitHub username | No | skip |
| Website URLs | No | skip (comma-separated) |
| Custom domain | No | keep current |
| Delete sample notes | No | keep samples |
Steps:
-
Read config: cat ~/.mainbranch/mb-wiki.json
-
Show current settings, ask what to change
-
Update files based on selections:
src/components/Header.astro — display name, short name, avatar alt
src/components/Footer.astro — update "Powered by Commune" link to https://devonmeadows.com/ (external, target="_blank")
src/pages/index.astro — meta author, structured data
src/pages/notes/[...slug].astro — author meta
src/pages/research/[...slug].astro — footer attribution
src/content/notes/my-working-notes.md — social links
astro.config.mjs — site URL (if domain changed)
- Replace any "Devon Meadows" references with user's name
-
If avatar image provided:
-
If custom domain requested:
-
If delete sample notes:
rm -f src/content/notes/*.md
rm -f src/content/updates/*.md
Then create fresh my-working-notes.md with default welcome content and social links.
-
Rebuild and push: pnpm build && git add -A && git commit -m "[configure] Personalize wiki" && git push
Exit: "Wiki personalized! Changes will deploy in ~90 seconds."
See references/customization.md for manual edits.
Config File
~/.mainbranch/mb-wiki.json:
{
"wiki_repo": "/Users/you/mb-wiki",
"hosting": "cloudflare",
"domain": "yourdomain.com",
"cf_project": "your-wiki"
}
Why file-based: Skill reads at invocation — no need to add wiki as working directory.
When NOT to Use
- General note-taking outside wiki repos — use your notes app
- Business reference files — those go in your business repo, not wiki
- Quick scratch notes — wiki is for evergreen, linked knowledge
Examples
Example 1: Add a Note
User: /mb-wiki add "Compounding Knowledge"
Claude: Reading wiki config...
Creating note at src/content/notes/compounding-knowledge.md
[Writes note with frontmatter, suggests WikiLinks to existing notes]
Note created. Run `/mb-wiki publish` to deploy, or continue editing.
Example 2: Publish Research
User: /mb-wiki research ~/Downloads/gemini-pricing-research.md
Claude: Reading research file (8,400 words)...
Creating:
1. Summary note: notes/research-pricing-strategy.md (tripwire)
2. Full research: research/pricing-strategy-full.md
[Formats links, suggests WikiLinks]
Created research summary and full research. Run `/mb-wiki publish` to deploy.
Example 3: Publish Changes
User: /mb-wiki publish
Claude: Reading wiki config...
3 files changed:
A src/content/notes/compounding-knowledge.md
M src/content/notes/active-reference.md
A src/content/research/pricing-strategy-full.md
Generating commit message: "[add] Compounding knowledge note, pricing research"
[Commits and pushes]
Pushed to GitHub. Cloudflare Pages will auto-deploy in ~90 seconds.
Live at: https://yourdomain.com
References
Troubleshooting
"No wiki configured"
Run /mb-wiki setup first.
Build failing on Windows with path error (C:\C:\Users\...)
The astro.backlinks.ts file needs a Windows path fix. Add this import:
import { fileURLToPath } from 'node:url';
And change:
const distPath = path.join(dir.pathname, 'backlinks.json');
const distPath = path.join(fileURLToPath(dir), 'backlinks.json');
Build failing with sitemap "reduce" error
Temporarily disable sitemap in astro.config.mjs:
integrations: [
tailwind({ applyBaseStyles: false }),
backlinks(),
],
Re-enable after first successful deploy.
"Not logged in" with wrangler
Run npx wrangler login — opens browser for Cloudflare OAuth. You can create a free account during this flow.
Build failing
- Check build command is
pnpm build (not npm run build)
- Check output directory is
dist
Merge conflicts on update
- Template files: Claude helps resolve
- Content files: Shouldn't conflict — content is in separate directories
Stuck on CF Pages dashboard?
Drag a screenshot into chat for help.