Skip to main content
skill CX Codex

wiki · plasma-ai — Claude Code skill: what it does, how to install

Manages an indexed Markdown folder tree for project documentation and private node memory. Coordinates pages, task lists, and wikilinks through the wiki CLI.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add plasma-ai/fractal --skill wiki -a claude-code
Open on GitHub

What wiki does

The skill maintains two knowledge bases stored as trees of _index.md files: the shared branch wiki $WIKI_DIR and private memory $MEMORY_DIR. The bundled wiki tool includes commands for init, update, lint, map, search, and read. Omitting the mandatory --path flag causes the CLI to walk up folders or fall back to {cwd}/wiki, which silently targets the wrong directory or fails.

Files and folders require ascii snake_case naming; wiki lint rejects hyphens or spaces. Frontmatter is parsed as strict YAML, requiring quotes around descriptions containing colons or hash symbols. Running wiki update parses each page frontmatter to rewrite derived lines and top headings in _index.md.

Cross-references use root-relative [[page]] wikilinks without ./ or ../ prefixes and must not point outside the current wiki. Forward links to uncreated sibling files must be deferred to keep index builds clean.

What it helps with

  • organize project documentation into nested folder trees with _index.md
  • validate links and file naming conventions with wiki lint
  • rebuild index tables and page headings using wiki update
  • separate shared team knowledge from private node checklists

Example prompts for the agent

  • Run wiki update --path=$WIKI_DIR followed by wiki lint --path=$WIKI_DIR
  • Create an architecture note at $WIKI_DIR/core/router.md and link it to [[overview]]
  • Check the repository knowledge base size using wiki map --stat --path=$WIKI_DIR

How to install wiki

1Skills CLI (Vercel)

npx skills add plasma-ai/fractal --skill wiki -a claude-code

2Manually: put the files in place

~/.claude/skills/wiki/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/wiki/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about wiki

How to install wiki in Claude Code?

Run npx skills add plasma-ai/fractal --skill wiki -a claude-code. The skill file is placed at ~/.claude/skills/wiki/SKILL.md.

What does the wiki skill do?

It provides a disciplined workflow for managing Markdown knowledge bases across shared project docs and private agent memory. The CLI validates wikilinks, enforces identifier naming, and rebuilds folder index files.

Why is the --path flag mandatory for wiki CLI commands?

Without --path, the CLI attempts directory resolution by walking upward or falls back to {cwd}/wiki. This can silently target the wrong wiki folder or cause execution errors when accessing $MEMORY_DIR.

Source text

SKILL.md · Apache-2.0
---
name: wiki
description: The wiki CLI and the node's two knowledge bases -- project wiki and memory.
---

# 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.

© plasma-ai · Apache-2.0 · plasma-ai/fractal

Similar skills

All skills for Agent setup: memory, context, orchestration →

wiki by other authors comes first.

wiki Yeachan-Heo Keeps a markdown knowledge base for the project in .omc/wiki/: pages, an index and an operation log that survive between sessions. CX Codex +1 619installs wiki AgriciDaniel Initializes or connects an Obsidian vault and routes note-taking tasks to specialized sub-skills. Useful for managing knowledge bases directly from an agent. CX Codex +1 539installs wiki plasma-ai Turn project notes into a searchable knowledge base with linked folder indexes. Use the CLI to create pages, inspect the wiki tree, and keep navigation in sync with files. CX Codex +1 ★ 106repo stars setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. 1,052,851installs ask-matt Matt Pocock Routes you to the right Matt Pocock skill or flow for the task at hand. Use it when you need a starting point for a feature, prototype, incoming issue, or hard bug. 766,587installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. 711,230installs writing-plans Jesse Vincent This skill turns requirements for a multi-step task into an implementation plan before code changes begin. It helps when another engineer needs exact files, interfaces, and checks. CX Codex 282,859installs caveman-review JuliusBrussee Turns code review comments into one line per finding: location, problem, fix. Useful when a diff or PR needs a fast pass without the filler. CX Codex +1 411,800installs caveman-compress JuliusBrussee Compresses CLAUDE.md, todo lists, and other prose files into a shorter format while retaining a readable backup. CX Codex +1 411,500installs

From the same set5

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor