Whetstone
  • Home
  • Concepts
  • Before / After
  • Metrics
  • Methodology
  • Docs
    • Install & quickstart
    • Tools
local · open source · MCP

Stop correcting the same thing every session

“No, not like that — do it this way.” You already said it once. By next session your AI coding agent has forgotten, and you're repeating yourself again. Whetstone makes a correction stick: it attaches to a skill you already use as a local MCP server, captures the correction the first time you give it, and recalls it on every later run — no separate review step, all committed to git.

Get started → View on GitHub
$ uvx whetstone-mcp
37/38
corrected preferences that stuck
2
median runs to stick
5
skills across 3 classes
17
real scenarios measured
the one claim
A correction the skill received once is tracked and keeps being honored on later runs.

There is no LLM judge grading “prettiness.” The point is to show a correction is tracked and re-applied — and to measure that directly. Every number links back to how it was produced.

how it works

Cold, captured, then warm

Three stages turn a one-off correction into a durable, weighted memory the skill reads back on every later run — so you say it once, not every session.

Cold

The skill runs with an empty store, no memory of past corrections. The house-style preference you care about is usually not honored — that’s the baseline, and where you are today without Whetstone.

Capture

You correct the skill, same as always. capture is the Whetstone tool that records it — as a weighted learning (a soft taste, e.g. "prefer muted colors") or a mandatory issue (a hard "always/never" rule) — committed to git so it's never lost.

Warm

recall is the Whetstone tool that injects the relevant learned layer at the start of the next run, automatically. The preference is honored — and stays honored, in every session after this one.

the proof

See it, then measure it

Two independent views of the same claim, across every skill.

◧

Before / After

A before output from an empty store, the exact learned layer the skill recalled in its own words, and the after output that applied it.

See it →
▤

Metrics

Runs-to-stick and value-over-time, read straight from Whetstone’s telemetry — never hand-set.

Measure it →
◆

Methodology

Exactly how every number on this site is produced, and what “honored” means for each preference.

Read it →
breadth

One substrate, many skills

The same attach / recall / capture / revise loop drives every skill — only the skill and the taught preference change.

Great Tables

Publication-ready data tables

6 scenarios · 12/12 stuck

Frontend design

Self-contained web pages

3 scenarios · 5/6 stuck

plotnine

Grammar-of-graphics plots

4 scenarios · 10/10 stuck

ggplot2 (R)

Grammar-of-graphics plots, in R

2 scenarios · 6/6 stuck

PowerPoint decks

python-pptx presentations

2 scenarios · 4/4 stuck
beyond the loop

Grows with how you work

The recall / capture loop is the core. Around it, a small set of out-of-band commands keep your taste healthy, portable, and shared.

◇

A learned global layer

A preference you hold across skills — “muted palettes, never neon” — is lifted once into a shared cross-skill store and recalled everywhere. Each entry still remembers where it came from, so a skill-specific correction wins over the general one when they disagree.

Concept →
⤓

Preference packs

Because a store is just markdown, export a house style and import it on another machine or a teammate’s — dedup-aware, ids re-minted.

Concept →
⟳

Compaction & mining

compact tidies the store and scans its usage history for health signals — a preference worth turning into a hard rule, one that’s gone unused — surfaced as advice you choose to act on, never applied silently.

Concept →
✓

A health check

whetstone doctor tells you whether the learn loop is actually wired — and prints setup instructions if it isn’t.

Tools →
get started

Install in one line

Whetstone ships on PyPI as whetstone-mcp. Run it with your preferred tool, then register it with your MCP client.

$uvx whetstone-mcp
$pipx install whetstone-mcp
$claude mcp add whetstone -- uvx whetstone-mcp
Read the README → How the numbers are made

Scope. v1 covers the visual skill class across five skills, in both Python and R. The code and context classes — the same substrate applied to a code-improvement skill and a context-organizing skill — are coming next.

 

Whetstone — the website and its numbers are generated from real runs; see Methodology.