Wiki Create Plugin
Category wikis ยท Version 5.5
Scaffold a new Federated Wiki plugin package from scratch โ the wiki-plugin-{name} layout, the client registration line (window.plugins.NAME = {emit, bind}), and an optional server/server.js for routes. Activates when building a new fedwiki plugin. Kept by the Librarian ๐๏ธ in the Tower's Wikis.
Note: the upstream page
create-wiki-plugin-skillwas unreachable (HTTP 404) when this skill was materialized on 2026-06-21. This body is reconstructed from the sitemap synopsis and the cross-references insearching-for-pluginsandsimilarity-plugin. Refresh it withagentprivacy-wiki-to-skillonce the upstream page resolves.
The create-wiki-plugin skill scaffolds a new Federated Wiki plugin package from scratch. A fedwiki plugin is an npm package named wiki-plugin-{name} that adds a new story item type (and optionally server routes) to the wiki.
Package Layout
wiki-plugin-{name}/
package.json # name: "wiki-plugin-{name}"
client/{name}.js # the client plugin โ registers the item type
server/server.js # optional โ registers Express routes at startup
index.js # entry that exposes client/server
README.md
The Client Registration Line
Every fedwiki client plugin registers itself on the global window.plugins object. This is the decisive marker (a GitHub code search for it proves a plugin exists):
window.plugins.{name} = {
emit: (div, item) => { /* render item.text into div */ },
bind: (div, item) => { /* attach click/handlers after emit */ }
};
emitrenders the item into the page (parseitem.text, build DOM).bindwires up interactivity afteremit(clicks, form submits, internal links).
Optional Server Component
If the plugin needs routes (search, embeddings, ghost-page endpoints), add server/server.js that registers with the wiki's Express app at startup โ no changes to wiki-server core:
module.exports = (app) => {
app.get('/system/{name}.json', (req, res) => { /* ... */ });
};
Good Scaffolding Templates
Per the searching-for-plugins skill, the two best templates to copy from:
wiki-plugin-graphvizโ client-side rendering with clickable internal links (a clean client-only plugin)wiki-plugin-similarityโ DSL parsing initem.text, server routes, and ghost pages (a full client+server plugin)
Steps
- Confirm the plugin doesn't already exist (
agentprivacy-wiki-searching-plugins). - Copy a template (graphviz for client-only, similarity for client+server).
- Rename the package to
wiki-plugin-{name}; update thewindow.plugins.{name}registration. - Implement
emit/bindfor the new item type. - Add
server/server.jsif routes are needed. npm linkinto a local wiki farm to test.- Document it (
agentprivacy-wiki-document-plugin) and release it (agentprivacy-wiki-publish-plugin).
Related Skills
agentprivacy-wiki-document-pluginโ publish the plugin's docs on plugin.fedwiki.clubagentprivacy-wiki-publish-pluginโ end-to-end release (version/GitHub/npm/help)agentprivacy-wiki-searching-pluginsโ confirm none exists first; find templatesagentprivacy-wiki-similarity-pluginโ a full client+server worked example
Verify: agentprivacy.ai ยท kept by the Librarian ๐๏ธ in the Tower's Wikis (the git-less onboarding layer) ยท reconstructed body โ refresh from upstream when reachable
Upstream: skill.fedwiki.club/create-wiki-plugin-skill โ vendored + re-framed; not original agentprivacy authorship
Provenance
Forkable skill page migrated from the agentprivacy skills repo (persona/agentprivacy-wiki-create-plugin, 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