Create Wiki Plugin Skill
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