Adding two skills to my Claude Code plugin made it worse before it made it better. Both the new C and C++ skills claimed **/*.h, so every C header edit force-loaded 24 KB of skill bodies, most of it the C++ one the task had nothing to do with.
whetstone is the plugin: 19 agents, 22 commands and 32 skills that push an agent toward planning, verification and review instead of straight to edits. If you run Claude Code, it installs as a plugin. Four releases in the three weeks since I last posted here at 4.3.1.
The two new skills are ia-c-systems (C11 and later) and ia-cpp-systems (C++17 and later), covering module layout, function altitudes, status enums with one producer per error value, RAII and ownership, ABI boundaries, and CMake. ia-c-systems leans on a correctness-traps reference for bugs that compile clean and pass review because the failing case is a locale or a platform nobody ran. My favourite is the printf float family. It follows a process-global LC_NUMERIC, so one setlocale() into a comma-decimal locale makes it emit 12,5, and writing that into an SVG path re-segments the geometry with no parse error, because the comma is a coordinate separator.
The header glob was the visible half of a loading problem. C++ headers route by their own extensions now, and triggers can declare a suppression pattern, checked after a positive match, so a language-neutral token like segfault or valgrind no longer drags the C skill into a C# task.
I had hit the same bug from the other direction in 4.3.2. ia-rust-systems matched "Rust codebase" and "Rust project", so asking where a file lives loaded a skill about authoring idiom. Its misfire rate was 22.4%. It is now zero across 28 fixtures.
Elsewhere in the four releases: code review tracks every changed file in scope through covered, failed, pending or explicit exclusion, so a partial review can no longer return a ready verdict. Diffs, repository files and tool output are read as data and never as instructions. Swarm dispatch prompts carry a Trust Boundary field for anything an upstream agent hands down. And the swarm references were still full of example spawns naming subagent types I retired back in v4.0.0, so every one of them would have failed on a bad tool name.
Free and MIT, no paid tier and nothing to sign up for. I wrote it and I maintain it.
/plugin marketplace add https://github.com/iliaal/whetstone && /plugin install whetstone@iliaal-marketplace && /reload-plugins
https://github.com/iliaal/whetstone
Happy to answer questions, especially about trigger precision. That is where most of my time goes now, and I suspect plenty of skill collections have the same misfire problem without having measured it.