From fable5-methodology
Helps developers classify factual knowledge into verified, confident recall, or plausible reconstruction, providing a verification ladder to prevent hallucinated API usage.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fable5-methodology:uncertainty-managementThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Confabulated specifics — invented parameter names, flags, version behaviors — are worse than
Confabulated specifics — invented parameter names, flags, version behaviors — are worse than admitted ignorance, because they fail late and erode all trust in everything else you said. The countermeasure is mechanical classification, not vibes.
The tell for bin 3: the detail is specific (an exact name, an exact flag) and your source is "it's usually something like this". Specificity without a source is where hallucinated APIs come from. When in doubt between bins 2 and 3, treat as 3 — the check costs seconds.
node_modules / site-packages / vendor / the
crate source; or run python -c "help(x)", tool --help, man tool."
bulk_createshould batch these into one query — verify the generated SQL withecho=True; this differs across ORM versions."
tool --help" is a correct and
complete answer.# UNVERIFIED: confirm param name against installed vX.Y — so the reader knows exactly
where the risk sits.When you proceed on an assumption, record it AT THE MOMENT you make it (note file, todo, or message), and restate ALL assumptions in one compact block in your final message ("Assumptions: X; Y; Z"). An assumption mentioned once at step 2 of 14 is invisible by delivery time — the final block is what the user actually reads.
--help or docs for the INSTALLED
version?Task: "Use the stripe library to create a subscription with a 14-day trial."
Weak: write stripe.Subscription.create(customer=cid, trial_days=14, plan=pid) from memory.
(trial_days and plan are plausible reconstructions — one is renamed, the other deprecated;
it fails at runtime, in production, on a payment path.)
Correct: (1) grep the repo — two existing Subscription.create calls use items=[...] and
the wrapper billing/client.py; (2) check installed version in the lockfile; (3) confirm the
trial parameter in that version's source/docs → trial_period_days. Deliver using the repo's
own wrapper, and state: "Used trial_period_days per stripe-python vN.N (verified against
installed package)."
Every bin-3 claim in the deliverable has either climbed the verification ladder to "verified" or carries an explicit UNVERIFIED marker with the exact check the reader should run; the final message contains the consolidated assumptions block; and nothing in your output states a reconstructed specific as fact.
npx claudepluginhub unpaidattention/fable5-methodologyVerifies version-sensitive and time-changing facts (APIs, configs, CLI flags, pricing, model IDs) against installed environment and current docs before relying on training memory.
Validates claims through tool execution, avoids superlatives and unsubstantiated metrics. Use when reviewing codebases, analyzing systems, or reporting test results.
Prevents confident fabrications by grounding answers in verifiable evidence. Abstains, asks, or fetches when uncertain rather than confabulating.