Skip to main content
ClaudeWave
Skill2.3k repo starsupdated 4d ago

wiki-builder

Wiki-builder creates and maintains persistent markdown-based research wikis stored locally on disk and indexed in SQLite with full-text search capability. Use it when a user requests to start a wiki on a topic, add sources or notes to an existing wiki, compile concept pages, or query a long-lived knowledge base about papers, products, people, projects, codebases, or research domains that span multiple sessions.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/rohitg00/pro-workflow /tmp/wiki-builder && cp -r /tmp/wiki-builder/skills/wiki-builder ~/.claude/skills/wiki-builder
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Wiki Builder

Persistent knowledge base for any topic. Markdown on disk + SQLite FTS5 shadow index.

## When to use

- "Start a wiki on <topic>"
- "Add this paper / link / note to the <slug> wiki"
- "Compile a concept page on X in <slug>"
- "What does the <slug> wiki say about Y?" (delegates to wiki-query)
- "List my wikis"

## Locations

- **Global**: `~/.pro-workflow/wikis/<slug>/` — default, never committed
- **Project**: `<project>/.claude/wikis/<slug>/` — pass `--scope project`, committable

Both register in the same `~/.pro-workflow/data.db`.

## Flavors

| Flavor | Use for |
|--------|---------|
| `research` | ongoing topic exploration |
| `paper` | one-paper deep dive |
| `domain` | broad subject area |
| `product` | product/tool KB |
| `person` | researcher/founder dossier |
| `organization` | company/lab profile |
| `project` | internal project KB |
| `codebase` | symbol/file-aware KB tied to a repo |
| `incident` | post-mortem KB |

## Layout

```
<slug>/
├── wiki.config.md         # purpose, audience, page types, style, auto_research block
├── raw/                   # untouched source material (PDFs, scrapes, transcripts)
├── wiki/
│   └── index.md           # entry point, hand-curated TOC
├── derived/               # generated artifacts (surveys, charts, summaries)
├── prompts/               # per-task prompts (compile-page, lint, query)
├── logs/maintenance-log.md
└── sources.md             # one row per source: id | url | title | hash | fetched_at
```

Flavor adds folders: `wiki/papers`, `wiki/concepts`, `wiki/people`, `wiki/products`, `wiki/timelines`, `wiki/questions`.

## CLI surface

```
node $SKILL_ROOT/scripts/wiki-cli.js init <slug> --title "X" --flavor research [--scope project] [--root <path>]
node $SKILL_ROOT/scripts/wiki-cli.js list
node $SKILL_ROOT/scripts/wiki-cli.js page <slug> <rel-path> --title "X" [--type concept|paper|person|...] [--from-file path]
node $SKILL_ROOT/scripts/wiki-cli.js reindex <slug>
node $SKILL_ROOT/scripts/wiki-cli.js info <slug>
```

`init` runs `init_wiki.sh` (mirrors dair layout) AND registers the wiki in SQLite. `page` writes markdown + upserts FTS row.

## Workflow when invoked

1. Resolve action (init / ingest / compile / list / reindex / info).
2. Read `wiki.config.md` of the target wiki before any compile.
3. Every claim that lands in `wiki/` must cite a row in `sources.md` (one citation = one source row).
4. After page write, call `wiki-cli.js page` so FTS index stays in sync.
5. Append a one-line entry to `logs/maintenance-log.md` per change.
6. Update `wiki/index.md` if new top-level page.

## Quality bar

- First page useful immediately, not stub.
- Stable slug filenames (`tool-use-benchmarks.md`, not `2026-05-08-notes.md`).
- Separate raw source from compiled interpretation.
- Cross-link related pages in same wiki via relative links.
- Mark speculation with `> SPECULATION:` block.
- No duplicate summaries — link existing page instead.
- Generated pages stay navigable for future agents.

## Privacy

Wikis with `private: true` in config never get fetched from web sources by `wiki-research-loop`. Local raw/ only.

## Auto-research opt-in

Phase 3.3.0 ships builder + query only. Loop arrives in 3.3.1. To prep, `wiki.config.md` may include:

```yaml
auto_research:
  enabled: false        # flip in 3.3.1
  max_pages_per_run: 5
  max_depth: 3
  budget_usd: 0.50
  fetchers: [web, arxiv, github]
```

## Templates

See `templates/` for `wiki.config.md`, `index.md`, prompt files. `init_wiki.sh` copies these into the new wiki root.