Tools for operating on an LLM-maintained markdown wiki. Search pages, expand content, lint health, and inspect stats.
llm-wiki has 10 tools with consistent naming (wiki_* prefix) and complete input schemas. All tools have descriptions (avg 95 chars, within baseline 34-392). However, descriptions are terse and lack LLM-optimized guidance on WHEN to use each tool or what to do with results. Output schemas are documented in code but not exposed in tool definitions. Error handling is present but minimal, most tools return JSON errors without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite 9 read-only and 1 write tool. Parameter descriptions are adequate but lack format constraints (e.g., 'page_type' enum values not enforced in schema). wiki_new is the only write tool but lacks confirmation/dry-run pattern.
List pages that wikilink to the given page.
Read a wiki page by name or path. Pass section to return one heading block only.
Export the wiki link graph as JSON nodes and edges.
List raw files and whether matching source pages exist.
Run wiki health checks. Optionally filter by severity or category.
List wiki pages. page_type: entity, concept, source, answer, or all.
Create a new wiki page from templates/. page_type: entity, concept, source, answer.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite clear risk classification. LLMs cannot distinguish safe reads from destructive writes without explicit hints.
Descriptions lack LLM-optimized guidance. Missing WHEN to use each tool and what downstream actions are enabled. E.g., wiki_search says 'Returns ranked pages' but not 'Use this to find relevant pages before calling wiki_expand to read full content.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Return the most recent append-only log entries.
Search the wiki using BM25 (default) or qmd. Returns ranked pages with snippets.
Return wiki statistics: page counts, raw files, log entries.
wiki_new (write tool) lacks confirmation/dry-run pattern. No way for agent to preview changes before creating a page. Agents may accidentally create duplicate pages with force=true.
Parameter enums not enforced in schema. 'page_type' accepts 'entity|concept|source|answer|all' but schema shows type:string with no enum constraint. LLMs may pass invalid values.
Error messages are minimal. wiki_search returns JSON errors but does not guide recovery (e.g., 'Invalid backend: xyz. Valid backends: bm25, qmd. Try bm25 for general search.').