Show HN: Whetstone – 20 Claude Code skills, each distilled from one real failure Whetstone, a new open-source project by developer Akbar Sha, releases 20 Claude Code skills, each distilled from one real failure in AI coding agent work. The skills are short, self-contained rule sets with pre-flight checklists, grouped into 'Verify & prove' and 'Plan & design' categories, available on GitHub. The project aims to help AI coding agents and humans apply lessons from concrete failures without original context. Every skill here is a scar . Agent skills honed on real work. Each one is a short, self-contained rule set distilled from one concrete failure — written so an AI coding agent or a human can apply the lesson without the original context. Not general advice. A scar. It happened. Every skill names the sanitized case it was distilled from — a check that passed against a stand-in, a merge that dropped a field, a green test that could never fail. No hypotheticals. It generalizes. No project or company detail survives. The lesson is stripped to its mechanism so it transfers to your codebase, your stack, your next incident. It has an edge. Each ends in a pre-flight checklist that fails loudly when a box is unchecked — a gate on "done," not a suggestion you can wave through. If it reads like a blog post, it doesn't belong. If it reads like a checklist a tired engineer would thank you for at3am, it does. Twenty edges, grouped by grind. Each links to its SKILL.md — the full rule set, the sanitized case, and the pre-flight check. Verify & prove 06 skills verify-through-the-real-path ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/verify-through-the-real-path Verify Through the Real Path Before claiming something works, is done, safe, or fast — verify through the actual trigger, real data, and representative conditions, not a stand-in. prove-the-test-can-fail ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/prove-the-test-can-fail Prove the Test Can Fail After writing a test, or before trusting a green one — make it fail on purpose once, and confirm new branches are reachable by the mocks. measure-the-delta-not-the-absolute ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/measure-the-delta-not-the-absolute Measure the Delta, Not the Absolute Judging whether your change is clean on a red or noisy baseline — prove it by stash-and-compare, not by which files appear in the failure list. test-fixture-realism ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/test-fixture-realism Test-Fixture Realism Writing tests against a shared store or fabricated fixtures — make fixtures mirror data reality and assertions unable to pass trivially. know-your-aggregate-command-scope ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/know-your-aggregate-command-scope Know Your Aggregate Command's Scope Before citing a test / lint / type-check / build script as proof — confirm what it actually runs, how it forwards args, and whether it caches. running-long-background-jobs ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/running-long-background-jobs Running Long Background Jobs Launching or verifying a long-running / detached job, or reconciling a batch against a corpus other processes also write to. Plan & design 06 skills plan-cross-encoding-review ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/plan-cross-encoding-review Plan Cross-Encoding Review Reviewing a plan or spec — catch the bug where one intent is encoded twice and the copies quietly disagree. confirm-the-premise-first ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/confirm-the-premise-first Confirm the Premise First Designing when a choice depends on a technical property — state the ground truth local vs remote, reversible vs not before asking downstream questions. audit-before-you-build ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/audit-before-you-build Audit Before You Build Starting from a ticket, checklist, or spec — grep for what already exists first; trackers record conversations, not deliverables. inject-ambient-inputs ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/inject-ambient-inputs Inject Ambient Inputs Writing logic that reads the clock, randomness, env, or handles — pass them in as parameters so the pure core tests with no mocking machinery. consistency-is-local-first ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/consistency-is-local-first Consistency Is Local First Adding code to an existing module — match the nearest sibling's pattern; a repo-wide convention is the default only when the module has none. validate-the-users-proposed-mechanism ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/validate-the-users-proposed-mechanism Validate the User's Proposed Mechanism A user names a platform, tool, or library — treat it as a proposed mechanism; grep the artifact for disqualifiers before agreeing. Change safely 04 skills grep-the-blast-radius ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/grep-the-blast-radius Grep the Blast Radius Changing a shared contract flag, column, type, endpoint — the retired name is your consumer index; grep the whole workspace and run cross-boundary suites. diff-each-side-against-merge-base ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/diff-each-side-against-merge-base Diff Each Side Against the Merge Base Resolving a merge or rebase conflict — markers show where git gave up, not the full delta; auto-merge silently drops fields. verify-absence-claims ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/verify-absence-claims Verify Absence Claims Acting on a "none exists / not found" claim, especially from delegated research — re-grep it; absence is only as good as the search pattern. negative-invariant-testing ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/negative-invariant-testing Negative-Invariant Testing Protecting a "never does X" constraint — a behavioural test can't see an unused capability; assert structurally on the mechanism's existence. Diagnose & review 03 skills read-the-real-failing-call ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/read-the-real-failing-call Read the Real Failing Call Hardening against a failure mode — instrument the real failing call before and after, because a plausible hypothesis is not a diagnosis. manufacture-review-independence ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/manufacture-review-independence Manufacture Review Independence Reviewing your own work author == reviewer — replace lost independence with scoped parallel passes and adversarial re-reads of the source. findings-list-is-not-a-todo-list ↗ https://github.com/iamakbarsha1/whetstone/tree/main/skills/findings-list-is-not-a-todo-list A Findings List Is Not a To-Do List Acting on a review or audit list — re-read each item's disposition and bucket them; some are marked no-fix, some need a human decision. Same shape, every time. One folder, one SKILL.md . Plain Markdown, so any agent that can load a system prompt can use it — the plugin auto-discovery is the only Claude Code-specific part. - frontmatter name + description The description carries the trigger phrases, so a skill-aware agent surfaces the right skill when the situation matches. - the rule The core rule One paragraph. The whole lesson, stated once, before any elaboration. - the cases Checks Each rule paired with the sanitized real case it came from — the scar that earned it. - the gate Pre-flight check The checklist that gates "done" and fails loudly when a box is unchecked. Install Two ways in. The plugin gives you auto-discovery; the manual copy is just folders. Claude Code plugin Add the marketplace, then install the plugin — all 20 skills come with it. Run both inside Claude Code. Manual copy Each skill is a self-contained folder in the Claude Code skill layout. Copy one, or all of them.