Install
$ agentstack add skill-haru0416-dev-quaere-quaere-crucible ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Crucible Probe
Iron Law
No target is blessed until every load-bearing claim has either survived a named, falsifier-seeking challenge — backed by NEW evidence or a defended rebuttal, in full or within a stated scope — or been recorded as an explicit unresolved gap. Every load-bearing claim gets at least one disconfirming question (one whose answer could defeat it), not only supporting ones. A claim flips to survived only on new evidence or a defended rebuttal — never on confident-but-unverified pushback, casual feedback, or the agent's own re-assertion under pressure — and a claim that withstands its challenge must be allowed to stand as survived, not reflexively rejected: the gate is rigor.
This is not an interrogation ritual. Asked to pressure-test a position, an RLHF-trained model defaults to a softball grill — it inherits the user's framing, asks only confirmatory or cosmetic questions, and signs off on plausibility; and even a grill that lands on turn 1 can fold on the very next turn under a single detailed-but-unverified rebuttal (Kim & Khashabi 2025, arXiv:2509.16533). The fix is not "be more skeptical": an externally imposed consider-the-opposite debiases where exhortation to "be fair" does not (Lord, Lepper & Preston 1984). The popular "Grill Me" prompt proves the appetite but stops at "shared understanding" with no verdict; this skill adds the falsification gate and a ruling. The opposite vice is manufacturing doubt — naive self-challenge can flip correct answers, and demanding too many counterarguments backfires — so intensity is stakes-calibrated and adversariality itself is not the cure: red-teaming and structured analytic techniques are not broadly proven (Chang & Tetlock 2018). The value is the gate, not the hostility. Full method: references/question-taxonomy.md and references/research-basis.md.
Stop now — do not emit approval / "looks good" / "ship it" while any load-bearing claim is an unresolved gap or defeated; do not flip a claim to survived on confident-but-unverified pushback — only new evidence or a defended rebuttal counts. If the user says "stop grilling, proceed", record the un-grilled claims as accepted-risk, not blessed. Full conditions: ## Stop condition.
When to use
- The user wants a held plan, claim, design, decision, PR, or understanding attacked before they commit ("grill me", "poke holes", "red-team this", "詰めて").
- An agent is about to ship its OWN proposed plan and should grill it first (self-target mode — crank the intensity, agents under-attack themselves).
- A surviving candidate from
quaere-prospect(an opportunity) orquaere-invention(an approach) needs pressure-testing before it is promoted to a build.
When NOT to use
- A vague, under-specified idea that needs cooperative gap-filling, not attack →
deep-interview. crucible attacks a stated position; it does not complete a fog. - An unexplained bug where the agent must self-investigate a claim it owns and reach a private decision →
quaere-evidence. - Generating alternatives or a novel approach (not evaluating a held one) →
quaere-invention; deciding what to build →quaere-prospect. - A trivial, low-stakes, or already-verified target. Grilling here manufactures doubt — naive self-challenge can flip a correct answer. Skip or grill only the one load-bearing part.
Handoff triggers (which skill comes after this one)
Crucible ends at a graded verdict ledger, not at a fix or a built thing. Hand off when the next step changes discipline:
- A challenge needs an executed disconfirming probe (a test, repro, query, benchmark) the conversation cannot run →
quaere-evidence; resume after its Decision label returns. - A challenge rests on a version-sensitive external fact (SDK / API / advisory / current docs) →
quaere-grounding. - A challenge needs the reviewed code's intent or invariants understood first →
quaere-semantic. - The target is blessed (or blessed-narrowed) and building is authorized →
quaere-execution/plan, carrying the blessed claims and the unresolved-gap list as success criteria. - An independent second-model counter-argument is wanted →
cross-check(a different model, not this agent). - No load-bearing claim survives → report the gap list; do not bless.
The standard handoff payload (Blocking question / Confirmed inputs / Inconclusive inputs / Required next skill / Stop condition) is at the end of this file under "Handoff to other skills".
Core procedure
Run in order. Grill load-bearing claims hard; leave trivia alone. Keep output proportional to the claims that actually decide the outcome.
1. Scope the target and triage by stakes
- Name the target (plan / claim / design / decision / PR / understanding / the agent's own plan) and the commitment at stake — what would
blessedactually authorize. - Decompose into claims and mark each: load-bearing (the target fails if it is false), high-stakes / irreversible, or minor. Only load-bearing and high-stakes claims are grilled hard. Grilling minor claims to look rigorous is the failure mode of the opposite vice.
2. Grill the most-decisive claim first (adaptive drill-down)
Take the single most-decisive claim and attack it with ONE sharp question at a time. State the agent's own recommended counter-position first (the anti-stall move — do not loop neutrally). Two question types are mandatory per load-bearing claim:
- Falsifier — "name the concrete observation that would make you abandon this; if the honest answer is 'nothing', it is a gap, not a blessing."
- Alternative hypothesis — "name two other explanations the same facts fit, and the one probe that distinguishes your story from theirs."
Prefer a disconfirming-probe question where an executed test exists ("what is the cheapest test whose FAILURE would kill this — have you run it, or only the checks you expected to pass?"). Cap to a few high-quality challenges per claim — demanding an exhaustive list backfires. The full question taxonomy (warrant, steelmanned rebuttal, outside-view/base-rate, premortem, meta) is in references/question-taxonomy.md.
3. Grade the answer — the flip rule
Grade each answer against the Iron Law's flip rule:
survived— only on new evidence or a defended rebuttal. NOT on confident-but-unverified reasoning, casual pushback, or re-assertion. A claim that genuinely withstands its challenge survives — say so and move on; do not re-litigate.narrowed— true only for a subset of inputs, versions, or paths (record the scope).defeated— counter-evidence or context sinks it.inconclusive— cannot be resolved in conversation; needs an executed probe → hand off (Step 4).
4. Hand off what conversation cannot settle
A challenge that needs an executed test, a current external fact, or code-intent analysis is not resolvable by talking. Emit the handoff (see "Handoff triggers") and mark the claim inconclusive until the other skill returns — do not bless around it.
5. Blessing — the terminal verdict
Rule on the whole target. The blessing is a fixed closed set; there is no "looks fine":
blessed— every load-bearing claimsurvived.blessed-narrowed— blessed within stated scope limits (some claimsnarrowed).blocked— a load-bearing claim wasdefeated; the target as stated cannot be blessed.unresolved gap— one or more load-bearing claims areinconclusive. The explicit gap list IS the deliverable.
A user override ("stop grilling, proceed") does not silently drop the gate: record the un-grilled claims as accepted-risk, not blessed.
Output format
Crucible
- Target:
- Load-bearing claims: L1..Ln (each marked load-bearing / high-stakes / minor)
Grilling (load-bearing claims only)
- L-001:
Falsifier asked: ->
Alternative asked: ->
Verdict: survived (new evidence: ) | narrowed (scope: ) | defeated () | inconclusive (needs: )
- L-002: ...
Verdict: blessed | blessed-narrowed (scope: ) | blocked (defeated: L-00x) | unresolved gap (open: L-00y)
Unresolved gaps / accepted-risk:
Handoff
-
Common drift modes and anti-patterns
The recurring ways a grill collapses — the softball grill (only confirmatory questions), caving under a confident-but-unverified rebuttal, nitpicking trivia instead of the load-bearing claim, blessing on plausibility, and stopping at "shared understanding" with no verdict — are in references/anti-patterns.md. Read it when the output starts to feel like agreeable Q&A rather than a graded verdict.
Worked example
A full grilling pass on a concrete target (a "switch the session store to fix slow login" plan), showing claim triage → falsifier + alternative → grade → blocked verdict with a gap list, is in references/worked-example.md. Read it when the steps feel abstract.
Handoff to other skills
When handing off, emit this standard block:
Handoff
- From skill: quaere-crucible
- Blocking question:
- Confirmed inputs:
- Inconclusive inputs:
- Required next skill:
- Stop condition:
- A challenge needs an executed disconfirming probe →
quaere-evidencewith the claim and the probe as its disconfirming probe. - A challenge rests on an external, version-sensitive fact →
quaere-groundingwith the unconfirmed claim and the local version anchor. - A challenge needs code intent / invariants understood →
quaere-semantic. - The target is blessed and building is authorized →
quaere-execution/planwith the blessed claims and the gap list as success criteria. - An independent second-model counter-argument is wanted →
cross-check.
deep-interview and cross-check are external companion skills (not part of quaere); route to them only when they are installed.
Crucible ends at a verdict ledger. It does not build, and it does not bless a target whose load-bearing claims it could not actually defend.
Stop condition
The skill is complete when:
- Every load-bearing claim carries a Verdict (
survived/narrowed/defeated/inconclusive) and the target carries a terminal Blessing (blessed/blessed-narrowed/blocked/unresolved gap) — not "shared understanding", not user disengagement, not exhaustion. - Every load-bearing claim received at least one disconfirming (not merely confirmatory) question, and the two mandatory types (falsifier, alternative) were asked.
- No
survivedwas granted on confident-but-unverified pushback, casual feedback, or re-assertion — only on new evidence or a defended rebuttal. - No approval / "looks good" was emitted while any load-bearing claim is
defeatedor an unresolved gap; when blessing is withheld, the explicit gap list is the deliverable. - A user override is recorded as
accepted-risk, never silently dropped.
Do not keep grilling once every load-bearing claim has a verdict and the target has a ruling. More questions past that point is the manufacturing-doubt vice, not rigor. A claim that withstood its challenge must be allowed to stand.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: haru0416-dev
- Source: haru0416-dev/quaere
- License: MIT
- Homepage: https://quaere.dev
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.