Mb wiki
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"From its SKILL.md
npx -y skills add noontide-co/mainbranch --skill mb-wikiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
12.3 KB, as published. Nobody here has run it
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
statusvalues:draft,live,updated - Valid
visibilityvalues: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 altsrc/components/Footer.astro— update "Powered by Commune" link tohttps://devonmeadows.com/(external, target="_blank")src/pages/index.astro— meta author, structured datasrc/pages/notes/[...slug].astro— author metasrc/pages/research/[...slug].astro— footer attributionsrc/content/notes/my-working-notes.md— social linksastro.config.mjs— site URL (if domain changed)- Replace any "Devon Meadows" references with user's name
-
If avatar image provided:
- Prompt: "Drag and drop your avatar image here (or paste path):"
- User drags image into terminal → path is pasted
- Copy to wiki:
cp "[path]" "$WIKI_REPO/public/avatar.jpg" - Generate favicon from avatar (uses sharp, already a dependency):
cd "$WIKI_REPO" && node -e " const sharp = require('sharp'); sharp('public/avatar.jpg') .resize(32, 32) .png() .toFile('public/favicon-32x32.png'); " - Supported formats: .jpg, .png, .webp (rename to avatar.jpg)
- Recommended: square image (will be cropped/resized)
-
If custom domain requested:
- Guide through Cloudflare custom domain setup
- See references/cloudflare-pages-setup.md
- Update config with new domain
-
If delete sample notes:
rm -f src/content/notes/*.md rm -f src/content/updates/*.mdThen create fresh
my-working-notes.mdwith 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
- references/pull-engine-updates.md — Standard Main Branch update check
- references/setup-mode.md — Full 12-step setup mode procedure (commands, Windows fixes, CF dashboard walkthrough, config save)
- references/cloudflare-pages-setup.md — Dashboard walkthrough
- references/customization.md — Update avatar, name, social links after setup
- references/hosting-recommendation.md — Why Cloudflare
- references/note-template.md — Atomic note guidelines
- references/research-format.md — Deep research conversion
- references/updates-template.md — Weekly updates format
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:
// Before
const distPath = path.join(dir.pathname, 'backlinks.json');
// After
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(),
// sitemap({ ... }), // Comment out temporarily
],
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(notnpm 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.