//Claude Code Plugin

A Claude Code plugin that captures the useful part of your team's technical discussions and lets you ask why things were built the way they were. Free and open source. MIT licensed.

What it is

Four skills and a command.

Most technical decisions happen in meetings, in Slack threads, or in a quick back-and-forth that ends with someone saying "let's just do it this way." The code records what got built. The reasoning disappears.

Four skills cover the lifecycle. capture takes any discussion (transcript, Slack thread, AI recap, raw notes) and distills it into compact tagged entries: the decision, the rationale, and what was ruled out. ask answers why things were built the way they were, follows supersession chains to the current decision, and surfaces open questions in the area. resolve closes a question on record. supersede marks a past decision reversed or obsolete after the fact, without requiring a new capture first.

Pairs well with grill-me, Matt Pocock's skill that interviews you relentlessly about a design, walking through the decision tree until the reasoning is fully worked out. Use grill-me to pressure-test a plan, then wherefore to capture the decisions and the why before they evaporate.

Install

Two commands, then restart.

Add the marketplace and install the plugin. The plugin ships its own tooling; the log itself lives in each project repo, created on first use.

/plugin marketplace add DustinVK/wherefore /plugin install wherefore@dustinvk

// Restart Claude Code after installing. Run /wherefore:seed in a project to bootstrap a tag vocabulary from your codebase structure.

How it works

Three steps, no overhead.

// 01 — Log
Paste the summary

Raw transcript, Slack export, AI-generated recap: any of these work. Claude distills the decision, the rationale, and the rejected alternatives into a compact entry. Not a transcript. The useful residue.

// 02 — Tag
Tag on two axes

Each entry gets an area (checkout, billing, shipping) and a topic (auth, postgres, perf). Two facets means you can search by feature or by concern. A controlled vocabulary keeps tags coarse and stable.

// 03 — Ask
Ask in plain English

Use ask: "why did we implement the price calculator that way?" Get a grounded answer with citations back to source entries. If a decision was later reversed, it follows the supersession chain. If nothing matches, it says so plainly.

Lifecycle

Decisions evolve. The log follows.

Reversals. When you run capture, wherefore checks whether the new discussion likely reverses an existing decision and asks before marking it. If you discover a past decision is wrong after the fact, supersede marks it reversed with a pointer to its replacement, or obsolete if nothing replaced it. ask always follows the supersession chain and gives you the current decision. The log stays current without cleanup passes.

Open questions. capture extracts genuine open questions into wherefore/questions/ as numbered files rather than burying them in an entry body. ask surfaces open questions in the area alongside decisions. resolve closes a question on record: the answer, the rationale, and a link to what settled it.

Usage

From install to habit.

First-time setup in a project // optional but recommended
// 01

Run /wherefore:seed and Claude looks through the codebase (module layout, routes, migrations, etc.) and suggests a starting set of areas and topics. Confirm or tweak the list and it saves it to wherefore/topics.md.

// 02

Paste the block from CLAUDE.snippet.md into your project's CLAUDE.md. Claude will then offer to log a decision at the end of a session. You just say yes.

// CLAUDE.snippet.md — paste into your project's CLAUDE.md
This repo keeps its wherefore log in wherefore/, managed by the wherefore plugin. When a working session produces a real decision (an approach chosen, a tradeoff made, an alternative ruled out) offer to capture it: ask "Want me to add this to wherefore?" and use the capture skill if yes. Log decisions and their rationale only. Skip routine edits and unresolved threads. To look up why something was built a certain way, use the ask skill.

After a meeting, paste the summary and run capture. Use ask with "why did we implement the price calculator the way we did?" later and it searches the log and summarizes what it finds, with dates and links to source files. If nothing matches, it says so.

// Both steps are optional. The log works fine without them. Without the CLAUDE.md snippet you have to remember to ask; without /wherefore:seed the tag vocabulary builds up from whatever you log.

Party mode enabled!