Nothing is forgotten, nothing is overwritten.
Every relation has the dates it held. supersede closes one in favour of a newer one, a changed file closes its old claims, and --as-of shows the graph as it was on any day.
Ask your documents a question. See the answer as a map.
Point it at papers, specs, policies, notes or code and it builds a knowledge graph: concepts and typed relations, each with the passage it came from, a confidence and the dates it held. Ask in plain words and it answers in the form that fits the question: a timeline of what changed and what replaced it, an argument with the quotes for and against a claim, the steps between two ideas, a matrix of what is missing, a rhythm of when each topic was written about, or the map. When a question is unclear, it asks you instead of guessing.
Install
All examples are real public material with provenance: Python PEPs (public domain or CC0), arXiv abstracts (CC0), US federal documents (public domain), and Microsoft's Amplifier docs and history (MIT). Relations were extracted by agents through the tool's own agent route; every relation links to its quote.
How it works
Start from material you already have. The graph keeps every claim with its source and its dates, so you can follow a line of reasoning, check a claim, or see what applied on a given day, instead of searching for keywords.
knowledge ingest ./docs has a model extract concepts and typed relations, each tied to the passage it came from. Inside an agent, --method agent hands the agent the passages instead, so no key is billed. --method cooccurrence builds a word network with no model at all.
knowledge visualize --for "what replaced M-24-10?" opens the form that answers it: a timeline for what changed, an argument for whether a claim holds, steps for how two ideas connect, a matrix for what is missing, a rhythm for when things were written, or the map. Every view file has all six as tabs. If the question is unclear, it asks which you meant, with the command for each answer.
evidence shows each supporting and contradicting relation with its quote. timeline and --as-of show what was believed on any date and what replaced it. gaps finds topics that should be linked but barely are: usually where the next question is.
Made for real work
Every relation has the dates it held. supersede closes one in favour of a newer one, a changed file closes its old claims, and --as-of shows the graph as it was on any day.
Agents write through add and relate with their name on every relation. The change log records who did what, and serve shows it live. Over MCP, the same capabilities are tools for any host.
One self-contained page with no outside requests. Export an Obsidian vault with wikilinks, topic notes, a gaps note and a Canvas map, or GraphML for Gephi, Cytoscape JSON and CSV.
For developers
Ten real Python Enhancement Proposals on type hints, including four versions of PEP 563. Ask "What replaced PEP 563's plan to make stringized annotations the default?" and it answers with a timeline. The plan moved from Python 4.0 (2017) to 3.10 (2020) and was put on hold for PEP 649 (2021); the PEP now says it "never became the default behaviour". Replaced plans are hatched, with an arrow to what replaced them: deferred evaluation in PEP 649 and PEP 749. Click any bar for its quote.
For researchers
Eight arXiv abstracts on scaling laws and emergent abilities (arXiv metadata is CC0). Ask "What contradicts the claim that emergent abilities appear suddenly and unpredictably?" and it answers with an argument. Wei et al. (2022) say such abilities "cannot be predicted simply by extrapolating" smaller models; Schaeffer et al. (2023) give evidence that they "evaporate with different metrics or with better statistics". Every card carries its quote and source. The same file shows the compute-optimal debate from Kaplan to Chinchilla as a timeline.
For policy, legal and operations work
Seven US federal documents on agency use of AI, from Executive Order 14110 (2023) to OMB memos M-25-21 and M-25-22 (2025), all public domain. Ask "What did agencies have to do as of 2024-12-01?" and it answers with a timeline marked at that date: requirements in force then, such as M-24-10's December 1, 2024 deadline for minimum practices, and the ones that replaced them after M-25-21 "rescinds and replaces" it. Filled bars still hold; hatched bars ended, with the sentence that ended them.
Six forms, one graph
Data, knowledge and wisdom need different pictures. Map: the network of concepts and relations. Timeline: what held when, and what replaced it. Argument: a claim with the quotes for and against. Steps: the chain between two ideas, each with its sentence. Matrix: topics against topics, links observed against expected, gaps outlined. Rhythm: topics against time. One self-contained file, no outside requests.
It asks, not guesses
Ask "What about scaling?" and the tool does not pick a view for you. It names what it could not tell, offers the concepts you might mean, and gives the exact command for each answer (exit 1, needs_clarification). An agent puts the question to you and runs the one you choose. It never prompts by itself, so scripts and agents never hang.
Find the gaps
Twenty real documents from Microsoft's Amplifier docs and the smart-tools spec, read by four agents into 313 concepts and 613 relations. The matrix sets every topic against every other: links observed against links expected for their size. Outlined cells are gaps. The biggest is real: the smart-tools world (cli, smart tool, manifest) barely touches the kernel world (kernel, mount plan, module). Click a gap for its bridge candidates.
Watch agents think together
Four Claude Code agents, a cartographer, an analyst, a skeptic and an archivist, each took 25 chunks of the docs and wrote what they found with knowledge add, at the same time, while knowledge serve was recorded. Nearly five minutes of real work, sped up. They checked each other's names as they went.
Made for agents
Inside Claude Code, Codex or Amplifier, the agent is the model. These commands need no credentials: the biggest gap, a path between two ideas, the contradictions, and numbered context ready to cite, all from the real Amplifier docs graph.
No model at all
ingest --method cooccurrence links words that appear near each other, the text-network way. No model, same result every time, and still topics, influence and gaps. Search for a word, then switch topics on and off.
Get started
Start with the outcome you want. Your agent can install the tool and use its help to carry out the work.
Build a knowledge graph of ./docs and show me what replaced what. Use the knowledge tool: read knowledge --help, run knowledge ingest ./docs --method agent --graph docs --json, extract the relations from each passage yourself, load them with knowledge add, then open knowledge visualize --for "what changed over time?" --graph docs --open. If it asks a question back, ask me.
Amplifier Smart Tools provide help in skill format: instructions your agent can read to understand capabilities, inputs, and how to use the tool. Ask your agent to read --help before getting started.
uv tool install "amplifier-smart-tool-visualizer @ git+https://github.com/michaeljabbour/amplifier-smart-tool-visualizer" knowledge --help
Python 3.10 or later, no other dependencies. Graphs are single SQLite files in your data folder; views are single HTML files that open offline.
ingest (default method), ask, report, questions and reconcile use a model: your host's own (through --complete-cmd or MCP), Anthropic, OpenAI or a local Ollama model. Inside Claude Code, Codex or Amplifier they stop and name the deterministic route instead of billing a key. Everything else needs no model.
Part of the same family
Each tool stands on its own. Explore the others when your work takes you there.