Extension ID
wiki
Extension Name
LLM Wiki
Version
1.0.0
Description
LLM-maintained compounding project wiki: source ingestion, cited answers, and consistency linting
Author
formin
Repository URL
https://github.com/formin/spec-kit-wiki
Download URL
https://github.com/formin/spec-kit-wiki/archive/refs/tags/v1.0.0.zip
License
MIT
Homepage (optional)
https://github.com/formin/spec-kit-wiki
Documentation URL (optional)
https://github.com/formin/spec-kit-wiki/blob/main/README.md
Changelog URL (optional)
https://github.com/formin/spec-kit-wiki/blob/main/CHANGELOG.md
Required Spec Kit Version
=0.2.0
Required Tools (optional)
Number of Commands
5
Number of Hooks (optional)
2
Tags
wiki, knowledge-base, docs, memory, context-management
Key Features
- Adapts Andrej Karpathy's "LLM Wiki" pattern (https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) to spec-driven development: a persistent, LLM-maintained, compounding project wiki with three layers — immutable registered sources -> cross-referenced typed pages -> a user-editable SCHEMA.md contract that every command obeys.
- /speckit.wiki.init — create the wiki skeleton (SCHEMA.md rules, INDEX.md page directory, sources.md registry); idempotent, never overwrites; re-running appends scope instead.
- /speckit.wiki.ingest — the only write path for knowledge: registers the source (append-only S-ids, dedup by path/URL), extracts what outlives the moment (decisions, constraints, verified facts), and updates a hard-capped number of pages with a citation on every claim, cross-links so nothing is orphaned, and visible
conflict markers instead of silent overwrites. Defaults to the active feature's research.md + plan decisions.
- /speckit.wiki.query — answers strictly from wiki pages with page + source citations, surfacing conflicts instead of picking a winner, and closes with an honest coverage verdict (covered / partial / uncovered) plus the concrete ingest that would close any gap.
- /speckit.wiki.lint — six checks (index drift, broken links, orphans, contradictions, staleness, uncited claims); mechanical drift auto-fixed per config, semantic findings reported to lint-report.md with suggested fixes — prose is never machine-rewritten.
- /speckit.wiki.status — read-only one-screen snapshot (counts, freshness, open issues) + exactly one recommended next action; the session-resume entry point.
- Optional hooks: after_plan -> speckit.wiki.ingest (compound the feature's verified research), after_implement -> speckit.wiki.ingest (capture what the build taught). Prompt-only — no external tools, MCP servers, or network access; complements code-doc generators like OpenWiki by keeping the knowledge that is NOT derivable from the code.
Testing Checklist
Submission Requirements
Testing Details
Tested on:
- Windows 11, specify CLI (uv/uvx), Claude Code integration.
Test project: fresh specify init testproj --integration claude scaffold.
Test scenarios:
- Manifest validated: YAML parses; id matches ^[a-z0-9-]+$; version 1.0.0; description 97 chars (<100); all five provides.commands[].file paths resolve; command names match speckit.wiki.{command}; both hooks reference the defined ingest command; category/effect declared (docs / read-write).
- Installed from the release archive:
specify extension add wiki --from https://github.com/formin/spec-kit-wiki/archive/refs/tags/v1.0.0.zip (HTTP 200, application/zip) -> specify extension list shows LLM Wiki (v1.0.0), Commands: 5 | Hooks: 2 | Status: Enabled; config template staged under .specify/extensions/wiki/.
- Lifecycle end-to-end on the scaffold (agent-executed): init -> ingest -> query -> lint -> status. init created SCHEMA.md/INDEX.md/sources.md; ingesting a decisions file registered S001 and produced two cross-linked typed pages (decision + reference) with per-claim (S001) citations and an updated index/registry; query answered "why SQLite over Postgres?" from the pages with citations; lint produced a clean lint-report.md (0 orphans, 0 broken links, 0 conflicts); status rendered counts and a next-action recommendation.
- Confirmed init is idempotent (existing SCHEMA.md is never overwritten) and query/status write nothing.
Example Usage
# Install
specify extension add wiki --from https://github.com/formin/spec-kit-wiki/archive/refs/tags/v1.0.0.zip
# Once per project
/speckit.wiki.init Everything we learn about the payments domain and our vendor constraints
# Knowledge in (hooks offer this after /speckit.plan and /speckit.implement)
/speckit.wiki.ingest # default: feature's research.md + plan decisions
/speckit.wiki.ingest https://stripe.com/docs/rate-limits
# Knowledge out — cited, or honestly "uncovered"
/speckit.wiki.query Why did we pick SQLite over Postgres, and does that still hold?
# Maintenance + resume
/speckit.wiki.lint # contradictions, orphans, staleness, drift
/speckit.wiki.status # one screen, one recommended next action
Proposed Catalog Entry
{
"wiki": {
"name": "LLM Wiki",
"id": "wiki",
"description": "LLM-maintained compounding project wiki: source ingestion, cited answers, and consistency linting",
"author": "formin",
"version": "1.0.0",
"download_url": "https://github.com/formin/spec-kit-wiki/archive/refs/tags/v1.0.0.zip",
"repository": "https://github.com/formin/spec-kit-wiki",
"homepage": "https://github.com/formin/spec-kit-wiki",
"documentation": "https://github.com/formin/spec-kit-wiki/blob/main/README.md",
"changelog": "https://github.com/formin/spec-kit-wiki/blob/main/CHANGELOG.md",
"license": "MIT",
"category": "docs",
"effect": "read-write",
"requires": { "speckit_version": ">=0.2.0" },
"provides": { "commands": 5, "hooks": 2 },
"tags": ["wiki", "knowledge-base", "docs", "memory", "context-management"],
"verified": false,
"downloads": 0,
"stars": 0,
"created_at": "2026-07-03T00:00:00Z",
"updated_at": "2026-07-03T00:00:00Z"
}
}
Additional Context
This is a docs extension (read-write): it gives a Spec Kit project a cross-feature memory layer — feature research and plan decisions compound into a persistent wiki instead of dying in per-feature directories — and never edits spec.md/plan.md/tasks.md or any ingested source. Prompt-only; the "infrastructure" is markdown files (SCHEMA/INDEX/sources/pages) committed with the repo, so it works with any agent Spec Kit supports. Design adapts Andrej Karpathy's "LLM Wiki" gist (https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f); the per-mechanism mapping and deliberate differences (hard caps, mandatory citations, preserved conflicts, mechanical-vs-semantic lint split) are documented in docs/concepts.md. Complements the same author's Research Harness extension (harness verifies one feature's research; the wiki makes it permanent and reusable) and code-doc generators like langchain-ai/openwiki (which document what IS derivable from the code). Not affiliated with Karpathy, LangChain, or GitHub.
Extension ID
wiki
Extension Name
LLM Wiki
Version
1.0.0
Description
LLM-maintained compounding project wiki: source ingestion, cited answers, and consistency linting
Author
formin
Repository URL
https://github.com/formin/spec-kit-wiki
Download URL
https://github.com/formin/spec-kit-wiki/archive/refs/tags/v1.0.0.zip
License
MIT
Homepage (optional)
https://github.com/formin/spec-kit-wiki
Documentation URL (optional)
https://github.com/formin/spec-kit-wiki/blob/main/README.md
Changelog URL (optional)
https://github.com/formin/spec-kit-wiki/blob/main/CHANGELOG.md
Required Spec Kit Version
Required Tools (optional)
Number of Commands
5
Number of Hooks (optional)
2
Tags
wiki, knowledge-base, docs, memory, context-management
Key Features
conflictmarkers instead of silent overwrites. Defaults to the active feature's research.md + plan decisions.Testing Checklist
Submission Requirements
extension.ymlmanifest includedTesting Details
Tested on:
Test project: fresh
specify init testproj --integration claudescaffold.Test scenarios:
specify extension add wiki --from https://github.com/formin/spec-kit-wiki/archive/refs/tags/v1.0.0.zip(HTTP 200, application/zip) ->specify extension listshows LLM Wiki (v1.0.0), Commands: 5 | Hooks: 2 | Status: Enabled; config template staged under .specify/extensions/wiki/.Example Usage
Proposed Catalog Entry
{ "wiki": { "name": "LLM Wiki", "id": "wiki", "description": "LLM-maintained compounding project wiki: source ingestion, cited answers, and consistency linting", "author": "formin", "version": "1.0.0", "download_url": "https://github.com/formin/spec-kit-wiki/archive/refs/tags/v1.0.0.zip", "repository": "https://github.com/formin/spec-kit-wiki", "homepage": "https://github.com/formin/spec-kit-wiki", "documentation": "https://github.com/formin/spec-kit-wiki/blob/main/README.md", "changelog": "https://github.com/formin/spec-kit-wiki/blob/main/CHANGELOG.md", "license": "MIT", "category": "docs", "effect": "read-write", "requires": { "speckit_version": ">=0.2.0" }, "provides": { "commands": 5, "hooks": 2 }, "tags": ["wiki", "knowledge-base", "docs", "memory", "context-management"], "verified": false, "downloads": 0, "stars": 0, "created_at": "2026-07-03T00:00:00Z", "updated_at": "2026-07-03T00:00:00Z" } }Additional Context
This is a docs extension (read-write): it gives a Spec Kit project a cross-feature memory layer — feature research and plan decisions compound into a persistent wiki instead of dying in per-feature directories — and never edits spec.md/plan.md/tasks.md or any ingested source. Prompt-only; the "infrastructure" is markdown files (SCHEMA/INDEX/sources/pages) committed with the repo, so it works with any agent Spec Kit supports. Design adapts Andrej Karpathy's "LLM Wiki" gist (https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f); the per-mechanism mapping and deliberate differences (hard caps, mandatory citations, preserved conflicts, mechanical-vs-semantic lint split) are documented in docs/concepts.md. Complements the same author's Research Harness extension (harness verifies one feature's research; the wiki makes it permanent and reusable) and code-doc generators like langchain-ai/openwiki (which document what IS derivable from the code). Not affiliated with Karpathy, LangChain, or GitHub.