diff --git a/CLAUDE.md b/CLAUDE.md
index a0cd478f..d84de75f 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -261,7 +261,7 @@ When changing a crate's public API (new types, new trait impls, new public metho
The `toolpath-cli` shim lives **outside** the workspace (`exclude = ["crates/toolpath-cli"]` in the root `Cargo.toml`). Both `toolpath-cli` and `path-cli` produce a binary literally named `path`, and cargo can't write two bin targets to the same workspace `target/debug/path` — so the shim opts out and gets its own `crates/toolpath-cli/target/` (covered by the `crates/*/target` line in `.gitignore`). Practical consequences: `cargo build --workspace`, `cargo test --workspace`, and `cargo run -p toolpath-cli` from the repo root **do not** include the shim. To touch it, use `--manifest-path crates/toolpath-cli/Cargo.toml`. The release script special-cases the shim in `get_version` and `publish` so the workflow is otherwise unchanged.
-Build the site after changes: `cd site && pnpm run build` (should produce 11 pages).
+Build the site after changes: `cd site && pnpm run build` (should produce 12 pages).
## Things to know
diff --git a/site/_includes/base.njk b/site/_includes/base.njk
index db00d536..2287dc5f 100644
--- a/site/_includes/base.njk
+++ b/site/_includes/base.njk
@@ -70,6 +70,7 @@
RFC
Crates
CLI
+ Plugin
Visualizer
FAQ
GitHub
diff --git a/site/css/style.css b/site/css/style.css
index ee3a75af..532e1770 100644
--- a/site/css/style.css
+++ b/site/css/style.css
@@ -579,6 +579,29 @@
}
}
+ /* --- Plugin page Q&A transcript --- */
+ .qa {
+ background: var(--bg-surface);
+ border-left: 3px solid var(--accent);
+ padding: var(--space-md) 1.25rem;
+ margin: 1.25rem 0;
+ }
+ .qa-q {
+ font-family: var(--font);
+ font-size: 0.85rem;
+ font-weight: 600;
+ color: var(--accent);
+ margin: 0;
+ }
+ .qa-q::before {
+ content: "> ";
+ color: var(--text-dim);
+ }
+ .qa-a p {
+ margin: 0.6rem 0 0;
+ font-size: 0.95rem;
+ }
+
/* --- Topographic divider --- */
.divider {
background: repeating-linear-gradient(
diff --git a/site/pages/plugin.md b/site/pages/plugin.md
new file mode 100644
index 00000000..9574f4c7
--- /dev/null
+++ b/site/pages/plugin.md
@@ -0,0 +1,139 @@
+---
+layout: base.njk
+title: Plugin
+nav: plugin
+permalink: /plugin/
+---
+
+# Claude Code Plugin
+
+```
+/plugin marketplace add empathic/toolpath
+/plugin install path@toolpath
+```
+
+## Ask your session history anything
+
+Every session you run is recorded somewhere on disk, in a format you can't
+read, by a tool that never looks at it again. `/path:query` lets you
+question that history in plain English — and not just Claude Code's:
+it reads Codex, Gemini CLI, GitHub Copilot, opencode, Cursor, and Pi
+sessions too, so you can ask about one harness or across all of them.
+
+
+
/path:query what did i work on last week?
+
+
+Most of last week went to the **payments service**: migrating off the
+legacy webhook handler (Tue–Thu, 640 steps) and two short sessions chasing
+a race in the retry queue. Monday was the docs-site redesign; Thursday
+afternoon a one-off backfill script. No recorded activity Friday or over
+the weekend.
+
+
+
+
+
+
/path:query which sessions cost me the most tokens this month?
+
+
+The heaviest was Wednesday's session on the import-pipeline bug: roughly
+**8.4M tokens** — 7.9M of it cache reads, 61k generated output. Worth
+knowing: the top two sessions are segments of the same conversation;
+together they're nearly half the month's total.
+
+
+
+
+
+
/path:query compare my claude and codex usage this month
+
+
+Claude Code carried most of the volume: 9.2M output tokens across 31
+sessions, against Codex's 480k across 7. Codex runs shorter sessions — a
+median of 41 steps to Claude's 220 — and spends about 4% of its output on
+reasoning. Claude doesn't itemize thinking tokens, so its reasoning share
+isn't measurable.
+
+
+
+
+
+
/path:query what parts of my workflow were inefficient this month?
+
+
+Two things dominate. About a fifth of the month's steps were later
+rewound or replaced, concentrated in three sessions that each had to be
+substantially redone. And marathon sessions are where the tokens go: the
+five sessions over a thousand steps account for nearly half your context
+spend — a fresh session per sub-task would be the highest-leverage change.
+Tool failures barely register by comparison (2.3% of calls, mostly shell
+friction).
+
+
+
+
+## Share, link, resume
+
+### /path:share
+
+This conversation, as a link. Publishes the current session to
+[Pathbase](https://pathbase.dev). Name another session in plain words
+("the one about the flaky test") and it finds and shares that one instead.
+
+
+
/path:share the session where we fixed the retry queue
+
+
+Found it — Tuesday's session on the retry-queue race. Shared:
+`pathbase.dev/u/you/pathstash/retry-queue-race`
+
+
+
+
+### /path:link-pr
+
+Ship the _why_ with the diff. Shares the session and appends the link to
+your pull request's description, so the review carries the conversation
+behind the change. Saying "share this conversation to the PR" is enough
+to trigger it:
+
+
+
share this conversation to the pr
+
+
+Shared — the session is at
+`pathbase.dev/u/you/pathstash/rate-limit-retry` and PR #212's description
+now links to it.
+
+
+
+
+### /path:resume
+
+Sessions are portable. Point it at a Pathbase URL and it projects the
+session into your project, ready to pick up with `/resume` — even if the
+session started on another machine, or in a different harness entirely.
+
+
+
/path:resume pathbase.dev/u/mira/pathstash/retry-queue-race
+
+
+Imported into this project. Run `/resume 7c9e2b41` to pick up where Mira
+left off.
+
+
+
+
+## How it works
+
+On first use the plugin installs the `path` CLI from a GitHub release
+(sha256-verified) — or uses the one already on your `PATH`. The CLI reads
+each harness's on-disk session format and normalizes it into
+[Toolpath documents](/format/) in a local cache; `/path:query` answers
+questions from that cache entirely on your machine. Sharing is explicit:
+only `/path:share` and `/path:link-pr` upload anything, and you choose
+anonymous or [signed-in](https://pathbase.dev) uploads.
+
+The plugin is [open source](https://github.com/empathic/toolpath/tree/main/plugins/claude-code),
+and the same commands work against the [CLI](/cli/) directly.