Wiki logo

Wiki

Organization
plasma-ai
wiki

The wiki CLI and the node's two knowledge bases -- project wiki and memory.

Overview

Publisherplasma-ai
Repositoryfractal
Skill namewiki
Stars
782
Forks
57
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by plasma-ai on GitHub. Read the source before you install it.

Installation

Install the Wiki AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/plasma-ai/fractal/tree/main/fractal/_node/skills/wiki
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/plasma-ai/fractal.git /tmp/fractal
mkdir -p .claude/skills
cp -r /tmp/fractal/fractal/_node/skills/wiki .claude/skills/wiki
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Wiki in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Wiki on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Wiki is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Wiki

A wiki is an indexed folder tree of _index.md files. A node works with two:

  • Project wiki ($WIKI_DIR) -- shared across nodes; per-branch, reaching others only through merges (use fractal radio for live coordination). Holds architecture, conventions, and patterns; contribute durable project-wide knowledge here.
  • Memory ($MEMORY_DIR) -- this node's private knowledge base. See the memory skill for how to maintain it.

Todo lists follow the same split: a private working checklist lives in memory; a task list other nodes should see and track lives in the project wiki. Either way it is living state -- current open items, pruned as they complete -- never an append-only log.

Run wiki --help and wiki <command> --help for the CLI (init, update, lint, map, search, read). Always pass --path ($WIKI_DIR or $MEMORY_DIR) -- a bare command resolves the enclosing wiki by walking up, else {cwd}/wiki, which from the node's cwd is the project wiki at best and never memory, so an omitted --path silently targets the wrong wiki or errors. Run wiki update --path=<dir> after adding, moving, or deleting pages; wiki lint --path=<dir> validates structure.

Editing discipline

Name pages and folders in ascii snake_case (command_core, not command-core) -- both wikis enforce identifier-safe names (the project wiki's mirror the source modules they document), so wiki lint rejects hyphens and spaces.

wiki update regenerates derived state: each page's entry line in _index.md (name and description) is pulled from the page's own frontmatter, so fix a desc: on the page and rerun update -- hand edits to an index line are overwritten by the next update, and each page's H1 is rewritten to its name unless an authored frontmatter title: supplies the heading, which update keeps and renders as the H1 (index entry lines still show the name). wiki lint is regenerate-and-compare: it prints the diff wiki update would apply plus any real defects, and separates issues (must fix) from advisory notes. Work the loop -- edit pages, wiki update, wiki lint -- until clean (clean = lint exits 0; scripts branch on the exit code, not the prose summary); lint validates structure, not content truth, so verify facts against your sources yourself. Frontmatter is read as strict YAML: quote a one-line desc: that contains : or # (desc: "Note: x."), since the unquoted form is invalid YAML.

Cross-linking

Cross-reference aggressively -- the links between pages are the wiki's primary value -- but link only to pages that already exist. Sibling nodes build their pages in parallel, so a page you would link to may not exist yet: defer that forward link rather than emit a wikilink to a not-yet-created page. Stale sibling links are an expected transient, not a failure -- wiki lint reports a stale link in index or page prose as an advisory note (exit 0), so never stall an iteration chasing them. Broken links in the generated index link block -- the rows wiki update maintains -- are the exception: each is a hard issue, fixed by repairing the target or by rerunning wiki update, which prunes the row. The parent reconciles stale sibling links when children merge up: indexes refresh mechanically at commit and merge, so its integration job is repairing or pruning what lint reports, not rerunning wiki update -- plus refreshing any navigation or status tables it authored (lint cannot see a stale "in flight" row for a page that has since merged).

Wikilinks also stay inside the wiki you are writing in. A [[...]] link targets another page in the same wiki; anything outside it -- source files, configs, or the other knowledge base (project wiki vs. memory) -- is referenced in plain text or backticks, never linked; wiki lint notes a wikilink that points outside the wiki. Write in-wiki links prefix-free, from the wiki root ([[overview]], [[core/overview]]), never [[./overview]] or [[../overview]] -- a ./ or ../ target reads from the page's folder and marks a link that leaves the wiki, so lint reports one that lands inside it.

Structure

Lay the wiki out as topical folders from the start: each domain area gets a folder with its own _index.md, and pages join the folder that owns their subsystem. A flat root is fine below ~6-8 pages; planning more, create the folders before the pages -- the directory tree is what makes a wiki browsable, searchable, and navigable, and it should mirror the domain the way a good module layout mirrors a design. A shape to aim for:

text
wiki/
  _index.md
  <subsystem>/
    _index.md
    <topic>.md
    ...
  <subsystem>/
    _index.md
    <sub-area>/
      _index.md
      <topic>.md
      ...
    <sub-area>/
      ...
    <topic>.md
    ...
  ...

Nest deeper as areas grow: when a folder accumulates pages spanning more than one concern, split them into sub-folders, each with its own _index.md. Every index is the table of contents for its level, so structured nesting is what keeps the wiki navigable at any size -- a reader answers "where does this live?" by descending a few links instead of scanning one long list, and related pages sit beside each other where cross-links suggest themselves.

A grown flat wiki shards into folders the same way after the fact: move related pages into a subfolder and rerun wiki update -- indexes regenerate around the new layout, and inbound links the move broke surface as stale-link notes to repair. Before dumping a big tree, preflight with wiki map --stat (a one-line size summary of what the same flags would print) and bound the dump with --depth and --desc-limit=<n> -- descriptions print untruncated by default.

Frequently asked questions

What does the Wiki AI skill do?

The wiki CLI and the node's two knowledge bases -- project wiki and memory.

Why use Wiki on TypingMind?

Because you install it once and use it with any model. Wiki is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Wiki in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/plasma-ai/fractal/tree/main/fractal/_node/skills/wiki. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Wiki?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Wiki?

As many as you like. As long as a model supports skills, you can use Wiki with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Wiki AI skill free?

Yes. It is published on GitHub by plasma-ai under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇