From claire
Health-check and conflict-check a Claire install. Runs filesystem checks (dependencies, install integrity, duplicate installs, agent-name collisions with the current workspace, leftover old tools) AND a live self-test that confirms Claire's de-priming enforcement is actually firing on this machine — so you know whether strict mode is safe to turn on here. Use after installing or updating Claire, when switching install methods, or when something about Claire seems off. Invoke via /claire:doctor.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claire:doctorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Two layers: the filesystem checks (a script) and one live test that only a running
Two layers: the filesystem checks (a script) and one live test that only a running dispatch can do. Run both, then give the user a plain verdict.
Run adv-status.sh (at the plugin root — the parent of the skills/ directory
this skill lives in) and print its one-line output at the top (e.g.
claire v0.4.0 · up to date). If it reports commits behind origin, note how to update: a clone install updates
with git pull; a marketplace install updates by refreshing the marketplace in the
plugins panel (or /plugin marketplace update on the terminal).
Run the bundled doctor.sh from the user's current workspace (so its
collision scan sees that workspace's local agents) and show its output verbatim:
bash "<plugin-root>/doctor.sh"
It checks: python3 present; plugin.json present and no stray marketplace.json
beside it; components intact; version / behind-origin; duplicate installs (the
same Claire installed in more than one place under ~/.claude — e.g. a clone and
a marketplace copy — which double-loads her hooks and agents); name collisions
(local agents in this workspace or your user config that share Claire's agent
names); and leftover superseded tools. WARN lines are informational; FAIL lines
need fixing.
This is the check the script cannot do. It verifies that the de-priming receipt mechanism works on this machine — which is what tells you whether strict mode is safe to enable.
Note the current moment, and list any existing receipts: ls -t "<plugin-root>/hooks/.receipts/" 2>/dev/null.
Dispatch claire:brief-leak-auditor (namespaced) with this fixed, obviously
neutral brief as the entire prompt — nothing else:
A team is choosing between two suppliers for a one-year support contract. Supplier A is a large, long-established firm with a higher fixed monthly fee and a record of many prior contracts. Supplier B is a smaller firm founded three years ago with a lower fee and fewer prior contracts. Both meet the technical requirements and both have confirmed they can start on the required date. The team must commit to one for the year. What is the outside view on how the team should choose between Supplier A and Supplier B, and what would you most want to know before recommending one?
It should return a clean verdict (GENUINELY-NEUTRAL). The brief is deliberately textured — two options described on matched dimensions (size, fee, track record) with no loaded wording — NOT a one-line "both options are equal" abstraction. A too-thin brief makes the auditor (correctly) refuse to audit it ("there's no brief here — no texture for a lean to live in"), so it returns no verdict and no receipt: a false negative that looks like broken enforcement. The lean hides in the texture, so the self-test brief must HAVE texture.
After it returns, check the receipts folder again:
ls -t "<plugin-root>/hooks/.receipts/". A new *.json file (newer than
step 1) means the PostToolUse receipt hook fired and recorded the clean audit.
On the Claude Desktop app, a plugin's PostToolUse hook (the receipt writer) does NOT
fire — only its PreToolUse hook (the warn-gate) does. So out of the box, no receipt is
written and the gate can only ever warn. The fix is a one-time registration of the
receipt writer in ~/.claude/settings.json (where PostToolUse hooks DO fire), which
the bundled setup-receipts.sh does safely and idempotently.
So if Step 2 produced no fresh receipt — whether Step 1's "Receipt enforcement"
check said not registered OR registered but pointing at a path that no longer exists
(a stale registration after switching install methods) — offer to turn it on for the
user; do not make them open a terminal. (setup-receipts.sh registers if missing,
re-points if stale, and is a no-op if already correct — so it is always safe to run.) Ask plainly, e.g. "Claire's stronger enforcement (the gate going
silent only on a real audit) isn't switched on here yet. Want me to enable it? It adds
one line to your Claude settings file that runs the receipt writer; it's reversible and
can't hang anything." On yes:
bash "<plugin-root>/setup-receipts.sh" and show its one-line result.On no, leave it warn-only and say so — Claire still works, the gate just always reminds rather than going silent.
Tell the user, in plain language:
CLAIRE_GATE_STRICT=1) is safe to enable if they want hard blocking. Say so./claire:doctor can switch on enforcement whenever they want.Keep the whole thing short: a status line, the script output, the self-test result, and a two-or-three-line verdict. Don't pad it.
npx claudepluginhub janikithup/claire-marketplace --plugin claireCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.