Skip to content
Development
Skill

/wiki

Markdown-first knowledge base where the LLM acts as librarian. Ingests raw sources, compiles and interlinks topic files, self-maintains an index. No vector DB or embeddings required -- uses LLM-native navigation over structured markdown up to ~400K words.

From plugin
citadel
92948 skills7 agents

Claude Code

$ npx -y skills add SethGammon/Citadel --skill wiki --agent claude-code

SKILL.md

wiki.SKILL.md
name: wiki
license: MIT
description: >-
  Markdown-first knowledge base where the LLM acts as librarian. Ingests raw
  sources, compiles and interlinks topic files, self-maintains an index. No
  vector DB or embeddings required -- uses LLM-native navigation over structured
  markdown up to ~400K words.
user-invocable: true
auto-trigger: false
trigger_keywords:
  - wiki
  - knowledge base
  - llm wiki
  - project wiki
  - build a wiki
  - maintain knowledge
  - knowledge management
  - llm-wiki
  - karpathy wiki
last-updated: 2026-04-06

/wiki -- LLM-Native Knowledge Base

Orientation

**Use when:** building and querying a markdown-first knowledge base -- ingests raw notes, deduplicates, surfaces answers. **Don't use when:** capturing session learnings into the evolve pipeline (use /learn); generating structured code documentation (use /doc-gen).

Directory Structure

wiki/
  index.md              # Master index
  raw/                  # Unprocessed sources (timestamped files)
  topics/               # Compiled topic files (one per topic, interlinked)
  .wiki-meta.json       # Stats: topic count, source count, last compaction

Commands

| Command | Behavior | |---|---| | `/wiki` | Status overview: topic count, last update, pending raw sources | | `/wiki --add [source]` | Ingest a new source into the wiki | | `/wiki --query [question]` | Answer a question using wiki knowledge | | `/wiki --status` | Detailed wiki health: topic count, staleness, orphan detection | | `/wiki --compact` | Merge, deduplicate, and reorganize topics | | `/wiki --rebuild-index` | Regenerate index.md from current topic files | | `/wiki init [path]` | Initialize a new wiki at the specified path |

Protocol

Command: `/wiki init [path]`

Create `wiki/`, `wiki/raw/`, `wiki/topics/`, an empty `wiki/index.md`, and `wiki/.wiki-meta.json` with fields: `created`, `lastUpdated`, `topicCount: 0`, `sourceCount: 0`, `totalWords: 0`, `lastCompaction: null`. Default path: `wiki/` at project root.

Command: `/wiki --add [source]`

Ingest a new source into the wiki.

**Step 1:** Determine source type — URL (fetch with WebFetch), file path (read), raw text (use directly), no argument (ask user).

**Step 2:** Write raw content to `wiki/raw/source-{timestamp}.md` with header: title/URL, ingested date, type, original reference.

**Step 3:** Identify 1-5 topics. For each: check if a topic file already exists — append to existing or create `wiki/topics/{slug}.md`.

**Step 4:** Each topic file has: title, `> Last updated`, `> Sources`, compiled content, and `## Related Topics` with `[[slug]]` cross-links. Scan existing topics for cross-links when writing.

**Step 5:** Regenerate `wiki/index.md` with stats header, Topics table (`[[slug]]` | summary | last updated), and Recent Sources table.

**Step 6:** Update `wiki/.wiki-meta.json` with new counts.

**Step 7:** Output: source description, topics created, topics updated, index counts.

Command: `/wiki --query [question]`

1. Read `wiki/index.md`, identify 1-5 relevant topic files, explain reasoning briefly 2. Read those topics; follow `[[cross-links]]` up to 2 hops if relevant 3. Produce a clear answer citing specific topic files used 4. If the wiki lacks enough information: state what it knows, list gaps, suggest `/wiki --add` for missing areas

Command: `/wiki --status`

Read meta, count topic files and raw sources, check for orphaned topics, broken cross-links, and stale topics (30+ days). Output: topic/source/word counts, last updated/compaction dates, and health issues with counts and lists.

Command: `/wiki --compact`

1. Read `wiki/index.md` and all topic files 2. Identify: merge candidates (overlapping subjects), split candidates (multiple distinct subjects), stale/outdated content, duplicates 3. For each change: describe what and why, make the change, update all affected cross-links 4. Rebuild `wiki/index.md` and update `wiki/.wiki-meta.json` with `lastCompaction` and new counts 5. Output: topics merged/split/removed/resolved, final count, estimated words

Command: `/wiki --rebuild-index`

Read all topic files, extract title/summary/date, write a fresh `wiki/index.md`. Output: "Index rebuilt with {count} topics."

Fringe Cases

  • **`.planning/` does not exist**: Run `/do setup` first to initialize the harness state directory.
  • **No wiki directory**: Prompt to run `/wiki init`. Do not auto-create on query or status.
  • **Source >50K words**: Split into sections, warn the user.
  • **Topic name collision**: Merge into existing topic, do not overwrite.
  • **Empty wiki queried**: "The wiki is empty. Add sources with `/wiki --add`."
  • **Broken cross-link**: During compaction/rebuild — flag. During --add — create stub `[[missing-topic]] (stub -- needs content)` if no context.
  • **URL fetch fails**: Report failure, suggest pasting content directly.
  • **Wiki >~400K words**: Warn during --status, suggest archiving or `/wiki --compact`.

Contextual Gates

**Disclosure:** "Updating wiki at `.planning/wiki/`. Files will be created or modified." **Reversibility:** amber — creates and modifies `.planning/wiki/` files; undo by deleting or reverting changed files. **Trust gates:**

  • Any: all wiki commands (init, add, query, status, compact, rebuild-index).

Quality Gates

  • Every topic file must have a title, last-updated date, and sources list
  • Every topic file must have at least one cross-link to another topic (unless it is the only topic)
  • The index must accurately reflect all topic files (no orphans after --add or --compact)
  • No duplicate topic files (same slug = same file)
  • Raw sources are preserved in wiki/raw/ and never deleted
  • The --query command must cite specific topic files, not fabricate information

Exit Protocol

Output a summary appropriate to the command executed, then:

---HANDOFF---
- Wiki: {command executed} at {wiki path}
- Topics: {count} total, {new/updated/merged count} changed
- Status: {healthy |
Read more
@sethgammon
Ships withcitadel

An open-source operating layer for Claude Code and OpenAI Codex. Citadel routes requests, preserves repository state between sessions, coordinates parallel work, applies repository safeguards, and records evidence and handoffs around the coding agent you

92948 skills7 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
929
Star history of SethGammon/Citadel on GitHub, a chart by star-history.com

Other skills on citadel.

architect

architect

Given a PRD, produces an implementation architecture: file tree, component breakdown, data model, and a phased build plan with…

@sethgammon@sethgammonInstall Skill
archon

archon

Autonomous multi-session campaign agent. Decomposes large work into phases, delegates to sub-agents, reviews output, and…

@sethgammon@sethgammonInstall Skill
ascii-diagram

ascii-diagram

Generate perfectly aligned ASCII diagrams — architecture, flow, sequence, box-and-arrow. Uses a programmatic character-grid…

@sethgammon@sethgammonInstall Skill
autopilot

autopilot

Intake-to-delivery pipeline. Processes pending items from .planning/intake/: briefs new ideas, executes approved work through…

@sethgammon@sethgammonInstall Skill
cost

cost

Deep cost exploration and transparency. Shows real token usage, session costs, campaign spend, burn rates, and model breakdown.…

@sethgammon@sethgammonInstall Skill
create-app

create-app

End-to-end app creation from a single description. Five tiers: blank project, guided, templated, fully generated, or feature…

@sethgammon@sethgammonInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about wiki.

Which coding agents can use wiki?
wiki installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.