UNPKG

@zosmaai/pi-llm-wiki

Version:

Self-maintaining LLM Wiki for Pi — Karpathy-pattern knowledge base with immutable source capture, automated ingestion, search, linting, and Obsidian-compatible vault. auto-updating personal & company wiki.

56 lines (43 loc) 3.06 kB
--- description: Capture and decompose a concept into atomic, traceable wiki requirements. Clarifies ambiguous requirements, splits them into atomic pieces, and persists them as wiki/requirements/ pages with status tracking. argument-hint: "<concept description>" section: LLM Wiki topLevelCli: true --- # /wiki-req Capture a concept and decompose it into atomic, traceable requirements in the wiki. Transforms natural language descriptions into structured `wiki/requirements/` pages, preserving the original clarified concept as an immutable source packet in `raw/sources/`. ## User Arguments $ARGUMENTS Read the LLM Wiki skill at `.pi/skills/llm-wiki/SKILL.md` first to understand the wiki conventions, architecture, and page type rules. ## Steps 1. **Clarify the concept** - Discuss with the user: unpack ambiguous terms, surfaces implicit assumptions, identify scope boundaries - Ask targeted questions to resolve unknowns (e.g., "Which providers?", "What's the fallback behavior?", "Who are the actors?") - Reach mutual clarity before proceeding 2. **Capture the clarified concept** - Call `wiki_capture_source(text=...)` with the clarified conversation as markdown - This creates an immutable record in `raw/sources/SRC-YYYY-MM-DD-NNN/` - The source captures the original intent verbatim — no interpretation, no decomposition 3. **Decompose into atomic requirements** - Break the clarified concept into the smallest meaningful units of functionality - Each requirement should represent one independently verifiable behavior - For each atomic requirement, call `wiki_ensure_page(type="requirement", title="...", content="...")` where content includes: - `type: requirement` and `status: draft` in frontmatter - A clear `## Description` section - `## Acceptance Criteria` as a checkbox list (the threshold for "done") - `source_id` linking back to the source capture - `depends_on` linking to any prerequisite requirements - `[[wikilinks]]` to relevant entities, concepts, and other wiki pages - Set priority based on user input: `p0` (blocking), `p1` (critical), `p2` (important), `p3` (nice-to-have) 4. **Cross-link and finalize** - Ensure each requirement page has bidirectional wikilinks to related pages - Update any existing entity or concept pages that these requirements reference - Report the results: how many requirements created, their priorities, and the source capture ID **Rules:** - One atomic requirement per `wiki_ensure_page` call — each must be independently testable - Always capture the clarified concept first via `wiki_capture_source` before decomposing - Requirements live in `wiki/requirements/` — they are editable wiki pages, not immutable sources - Use status values: `draft``clarified``active``implemented``deferred``rejected` - Use priority values: `p0` (blocking), `p1` (critical), `p2` (important), `p3` (nice-to-have) - Do not create requirements in `raw/` — that layer is for external source artifacts only