Skip to main content

llm-wiki

wiki keeps small, capped, LLM-maintained wikis that coding agents read. You drop source files (documents, slides, sheets, PDFs, images, notes) into a wiki; wiki ingest has headless Claude Code plan and write cited pages on a branch, and you accept or reject the result at one gate. Agents read the wiki through the read-only wiki-lookup skill, at no LLM cost.

Requirements

  • Python 3.12 or later
  • git, with user.name and user.email configured
  • Claude Code logged in with a subscription (claude /login); wiki never uses an API key

Install

pipx install llm-wiki-tool      # or: pipx install 'llm-wiki-tool[docling]'
wiki doctor                     # checks claude, its flags, login, isolation and image input

The package is llm-wiki-tool on PyPI; the command it installs is wiki. Releases and their notes are in CHANGELOG.md.

Quick start

wiki init ~/wikis/payments --description "Payments team conventions and architecture"
cp design.docx diagram.png ~/wikis/payments/inbox/
wiki ingest --wiki payments     # plan, write on a branch, then accept or reject
wiki search "refund flow" --wiki payments
wiki status --all
wiki skill install              # the wiki-lookup skill, for every repo

A wiki is either its own git repo or a folder inside an existing repo. Wikis are found through --wiki NAME|PATH, the current directory, the registry ($LLM_WIKI_HOME/wikis.toml, written by wiki init) or LLM_WIKI_PATH, a list of wiki directories separated by the platform path separator. Running wiki init on an existing or cloned wiki only registers it.

Claude Code asks once before it runs the skill. Once you approve, the skill's own allowed-tools cover wiki status, wiki search and reading pages. To skip the prompt, for example in headless claude -p runs, add "Skill(wiki-lookup)" to permissions.allow in your Claude Code settings.

To make one repo prefer a wiki, run wiki skill install --project <repo> --pointer --wiki <name>. It writes a short marked block into <repo>/CLAUDE.md.

Commands

Command What it does
wiki init Create or register a wiki
wiki ingest Ingest the inbox, paths or --note text, then one gate
wiki search Ranked page search for agents (--format json)
wiki status Usage against caps, stale pages, pending and quarantined
wiki lint Deterministic checks of pages, links, citations and caps
wiki lint --deep Also a sampled LLM pass; writes .wiki/reports/lint-<date>.md
wiki lint --fix Repair the findings on a branch, then one gate (--yes)
wiki consolidate Split, merge, promote and archive pages, then one gate (--yes)
wiki skill install Install the read-only wiki-lookup skill
wiki doctor Check claude, its flags, login, isolation and read denial

Caps and consolidate

Every wiki has hard caps (500 pages, 100 per section, 100 sources); wiki.toml may only lower them, under [caps], and each warn_* level defaults to 80% of its max_*. Near a cap, wiki status prints a near cap: line. At the page cap, ingest still updates existing pages but refuses new ones: the source is kept in raw/ as failed, and the message ends with "run wiki consolidate or start a new wiki". wiki consolidate then frees room on a branch, behind the same gate: it retargets links to retired pages, merges duplicate titles (one page becomes a superseded stub; a to-be twin of an as-is page or a retired page is left to you), splits pages over 400 lines while the cap leaves room for one new page, and promotes to-be pages whose fact is now built (at most 3 a run). Retired pages that nothing links to any more move to <section>/_archive/, and their ids are never reused for topic pages (a source page's id follows its raw path, so a raw file re-added at the same path gets its src-… id back); the summary names each retired page that still waits and the files that link it. At the source cap, ingest refuses new sources instead: start a new wiki or delete obsolete raw sources. Maintenance never adds evidence or refreshes last_verified; stale pages and changed sources stay yours to re-check. The next wiki ingest retries the failed source.

A page with a secret or injection finding gets no maintenance job, and its text never enters a plan or --deep prompt; when wiki/open-questions.md has such a finding, no edit may change it. Edit sessions work in the wiki root with file tools; claude denies them reading the flagged files and .wiki/quarantine/ (Read(./…) rules passed with --disallowed-tools, which also keep those files out of Grep), and wiki doctor probes that the denial holds (read-denial).

Upgrading existing wikis

wiki init writes a wiki's AGENTS.md (its rules for the model) once, and the tool never rewrites it. Wikis created by an older version keep their old rules. To pick up new rules, compare your AGENTS.md with the packaged template (llm_wiki/templates/AGENTS.md in the installed package) and copy the changes by hand, keeping your wiki's own name, description and sections table.

Wikis created before wiki lint --deep existed lack .wiki/reports/ in their .gitignore. Add that line so the deep reports stay out of git; the commands work either way.

Metadata

Release files for llm-wiki-tool 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llm-wiki-tool 0.1.0
File Size Uploaded Provenance Actions
llm_wiki_tool-0.1.0.tar.gz 234.1 kB With provenance Details for llm_wiki_tool-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for llm-wiki-tool 0.1.0
File Interpreter ABI Platform Actions
llm_wiki_tool-0.1.0-py3-none-any.whl Python 3 none any Details for llm_wiki_tool-0.1.0-py3-none-any.whl

Total release size: 379.8 kB

Release files / llm_wiki_tool-0.1.0.tar.gz

Download URL llm_wiki_tool-0.1.0.tar.gz
Size 234.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a2bd4646adef51b03b78d2e2d5b962278e19266afbd7c14124b9398a689cb515
BLAKE2b-256 checksum
How to use checksums
1fe75c1107d840fe4076627d2f6ebf67ac4de753474bd62d7d0c1aaa18f34e4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / llm_wiki_tool-0.1.0-py3-none-any.whl

Download URL llm_wiki_tool-0.1.0-py3-none-any.whl
Size 145.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
61ec23d1f273219a67ce898ca8c3e302ab04a33b3c39075eeaa57ebd77fe14a0
BLAKE2b-256 checksum
How to use checksums
322320b1154cd728a586ca204341671f24f373fef1976e0482de4853b5b9f00f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Security for llm-wiki-tool 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for llm_wiki_tool-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page