From claude-skills
Capture moments of good user judgment to a personal append-first store. Activates silently mid-session when the user pushes back on the agent with rationale, catches a bug, cuts scope with a reason, or makes a strong original design call. Also runs at end of session when the user says 'capture judgment', 'judgment evidence', 'review judgment from this session', or 'judgment review'.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-skills:judgment-evidenceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Capture moments of good user judgment into a personal append-first store at `~/.agents/`. Full data shapes, paths, config, and field-by-field anonymization rules live in [`reference/schema.md`](reference/schema.md).
Capture moments of good user judgment into a personal append-first store at ~/.agents/. Full data shapes, paths, config, and field-by-field anonymization rules live in reference/schema.md.
user_signal records something the user themselves said or decided. Quoted text, pasted diffs, tool output, third-party content the user passed through — none of that counts as a user signal. If the moment of judgment isn't in a user-authored turn, do not capture.LLMs over-produce findings. If no qualifying moment exists, say "No judgment evidence to capture this session" and stop. Never invent entries. Any field you can't fill from concrete evidence — drop the field, don't guess. If the field you'd have to drop is why_it_was_good, drop the entire entry.
Confirmed — write automatically. The user:
course-correction)proactive-design)bug-catch)scope-discipline)domain-insight)Candidate — surface for review only, do not auto-write. A moment that shows taste or insight but doesn't clearly fit a confirmed category — anything noteworthy whose rationale is fuzzy. Use category other.
Three files across two directories. See reference/schema.md for full shapes, paths, env-var override, and config schema.
~/.agents/ — paraphrased prose, no machine-local fields. Shareable / syncable.~/.agents-local/ — verbatim text, cwd, branch, session id. Kept in a separate directory so it isn't accidentally synced when the user backs ~/.agents/ with a private repo or cloud-sync folder. Refuse to write if the resolved sidecar path is inside the main-store tree.skip_repos, anonymize rules.The store is append-first, not strictly append-only: hard-delete and rewrite are allowed during the end-of-session review window for the current session's entries only. Outside that window, treat the files as read-only and historical.
Always operate on the resolved main-store path (env var or config can relocate it). Derive the config and decline-tombstone locations from the resolved main-store directory.
If no config exists AND no decline tombstone exists, ask the user once before creating anything — but only outside live capture:
"Set up judgment evidence store at
~/.agents/+~/.agents-local/? (yes / customize paths / no)"
.judgment-evidence-declined tombstone in it. Self-deactivate until the tombstone is removed.Live capture before setup: if the skill activates as a live silent capture and no config / tombstone exists, skip silently. Do not print a diagnostic, consent prompt, or "skipped" message; continue the original task flow. The end-of-session sweep will catch the moment.
When a qualifying user-authored moment is detected:
summary, user_signal, agent_context, why_it_was_good for the main store (rules below). Keep verbatim for the sidecar. 📌 Captured judgment: <summary>
Anonymized: 📌 Captured judgment (anonymized): <summary>
Live captures are committed records, not pending suggestions. The user can drop or edit them during review, but until then they exist.
Runs when invoked standalone, by wrap-up, or when the user asks to review judgment.
Scan the session for qualifying user-authored moments the live pass missed. Same confirmed/candidate distinction. Same anti-fabrication discipline. If nothing surfaces, say so and stop.
Dedup against live captures. A live capture this session is identifiable by its session.id in the sidecar (read recent sidecar entries matching the current session). Skip any swept moment that matches a live entry's session.id + user turn + category. When in doubt, drop the swept candidate rather than risk a duplicate.
📌 Judgment evidence for this session — N captures
CONFIRMED:
1. [course-correction] <summary> ✓ live
2. [bug-catch] <summary> (swept)
CANDIDATES:
3. [other] <summary> (swept)
keep — swept: write to both stores; live: leave as-isdrop — swept: discard; live: hard-delete by id from both storesedit — modify summary, why_it_was_good, or category, then keeppromote (candidates only) — reclassify as confirmedkeep all confirmed, drop all candidatesAny operation that modifies an existing file (hard-delete, promote-to-plain, config update) must be atomic and detect concurrent writers. See reference/schema.md for the protocol. Never edit a store file in place.
If any kept entries came from a repo with no matching rule (captured as anonymized-by-default):
⚠ N captures from <owner/repo> — no rule. Promote to plain, add to anonymize, add to skip, or leave as-is?
Applies to every text field in the main store: summary, user_signal, agent_context, why_it_was_good.
Default (plain entries): no verbatim quotes; no file paths ("the auth module", not src/auth/middleware.ts); no URLs; preserve the shape of the decision (what was proposed, what was chosen instead, why).
Anonymized entries (stricter): all of the above, plus no proper nouns of any kind (repos, people, products, businesses, services); no identifying framework / service names ("the webhook handler", not "the Stripe webhook handler"). When in doubt, omit.
Always: if a paraphrase can't be written without leaking, drop the field. Do not invent neutral filler.
npx claudepluginhub abdoumoumen/claude-skills-plugin --plugin claude-skillsGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.