Wiki Page
Category wikis ยท Version 5.5
Authoring federated-wiki page JSON (story items, IDs, the create journal, and the reindex step) for the agentprivacy skill library. Activates when creating or editing fedwiki pages, publishing a skill to skill.fedwiki.club, or building page-json by hand. Part of the git-less onboarding/distribution layer kept by the Librarian ๐๏ธ in the Tower's Wikis.
The fedwiki-page skill creates federated wiki page JSON files. Pages are stored as JSON files (no extension) in a wiki domain's pages/ folder. This skill covers file locations, story item types, ID generation, journal format, and the reindex step.
File Locations
Two separate wiki systems โ write to the correct one:
Local/private wikis (served on port 3000):
~/Music/Guides/Private/{wiki-domain}/pages/{page-slug}
Public wikis (synced via Nextcloud to remote server):
~/Nextcloud/fedwiki/{wiki-domain}/pages/{page-slug}
The local server does NOT read from ~/Nextcloud/fedwiki/. Page slug = title lowercased with spaces as hyphens.
Story Item Types
Default to markdown for all prose, headings, and formatted text. Use code for shell commands and config snippets. Use paragraph sparingly โ only for plain sentences needing no markup.
{"type": "markdown", "id": "a1b2c3d4e5f60001", "text": "**Bold**, `code`, <a class="wlink" href="wiki-link.html">Wiki Link</a>"}
{"type": "code", "id": "a1b2c3d4e5f60002", "text": "wiki-start"}
{"type": "paragraph","id": "a1b2c3d4e5f60003", "text": "Plain sentence."}
{"type": "assets", "id": "a1b2c3d4e5f60099", "text": "page-slug"}
Story order: opening markdown โ section headings โ content โ # Assets heading + assets item at the bottom.
IDs
Each item needs a unique 16-character hex ID. Generate with:
python3 -c "import uuid; print(uuid.uuid4().hex[:16])"
Never reuse IDs within a page or across pages in the same wiki.
Journal โ Critical Rule
The journal must contain a create entry whose item.story is the complete story array โ every item, identical to the top-level story, in the same order. Never use "story": [] and never include only the first item. This is what allows rewinding to the creation state.
"journal": [{
"type": "create",
"item": {
"title": "Page Title",
"story": [
{"type": "markdown", "id": "a1b2c3d4e5f60001", "text": "Opening item."},
{"type": "markdown", "id": "a1b2c3d4e5f60002", "text": "## Section"},
{"type": "markdown", "id": "a1b2c3d4e5f60003", "text": "Every item โ same order as top-level story."}
]
},
"date": 1781004226000,
"certificate": "from marvin"
}]
certificate: "from marvin" identifies the creating agent. date is current Unix timestamp in milliseconds.
After Saving โ Reindex
After writing any page file to disk, delete the cached sitemap so the wiki server rebuilds it:
FARM="$HOME/Music/Guides/Private"
DOMAIN="localhost"
rm -f "$FARM/$DOMAIN/status/sitemap.json"
rm -f "$FARM/$DOMAIN/status/site-index.json"
curl -s "http://$DOMAIN/system/sitemap.json" > /dev/null
echo "Reindexed $DOMAIN"
The wiki server must be running for the curl step to trigger a rebuild.
Checklist
- Slug matches title (lowercase, hyphenated)
- Correct
pages/folder (local vs public wiki) - All IDs unique 16-char hex
- Default item type is
markdownnotparagraph - Backtick markup on paths and commands in markdown items
- Journal
createentry contains the full story array -
"certificate": "from marvin"on the create entry - Reindexed after saving
Related Skills
agentprivacy-wiki-journalโ strip a page journal down to a clean create entryagentprivacy-wiki-ghost-pagesโ generate pages dynamically without storing themagentprivacy-wiki-claude-ghostโ Claude-powered ghost pages via FastAPIagentprivacy-wiki-to-skillโ export this page into a ClaudeSKILL.md
Verify: agentprivacy.ai ยท kept by the Librarian ๐๏ธ in the Tower's Wikis (the git-less onboarding layer)
Upstream: skill.fedwiki.club/fedwiki-page-skill โ vendored + re-framed; not original agentprivacy authorship
Provenance
Forkable skill page migrated from the agentprivacy skills repo (persona/agentprivacy-wiki-page, v5.5).
Source of truth: agentprivacy-skills-v5. Fork this page to materialize a local SKILL.md via fedwiki-to-skill.
origin: 0xagentprivacy ยท author: Mitchell Travers
Assets
Navigation
โ Welcome Visitors ยท The Wikis