{"id":"ee548a0e-f9b0-4ed9-a43c-77188b8456ed","slug":"whetstone","kind":"mcp","name":"whetstone","summary":"AI-powered development tools. 18 agents, 19 commands, 29 skills, 4 hooks, 1 MCP server for code review, research, design, and workflow automation.","owner":"iliaal","repoUrl":"https://github.com/iliaal/whetstone","license":"MIT","licenseTier":"permissive","trust":"community","stars":35,"match":null,"fewStars":false,"format":"mcp","createdAt":"2026-02-22T02:59:52.000Z","addedAt":"2026-10-14T03:47:11.143Z","logoUrl":"https://avatars.githubusercontent.com/u/158724?u=a3f26e4d2528a68effa5ccbfa79262d110fb5926&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools","cloud-infra","design-media"],"tags":["ai-agents","ai-tools","claude-code","claude-code-plugin","code-review","developer-tools"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-15T03:05:01.888Z","sample":false,"url":"https://conduits.dev/tools/whetstone","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# Whetstone\n\n[![Claude Code Plugin](https://img.shields.io/badge/Claude_Code-Plugin-blue?logo=anthropic&logoColor=white)](https://code.claude.com/docs/en/plugins)\n[![Version](https://img.shields.io/github/v/release/iliaal/whetstone)](https://github.com/iliaal/whetstone/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Follow @iliaa](https://img.shields.io/badge/Follow-@iliaa-000000?style=flat&logo=x&logoColor=white)](https://x.com/intent/follow?screen_name=iliaa)\n\n![Whetstone](images/whetstone-hero.jpg)\n\nA Claude Code plugin that makes AI coding agents follow engineering discipline. Plan before coding. Verify before claiming done. Find root cause before patching. Review before merge. Skills activate based on file type and task signals, not manual toggling.\n\nBundles agents, skills, workflow commands, and a skill distillery for PHP, Python, TypeScript, React, and infrastructure workflows.\n\n## Who this is for\n\n**Teams using Claude Code for real work.** You build with PHP, Python, TypeScript, or React and want the agent to plan before building, verify before shipping, and debug from evidence.\n\n**Solo developers who want consistency.** Bash tasks receive guidance on strict mode and ShellCheck; Laravel tasks receive strict-type and thin-controller patterns. Skills guide the agent; only checks actually run can establish compliance.\n\n**Anyone building with AI agents.** Includes skills for multi-agent orchestration, agent-native architecture design, and a distillery that generates new skills from top-rated community sources.\n\n## The problem\n\nAI coding agents skip planning, claim \"done\" without verifying, patch symptoms over root causes, and forget what they learned when context resets. The output looks polished even when the process behind it is missing.\n\nThe long-form argument is at [AI Agents Don't Lack Capability. They Lack Process.](https://ilia.ws/blog/ai-agents-dont-lack-capability-they-lack-process). This plugin supplies that process as instructions and supporting tools.\n\n## 🚀 Install\n\n### Claude Code (recommended)\n\n```bash\n/plugin marketplace add https://github.com/iliaal/whetstone\n/plugin install whetstone@iliaal-marketplace\n/reload-plugins\n```\n\n### Standalone skills (any AI coding agent)\n\nIndividual skills work with Claude Code, Cursor, Codex, Gemini CLI, Copilot CLI, OpenCode, and [35+ other agents](https://agentskills.io) via the [ai-skills](https://github.com/iliaal/ai-skills) repo:\n\n```bash\n# All skills\nnpx skills add iliaal/ai-skills\n\n# Single skill\nnpx skills add iliaal/ai-skills -s code-review\n\n# Target a specific agent\nnpx skills add iliaal/ai-skills -a cursor\n```\n\n### Codex\n\nInstall Whetstone's portable skills and Context7 integration through the repository's native Codex marketplace:\n\n```bash\ngit clone https://github.com/iliaal/whetstone\ncd whetstone\nbash scripts/install-codex-plugin.sh\n```\n\nStart a new Codex thread after installation or update. The native package includes Whetstone's cross-harness skills and Context7 MCP server. Claude-specific agents, slash commands, and hooks remain available only through the Claude Code plugin.\n\nNo shipped skill carries Claude's `disable-model-invocation` flag or its Codex twin, `allow_implicit_invocation: false` in `agents/openai.yaml`. Commands reach skills through explicit `Skill()` tool calls, which the harness treats as model invocation, so either flag makes that call fail. Trigger control lives in each skill's `description`. `scripts/test-codex-plugin.sh` asserts the set of flagged skills stays empty.\n\nNormal Whetstone releases refresh the local Codex plugin before publication when `codex` is on `PATH`. For source edits between releases, use the wrapper that applies a temporary cachebuster, reinstalls, and restores the tracked release version:\n\n```bash\nbash scripts/refresh-codex-plugin.sh\n```\n\nThe legacy converter remains available for OpenCode and other non-plugin targets.\n\nIn this checkout, Codex also discovers the 12 repository commands and `skill-distiller` through `.agents/skills/`. Invoke them as `$release`, `$audit-plugin`, `$write-skill`, or `$skill-distiller`, with arguments after the name. Command wrappers read the maintained `.claude/commands/` sources. If an existing session has not refreshed its skill list, start a new Codex session. These repository workflows are separate from the distributed plugin skills.\n\n### OpenCode\n\nOpenCode reads skills from its per-project config. The converter translates the plugin's `SKILL.md` format into OpenCode's expected shape and writes output into the current project (override with `--output <dir>`).\n\nCommand-based `PreToolUse` and `PostToolUse` hooks use a bundled adapter. Conversion skips `SubagentStart` with a warning because the adapter has no equivalent event; it also skips Whetstone's paired recorder so prompts are not queued without a consumer. Automatic per-task skill context is therefore available only in Claude Code; converted skills remain available to OpenCode. Other unsupported hook events and types cause conversion to fail.\n\nConverted command hooks require Bash on PATH and retain any script-specific dependencies. The installed bundle includes its scripts and skill files, so it does not depend on the source checkout. Codex conversion also warns when skipping `SubagentStart`; it installs skills and prompts without executing Claude hooks.\n\n```bash\nbun run src/index.ts install ./plugins/whetstone --to opencode\n```\n\nCleanup for OpenCode (and other targets) uses the same command:\n\n```bash\nbun run src/index.ts cleanup --target opencode\nbun run src/index.ts cleanup --target kilocode\nbun run src/index.ts cleanup --target agents\n```\n\nUse `cleanup --target opencode --output <dir>` for a custom installation. Default OpenCode cleanup checks the current project and legacy global locations. Cleanup backs up individually identified Whetstone artifacts and preserves unrelated or customized files; files whose ownership cannot be established require manual review.\n\n### Additional targets (symlink-based)\n\nFor tools that read skills directly from `~/.agents/skills` or `~/.kilocode/skills`, `scripts/sync-to-tools.sh` symlinks the plugin's skill directory into each path so edits land immediately without re-conversion. It removes legacy Whetstone-owned links from `~/.codex/skills` and adds managed Codex exclusions for the same skills discovered through `~/.agents/skills`; the native plugin remains Codex's single source.\n\n```bash\nbash scripts/sync-to-tools.sh              # symlink into shared non-Codex tool dirs\nbash scripts/sync-to-tools.sh --dry-run    # preview changes\n```\n\n## 🔗 Works well with\n\n- **[codesage](https://github.com/iliaal/codesage)** adds structural code intelligence (find symbols, references, dependencies, blast-radius analysis) as an MCP server. Whetstone supplies process guidance; CodeSage supplies codebase structure for applying it.\n- **[ai-skills](https://github.com/iliaal/ai-skills)** is the read-only mirror of this plugin's skills for agents without native Whetstone plugin support.\n\n## 🛠️ The workflow\n\nFive commands form a loop: explore the problem, plan the solution, build it, review it, document what you learned. Each pass makes the next one faster because solutions accumulate as searchable docs.\n\n| Command | What it does |\n|---------|-------------|\n| `/ia-brainstorm` | Interviews you one question at a time to surface hidden requirements. Produces 2-3 named approaches with trade-offs. No code until a design doc is approved. |\n| `/ia-plan` | Turns a brainstorm or feature idea into a file-based plan with atomic tasks, specific file paths, and phased delivery in vertical slices. |\n| `/ia-work` | Executes a plan with task tracking, worktree isolation, and verification gates. Each task runs through build/test before marking complete. |\n| `/ia-review` | Multi-agent code review: scope-drift detection, spec compliance, code quality, security, performance. Auto-escalates to deep mode on complex diffs. |\n\nEach command also works on its own: `/ia-review` as a pre-merge check, `/ia-plan` for scoping.\n\n![Without the plugin vs with the plugin](images/compound-before-after.png)\n\n## ✨ Skills\n\nSkills are instructions selected for the task. They guide procedures and identify anti-patterns; they are not runtime enforcement of the agent's decisions.\n\n### Architecture & design\n\n| Skill | Description |\n|-------|------------|\n| [ia-agent-native-architecture](plugins/whetstone/skills/ia-agent-native-architecture/SKILL.md) | 15-area architecture checklist for systems where AI agents are primary actors: tool design, execution patterns, context injection, approval gates, audit trails. For designing agent systems or MCP tools. |\n| [ia-frontend-design](plugins/whetstone/skills/ia-frontend-design/SKILL.md) | Requires a design philosophy statement before code, detects existing design systems to match, and bans AI design cliches (purple-to-blue gradients, Space Grotesk, three-card hero layouts). Calibrates output via variance, motion, and density parameters. For work where visual identity matters. |\n| [ia-simplifying-code](plugins/whetstone/skills/ia-simplifying-code/SKILL.md) | Declutters code without changing behavior. Targets AI slop: redundant comments, unnecessary defensive checks, over-abstraction, verbose stdlib reimplementations. Applies changes in priority order and stops before touching public APIs. For cleanup after AI generation or accumulated complexity. |\n\n### Language & framework\n\n| Skill | Description |\n|-------|------------|\n| [ia-react-frontend](plugins/whetstone/skills/ia-react-frontend/SKILL.md) | Decision tree routing most \"should I use an effect?\" questions to non-effect solutions. Separates state tools by purpose (Zustand for client, React Query for server, nuqs for URL). Enforces React 19 patterns, App Router server/client boundaries, and flags that Server Actions are public endpoints. For React, Next.js, and Vitest/RTL testing. |\n| [ia-nodejs-backend](plugins/whetstone/skills/ia-nodejs-backend/SKILL.md) | Strict layered architecture (routes > services > repos) with no cross-layer HTTP imports. Contract-first API design using Zod schemas as the single source of truth. Requires production patterns such as circuit breakers and load shedding. For Express, Fastify, Hono, or NestJS backends. |\n| [ia-python-services](plugins/whetstone/skills/ia-python-services/SKILL.md) | Mandates modern tooling (uv, ruff, ty) over legacy equivalents. Structured concurrency via `asyncio.TaskGroup`, idempotent background jobs, and structured JSON logging with correlation IDs via `contextvars`. For Python CLI tools, FastAPI services, async workers, or new project setup. |\n| [ia-php-laravel](plugins/whetstone/skills/ia-php-laravel/SKILL.md) | `declare(strict_types=1)` everywhere, PHPStan level 8+, fat models / thin controllers, Form Requests with `toDto()`, event-driven side effects. Prevents N+1 by disabling lazy loading in dev. Defaults to feature tests through the full HTTP stack. For Laravel codebases. |\n| [ia-rust-systems](plugins/whetstone/skills/ia-rust-systems/SKILL.md) | Edition 2024, workspace layout with inward-only deps, `thiserror` in libraries / `anyhow` in binaries, no `unwrap`/`expect` outside `main` and tests, every `unsafe` block needs a `// SAFETY:` comment. Tokio patterns (JoinSet, CancellationToken, bounded mpsc) and axum service layout. For Rust CLIs, axum services, or cargo workspaces. |\n| [ia-c-systems](plugins/whetstone/skills/ia-c-systems/SKILL.md) | Repo conventions outrank the skill, so it defers on tabs, `goto cleanup`, and macros that return rather than fighting established C. Function altitudes (orchestrator / leaf / adapter) gated behind a name test that stops over-decomposition, status enums with one producer per error value, public-validates / internal-asserts boundaries. Separate references for memory safety (sanitizers, overflow-checked allocation, recursion to bounded worklists) and PHP extension C. For C11 and later, native extensions, and systems code. |\n| [ia-cpp-systems](plugins/whetstone/skills/ia-cpp-systems/SKILL.md) | Rule of zero by default and rule of five once a destructor appears, since a user-declared destructor silently suppresses moves. `unique_ptr` first and `shared_ptr` third. API rules that break callers when ignored: decide `explicit` at introduction, keep the narrow overload, delete rather than silently ignore. Separate references for ABI boundaries (exceptions must not cross `extern \"C\"`, PIMPL, visibility) and CMake tooling. For C++17 and later libraries and services. |\n| [ia-pinescript](plugins/whetstone/skills/ia-pinescript/SKILL.md) | Guides Pine Script v6 syntax, platform limits, signal stability checks, and walk-forward validation. Distinguishes historical indexing from future outcomes and chart-bar confirmation from requested-timeframe confirmation. |\n\n### Infrastructure\n\n| Skill | Description |\n|-------|------------|\n| [ia-postgresql](plugins/whetstone/skills/ia-postgresql/SKILL.md) | BIGINT GENERATED ALWAYS AS IDENTITY over SERIAL, TIMESTAMPTZ over TIMESTAMP, indexes on every FK (Postgres doesn't auto-create them). Includes an unindexed FK detection query and mandates `EXPLAIN (ANALYZE, BUFFERS)` before any optimization claim. For schema design, query tuning, RLS, or partitioning. |\n| [ia-terraform](plugins/whetstone/skills/ia-terraform/SKILL.md) | Specific file organization, `for_each` over `count` to prevent recreation on reordering, remote state with locking, `moved` blocks for renames, and four-tier testing (validate > tflint > plan tests > integration). For Terraform or OpenTofu. |\n| [ia-linux-bash-scripting](plugins/whetstone/skills/ia-linux-bash-scripting/SKILL.md) | `set -Eeuo pipefail` as foundation, EXIT traps for cleanup, `printf` over `echo`, arrays over eval, `local` separated from assignment. Production templates for atomic writes, retry with backoff, and script locking. For any Bash script meant for production. |\n\n### Testing & quality\n\n| Skill | Description |\n|-------|------------|\n| [ia-writing-tests](plugins/whetstone/skills/ia-writing-tests/SKILL.md) | DAMP over DRY, test cases from user journeys not implementation details, real objects over mocks (mocks only at system boundaries). Requires red-green cycles for bug fix tests. Includes a 13-excuse Rationalization Table for when you're tempted to skip tests. Works with any language. |\n| [ia-test-audit](plugins/whetstone/skills/ia-test-audit/SKILL.md) | Audits whether existing tests fail when the behavior they claim to protect breaks: mocked-away subjects, weak or circular assertions, undiscriminating fixtures, swallowed failures, and tests missing from a blocking gate. Each finding names the surviving regression and its evidence status, with optional scratch-copy mutation probes. Ships stdlib-only detector scripts as discovery aids. |\n| [ia-code-review](plugins/whetstone/skills/ia-code-review/SKILL.md) | Checks specification compliance before code quality, tracks selected-file coverage, and ranks findings by severity and evidence. Selects deep review when 3+ risk signals apply. Reports suggested action routes without editing during review-only work. For PR reviews and code audits. |\n| [ia-receiving-code-review](plugins/whetstone/skills/ia-receiving-code-review/SKILL.md) | Verify-before-implement for every comment. Different skepticism levels by source: maximum for automated agents, trusted-but-verified for project owners. Requires evidence when pushing back. Prohibits performative agreement. For processing review feedback on your code. |\n| [ia-debugging](plugins/whetstone/skills/ia-debugging/SKILL.md) | Reproduces the reported symptom, tests evidence-backed hypotheses, and verifies permanent repairs with regressions. Distinguishes authorized incident mitigation from root-cause repair and preserves diagnosis-only scope. Reassesses after 3 failed cycles without imposing a fixed tracing depth. |\n| [ia-verification-before-completion](plugins/whetstone/skills/ia-verification-before-completion/SKILL.md) | Requires fresh evidence through Identify, Run, Read, Verify, Claim. Checks the actual revision and entry point, reports missing coverage, and distinguishes fixtures from live proof. Accepts a clean review when its coverage supports the conclusion. |\n| [ia-planning](plugins/whetstone/skills/ia-planning/SKILL.md) | Chooses a durable plan, inline list, or direct implementation from dependencies, recovery needs, and unresolved decisions. File counts are signals rather than automatic triggers. Plans name concrete tasks, ownership, verification, and runnable phase outcomes. |\n\n### Content & workflow\n\n| Skill | Description |\n|-------|------------|\n| [ia-brainstorming](plugins/whetstone/skills/ia-brainstorming/SKILL.md) | Hard gate: no code until a design doc is approved. Reads the codebase first, interviews one question at a time, proposes 2-3 named approaches with trade-offs, saves a structured doc to `docs/brainstorms/`. For vague requirements or multiple valid interpretations. |\n| [ia-document-review](plugins/whetstone/skills/ia-document-review/SKILL.md) | Activates specialized lenses (Product, Design, Security, Scope Guardian, Adversarial) based on document signals. Scores on four criteria, identifies one critical improvement, and can dispatch a fresh-eyes sub-agent. For polishing specs or brainstorms before handing them to planning. |\n| [ia-writing](plugins/whetstone/skills/ia-writing/SKILL.md) | Edits prose while preserving meaning, facts, and voice. Treats vocabulary and structural tells as contextual signals, with separate edit and detect-only modes and guidance for publication surfaces. For blog posts, PR descriptions, docs, and changelogs. |\n| [ia-git-worktree](plugins/whetstone/skills/ia-git-worktree/SKILL.md) | Routes all operations through a manager script handling `.env` copying, `.gitignore` updates, and dependency installation. Detects execution context and adapts. For parallel feature development or isolated reviews. |\n| [ia-md-docs](plugins/whetstone/skills/ia-md-docs/SKILL.md) | Treats AGENTS.md as the canonical context file. Verifies every factual claim against the actual codebase before writing. For project documentation that's stale, missing, or needs initialization. |\n\n### AI & prompting\n\n| Skill | Description |\n|-------|------------|\n| [ia-meta-prompting](plugins/whetstone/skills/ia-meta-prompting/SKILL.md) | Decision modifiers through natural language or prompt markers: `/verify-think` challenges an answer, `/adversarial` ranks counterarguments, `/edge` explores failure scenarios, and `/confidence` scores claims. Distinct from the `/ia-verify` command's pre-PR checks. |\n| [ia-reflect](plugins/whetstone/skills/ia-reflect/SKILL.md) | Scans the full conversation for mistakes, friction, and wins, citing specific exchanges. Proposes ranked improvements and audits skills used in the session for token efficiency. For end-of-session lessons learned. |\n\n### Multi-agent orchestration\n\n| Skill | Description |\n|-------|------------|\n| [ia-orchestrating-swarms](plugins/whetstone/skills/ia-orchestrating-swarms/SKILL.md) | Coordinates independent agents with explicit scope, file ownership, and verification assignments. Uses worktrees or a shared-tree workflow with exclusive writes and parent-owned integration. Defines worker recovery, independent review, and four status signals. |\n\n## 🤖 Agents\n\nSpecialized subagents dispatched by the main agent or by workflow commands. Each runs in isolation with its own tools and context.\n\n### Review\n\n| Agent | Description |\n|-------|------------|\n| [ia-accessibility-tester](plugins/whetstone/agents/ia-accessibility-tester.md) | WCAG 2.1 audit across keyboard navigation, screen reader compatibility, contrast ratios, ARIA attributes, and form accessibility. For compliance checks before launch. |\n| [ia-architecture-strategist](plugins/whetstone/agents/ia-architecture-strategist.md) | Evaluates architectural soundness, design pattern compliance, and structural consistency. For service additions, refactors, or codebase pattern audits. |\n| [ia-cloud-architect](plugins/whetstone/agents/ia-cloud-architect.md) | Analyzes infrastructure against Well-Architected Framework principles: cost optimization, scalability, disaster recovery across AWS, Azure, and GCP. |\n| [ia-code-simplicity-reviewer](plugins/whetstone/agents/ia-code-simplicity-reviewer.md) | Produces a simplification report (no code changes) identifying YAGNI violations and over-engineering. For post-implementation analysis. |\n| [ia-database-guardian](plugins/whetstone/agents/ia-database-guardian.md) | Validates migration safety, referential constraints, and data integrity. For PRs touching migrations, backfills, or data transformations. |\n| [ia-kieran-reviewer](plugins/whetstone/agents/ia-kieran-reviewer.md) | Opinionated Python and TypeScript review with a high bar for type safety, naming clarity, and modern patterns. |\n| [ia-performance-oracle](plugins/whetstone/agents/ia-performance-oracle.md) | Identifies bottlenecks in algorithmic complexity, database queries, memory usage, and scalability limits. |\n| [ia-security-sentinel](plugins/whetstone/agents/ia-security-sentinel.md) | Threat modeling and vulnerability scanning across authentication, input validation, secrets management, and OWASP categories. |\n| [ia-spec-flow-analyzer](plugins/whetstone/agents/ia-spec-flow-analyzer.md) | Maps user flows through specifications to surface edge cases, missing clarifications, and completeness gaps before implementation. |\n\n### Research\n\n| Agent | Description |\n|-------|------------|\n| [ia-best-practices-researcher](plugins/whetstone/agents/ia-best-practices-researcher.md) | Gathers official framework docs, version-specific best practices, and industry standards for any technology. |\n| [ia-git-history-analyzer](plugins/whetstone/agents/ia-git-history-analyzer.md) | Excavates git history to explain code evolution: traces commits, authors, and context around decisions. |\n| [ia-repo-research-analyst](plugins/whetstone/agents/ia-repo-research-analyst.md) | Analyzes repository architecture, naming conventions, and implementation patterns. For onboarding or understanding project conventions. |\n\n### Design\n\n| Agent | Description |\n|-------|------------|\n| [ia-design-iterator](plugins/whetstone/agents/ia-design-iterator.md) | Iterative UI refinement through screenshot-analyze-improve cycles. For when initial design changes produce mediocre results. |\n| [ia-figma-design-sync](plugins/whetstone/agents/ia-figma-design-sync.md) | Compares implemented UI against Figma designs, reports discrepancies, and optionally applies fixes. |\n\n### Workflow\n\n| Agent | Description |\n|-------|------------|\n| [ia-bug-reproduction-validator](plugins/whetstone/agents/ia-bug-reproduction-validator.md) | Reproduces bug reports and identifies root causes without applying fixes. Validates whether reports are genuine bugs before engineers invest. |\n| [ia-deployment-verification-agent](plugins/whetstone/agents/ia-deployment-verification-agent.md) | Generates Go/No-Go deployment runbooks with SQL verification queries, rollback procedures, and monitoring plans for high-risk changes. Runs after database-guardian validates migration code. |\n| [ia-infrastructure-engineer](plugins/whetstone/agents/ia-infrastructure-engineer.md) | Full deployment-lifecycle coverage: CI/CD pipelines (blue-green, canary, rolling, feature flags), Docker and containerization, observability stacks (metrics/logs/traces), and incident management. Not for DB migration verification (use deployment-verification-agent). |\n| [ia-pr-comment-resolver](plugins/whetstone/agents/ia-pr-comment-resolver.md) | Implements a single pre-triaged PR comment where the action is already agreed on. For mechanical fixes, not judgment calls. |\n\n## ⚡ Commands\n\nAll commands carry the `ia-` prefix to avoid collisions with Claude Code built-ins and sibling plugins.\n\n### Workflow commands\n\n| Command | Description |\n|---------|------------|\n| `/ia-brainstorm` | Explore requirements and approaches through one-at-a-time interviews before planning. |\n| `/ia-plan` | Turn feature ideas into file-based implementation plans with atomic tasks and vertical slices. |\n| `/ia-work` | Execute plans with task tracking, worktree isolation, and verification gates. |\n| `/ia-review` | Multi-agent code review: scope-drift detection, spec compliance, code quality, security, performance. |\n| `/ia-document-release` | Post-ship documentation sync across README, ARCHITECTURE, CONTRIBUTING, and CHANGELOG. |\n\n### Utility commands\n\n| Command | Description |\n|---------|------------|\n| `/ia-lfg` | Full autonomous workflow: plan, build, review, ship. Use `--swarm` for parallel execution. |\n| `/ia-verify` | Pre-PR verification pipeline: build, types, lint, tests, security scan, diff review. |\n| `/ia-resolve-pr` | Batch-resolve PR review comments via cluster analysis and parallel agents. |\n| `/ia-deepen-plan` | Enhance an existing plan with parallel research agents for each section. |\n| `/ia-ideate` | Generate ranked improvement ideas by scanning the codebase, then divergent ideation and adversarial critique. |\n| `/ia-setup` | Auto-detect project stack and configure which review agents run. |\n| `/ia-adr` | Create Architecture Decision Records with format selection and lifecycle management. |\n| `/ia-refine-prompt` | Rewrite a vague prompt into specification language against a six-element checklist, within 0.75x-1.5x of the original length. |\n| `/ia-test-browser` | Run browser tests on pages affected by the current PR or branch. |\n| `/ia-feature-video` | Record a video walkthrough of a feature and add it to the PR description. |\n| `/ia-changelog` | Build changelogs from recent merges. |\n| `/ia-reproduce-bug` | Reproduce bugs using logs and console output. |\n| `/ia-report-bug` | Report a bug in the plugin. |\n| `/ia-agent-native-audit` | Run agent-native architecture review with scored principles. |\n\n## Design\n\nEvery token a skill spends is one the agent can't use on your code, so the skills are kept short:\n\n- **Aim below 1K body tokens; 2K hard cap.** Generated and shipped skill validators use the same budget estimator (`cl100k_base`, or characters/4 when unavailable). Keep operative scope and verification rules inline; move detailed topic guidance to conditionally loaded `references/` files.\n- **Front-loaded.** Critical rules come first because model attention drops off with length.\n- **Actions, not explanations.** Tell the agent what to do, not what things are. Skip anything the model already knows.\n- **Every \"don't\" has a \"do instead.\"** Bare prohibitions leave the agent guessing. Alternatives give it a clear path.\n- **Keyword-rich descriptions.** Only the description loads at startup. The agent uses it to decide whether to activate a skill, so it carries the phrases developers type. The body loads when the skill triggers.\n\n## Skill distillery\n\nThe `distillery/` directory is a pipeline for generating, evaluating, and evolving skills. It fetches top-rated community skills, analyzes overlapping advice, strips filler, resolves contradictions, and synthesizes one focused instruction set per topic.\n\nBeyond generation, the distillery mines Claude Code session logs to build evaluation datasets, scores skill effectiveness via LLM-as-judge, and evolves skills through DSPy optimization. Skills that pass evaluation get promoted to the plugin.\n\n```bash\npython3 distillery/scripts/distiller.py search \"react\"     # Find source skills\npython3 distillery/scripts/distiller.py harvest-sessions    # Mine session logs for eval data\npython3 distillery/scripts/distiller.py dspy-eval <skill>   # Score via LLM-as-judge\npython3 distillery/scripts/distiller.py evolve <skill>      # Optimize via DSPy\npython3 distillery/scripts/distiller.py test-triggers       # Regression test trigger patterns\n```\n\n## Repository structure\n\n```\nwhetstone/\n├── plugins/whetstone/   # The plugin\n│   ├── agents/                     # 18 specialized subagents\n│   ├── commands/                   # 19 slash commands\n│   ├── skills/                     # 29 skills\n│   ├── hooks/                      # Skill injection into subagents\n│   └── README.md                   # Full component reference\n├── distillery/                     # Skill generation, eval, and evolution\n│   ├── scripts/                    # distiller.py + tests\n│   └── generated-skills/           # Generated skill output\n├── scripts/                        # Repo maintenance\n└── src/                            # Bun/TS CLI for OpenCode/Codex conversion\n```\n\n## Acknowledgements\n\nTwo projects informed the shape of this plugin:\n\n- **[EveryInc/compound-engineering-plugin](https://github.com/EveryInc/compound-engineering-plugin)**: the original \"compound engineering\" framing (each unit of engineering work should make the next one easier), the brainstorm > plan > work > review > compound loop, and the multi-target install model for Codex / OpenCode / Copilot / Gemini / Kiro / Pi.\n- **[ComposioHQ/awesome-claude-skills](https://github.com/ComposioHQ/awesome-claude-skills)**: curated catalog of Claude skills the distillery mines for source material, alongside skills.sh.\n\n## License\n\nMIT\n\n---\n\n[Follow @iliaa on X](https://x.com/iliaa) • [Blog](https://ilia.ws) • If this improved your AI workflow, ⭐ star it!\n"}