From grounding-claims
Premise gate — surface and verify a plan's hidden assumptions BEFORE acting. You MUST use this whenever you are about to execute, review, or act on a plan or instruction that involves any of - upgrading, installing, or migrating a tool, dependency, controller, or cluster component; using an API or feature tied to a specific version; deleting, formatting, or resetting data on the strength of an assumed backup; treating merged, green CI, Succeeded, or HTTP 200 as proof that something works or is live; or being asked what a plan assumes or whether it is safe. Also use when asked to build or bootstrap an assumption catalogue for a repo. It surfaces the load-bearing implicit assumptions, adversarially refutes each (false until proven), and STOPS if any is false or unverifiable. Fires even when nobody says "assumptions". Complements verification-before-completion (the outcome gate after work) — this is the premise gate before work.
How this skill is triggered — by the user, by Claude, or both
Slash command
/grounding-claims:grounding-claimsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A **premise gate**. Other discipline verifies the *outcome* after work; this verifies the *premises*
evals/evals.jsonevals/results/2026-06-03-trigger-run1-original-desc.jsonevals/results/2026-06-03-trigger-run2-sharpened-desc.jsonevals/results/README.mdevals/scenarios/EXPECTED.mdevals/scenarios/planted-assumptions-plan.mdevals/trigger-evals.jsonreferences/catalogue-format.mdreferences/refuter-contract.mdreferences/seed-lens.mdscripts/catalogue.mjsscripts/write-catalogue.mjsworkflows/bootstrap-catalogue.mjsA premise gate. Other discipline verifies the outcome after work; this verifies the premises before/during work. When you are about to build, change, or operate something, the plan rests on implicit premises ("this version supports it", "the running pod = the manifest I merged", "a 200 means it works"). When a load-bearing premise is false, the work fails or causes an incident. This skill makes those premises explicit and forces real evidence before you act.
Track the loop as a checklist (e.g. a TodoWrite item per step where available) so you don't short-circuit the 9 steps.
Detect input. Is there a written plan/spec? Audit its content. If not, audit the approach you just formed in this conversation.
First-principles (THINK FIRST). Bottom-up, derive the load-bearing premises of this solution: "what must be true for this to work?" Do NOT open the catalogue yet — thinking first is what keeps the catalogue a widening aid instead of blinders.
Widen. Now walk references/seed-lens.md (universal shapes) AND this repo's
docs/assumptions/catalogue.md if it exists. Add any assumption you missed.
Completeness-critic. Ask: "which load-bearing assumption fits NO shape above — especially domain-specific or novel ones?" Add those too. (This is the explicit defense against a closed catalogue.)
Triage. Keep an assumption only if it is load-bearing × plausibly-wrong × falsifiable. Drop trivially-true ones and infinite-regress ones ("the filesystem works"). Load-bearing but not cheaply falsifiable ⇒ keep it as an UNVERIFIABLE risk for the gate (do not silently wave it away).
Route. Classify the task: APP/CODE vs INFRA/OPS (a task that is both ⇒ union both). Lead with that mode's shapes plus the cross-cutting ones:
APP/CODE work that touches dependencies, config, or secrets should also union version/capability,
precondition-present, and auth/scope/secret.
Refute. For each surviving load-bearing assumption, dispatch a fresh adversarial subagent to
DISPROVE it, per references/refuter-contract.md. ≤ ~6 ⇒ inline subagents; more ⇒ a Workflow fan-out.
No subagent or Workflow facility in this harness? Play the refuter role yourself, inline, one
assumption at a time — fresh-eyes, default-FALSE, honoring the full refuter contract (R1–R3 apply
unchanged; the evidence rules carry the rigor, not the process isolation).
Gate. Build the run-ledger (references/catalogue-format.md). Any load-bearing assumption that is
FALSE or UNVERIFIABLE ⇒ STOP and report to the user with the ledger. Lower-weight ⇒ logged risk, proceed.
Persist & learn.
docs/assumptions/<topic>-<date>.md (table from references/catalogue-format.md).docs/assumptions/catalogue.md), append it
via this skill's bundled scripts/catalogue.mjs: read the catalogue, mergeEntry(entries, newShape),
renderCatalogue(...), write the file back — exact recipe in references/catalogue-format.md.
mergeEntry dedups by key, so re-running is safe.docs/ history and NO catalogue yet: OFFER (opt-in — mining is token-intensive)
to bootstrap the catalogue (see "Bootstrapping a repo's catalogue" below).When the user asks to build/bootstrap the assumption catalogue for a repo — or accepts the step-9 offer — skip the audit loop and run the bootstrap directly:
<repo-root>/docs/**/*.md) and a
reminder that mining a large history is token-intensive.workflows/bootstrap-catalogue.mjs via the Workflow tool with
args = { root: "<repo-root>", glob: "<glob>" }. It mines the docs for assumption failures and
returns { count, entries }.entries array to a temp file (e.g. /tmp/catalogue-entries.json), then persist:
node <this-skill-dir>/scripts/write-catalogue.mjs docs/assumptions/catalogue.md /tmp/catalogue-entries.json <repo-name>.invocation → result (e.g. kubectl get nodes → v1.30.2): a command and its observed
output, or a passage from a doc you fetched/read this run. You may NOT cite the plan/spec under audit as
proof of its own premise, and a bare conclusion without its underlying probe output is not a citation.
No probe-backed evidence ⇒ the verdict is UNVERIFIABLE, not "ok".Steps 1–8 need only file reads, shell, and reasoning — they work in any agent harness. Known fallbacks:
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
npx claudepluginhub iipanda/grounding-claims --plugin grounding-claims