From whetstone
Session retrospective and skill audit. Use when asked to reflect, do a retrospective, review lessons learned, audit what went well or wrong, or review session effectiveness.
How this skill is triggered — by the user, by Claude, or both
Slash command
/whetstone:ia-reflectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- Every mistake/friction point cites the specific moment and its impact
Scan the full conversation. For each finding, cite the specific exchange (quote or paraphrase) and its impact.
| Category | Signal |
|---|---|
| Mistakes | Wrong outputs, incorrect assumptions, hallucinated facts |
| Friction | Repeated clarifications, verbose responses, misread intent |
| Wasted effort | Work discarded, wrong approaches tried first |
| Wins | Approaches worth repeating, smooth interactions |
Skip one-time typos, external tool failures, and issues outside agent control.
If the session included PR or MR review activity in either direction, run this scan before moving on. Skip only if no reviews happened.
Inbound (my code was reviewed): For each review comment received:
Outbound (I reviewed someone else's code): For each comment I authored:
"No harvestable items" is a valid outcome -- say so explicitly. Don't let the step quietly drop off.
Before listing improvements, scan the session for operational insights worth preserving. Apply the 5-minute filter: would knowing this save 5+ minutes in a future session? If yes, include it. Examples: a project-specific quirk, a project command that failed for a project-specific reason, an approach that worked better than expected.
Exclude harness-level noise — "File has not been read yet", token-limit truncations, bash-quoting slips, and other tooling artifacts. Those aren't project learnings; capture the project's behavior, not the agent's mechanics.
Numbered list of concrete improvements, ranked by impact. Each item: one sentence, imperative, actionable. Cap at 10 items: if more surface, the bottom items are noise -- drop them rather than batching or splitting.
Ask: "Which of these should I remember for future chats?"
Save approved items to memory files at ~/.claude/projects/<project-slug>/memory/ (replace <project-slug> with the slug matching the current working directory, e.g., -home-ilia-ai-whetstone) using the Write tool with proper frontmatter (see MEMORY.md index).
Before writing, grep the existing memory directory for the item's key terms. On a near-duplicate, update that file instead of adding a second. On a direct contradiction with an entry already on file ("use tabs" when "use spaces" is recorded), do not blind-append — surface both and let the user choose merge, replace, or keep-both. Silent duplicate and contradiction accumulation is the main way a curated memory index rots.
For each skill invoked during the session:
A. Self-check gate -- If the skill lacks success criteria + verification loop:
## Success Criteria at top (3-5 measurable checks)## Self-Check at bottom: "Verify all success criteria are met before presenting output. If not, iterate (max 5 times)."B. Token efficiency -- Flag: redundant phrasing, mergeable sections, oversized examples, "Claude already knows this" content, inert frontmatter metadata.
C. Other -- Missing edge cases, vague directives (rewrite as measurable criteria or remove), naked negations (add "do Y instead" or remove).
Present proposed changes as diffs. Ask: "Apply these? (all / pick / skip)"
The remember: prefix is the highest-confidence capture signal. When the user writes a message beginning with remember:, treat everything after the colon as a memory candidate — no interpretation required. Save directly to the appropriate memory file with a one-line summary and the user's exact phrasing. "Directly" waives interpretation, not the step-4 pre-write check: still grep existing memory for duplicates and contradictions before writing (a remember: that contradicts a recorded entry gets the same merge/replace/keep-both handling). Example: remember: we never use Pest, always PHPUnit → save to feedback_phpunit_over_pest.md.
Correction patterns to watch for (lower-confidence, batch these for review at /ia-reflect time):
Optional capture hook: a UserPromptSubmit hook can pattern-match the markers above into ~/.claude/learnings-queue.json as the user types, so /ia-reflect processes the queue deterministically instead of re-scanning the full transcript. Not shipped with this skill; document the convention and leave implementation to users who need it.
If 2+ similar tasks appear that no existing skill covers, suggest a new skill (1-2 sentence description). Create only after confirmation.
Proactive trigger: When the user corrects you, clarifies the same thing twice, or shows frustration, append: "Tip: Type /ia-reflect when you're ready -- I'll review what we can improve."
Before presenting output, verify all success criteria are met. If any fail, revise (max 5 iterations).
npx claudepluginhub iliaal/whetstone --plugin whetstoneCaptures high/medium/low confidence patterns from conversations to prevent repeating mistakes and preserve successes. Invoke proactively after corrections, praise, edge cases, or skill-heavy sessions.
Captures high/medium/low confidence learnings from conversations via triggers like corrections, praise, edge cases. Improves skills by preventing mistakes and preserving successes. Invoke proactively after 'no/wrong', 'perfect', or session ends.
Reflects on the current Claude Code session to produce a structured retrospective with what went well, what didn't, and actionable takeaways.