Plugin Doubt Gate — Development skill for Claude Code
Claude Code Stop hook plugin that detects uncertainty in assistant messages and requests verification.
How to install Plugin Doubt Gate
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open johnlindquist/plugin-doubt-gate and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Plugin Doubt Gate does
Claude Code Stop hook plugin that detects uncertainty in assistant messages and requests verification.
Alternatives in Development
- Analyze Feature Requests — Prioritize feature requests by theme, impact, effort, and risk 7.8k ★
- Harness Improvement — Update Kandev harness files from session learnings or explicit cross-platform harness requests 697 ★
- Stop Review Gate — You are reviewing uncommitted changes before the author finishes their turn 664 ★
README
doubt-gate
A Claude Code **Stop hook plugin** that detects uncertainty in assistant messages. When doubt keywords (`likely`, `maybe`, `might`, `probably`, etc.) appear outside of code blocks and blockquotes, the hook blocks the stop and instructs the agent to add logging, assertions, or other verification before concluding.
This ensures the agent provides concrete evidence rather than speculation.
How it works
Claude Code pipes a JSON payload to stdin on every Stop event. doubt-gate:
- Strips fenced code blocks, inline code, and blockquotes from the assistant's last message
- Scans the remaining prose for doubt keywords
- If matches are found, prints
{"decision":"block","reason":"..."}to stdout — Claude Code re-enters the conversation and must verify its claims - If no matches are found, exits silently — Claude Code stops normally
A `stop_hook_active` guard prevents infinite loops: if the hook already fired once for the current turn, the stop is always allowed through.
Detected keywords
`likely`, `maybe`, `might`, `probably`, `possibly`, `not sure`, `not certain`, `uncertain`, `unclear`, `could be`, `appears to`, `seems like`, `I think`, `I believe`, `I suspect`, `it's possible`, `hard to say`
Requirements
- Node.js >= 18 (the hook runs via
node, notbun) - Claude Code with plugin support (
--plugin-dirflag)
Install
Option 1: Clone and use directly
git clone doubt-gate
claude --plugin-dir ./doubt-gate
Option 2: Copy into your plugins directory
cp -r doubt-gate ~/.claude/plugins/doubt-gate
Then start Claude Code with:
claude --plugin-dir ./doubt-gate
The plugin registers itself as a Stop hook automatically via `.claude-plugin/plugin.json` and `hooks/hooks.json`.
Environment variables
| Variable | Values | Default | Description |
|---|---|---|---|
DOUBT_GATE_LOG_LEVEL |
off, info, debug |
off |
Controls structured JSON log output |
| `DOUBT_GAT |
Related Skills
Taskmaster
Stop hook for Claude Code that keeps the agent working until all plans and user requests are 100% complete
Doubt
Gate 2 (Assent) on demand — interrogate a claim
Claude Codex Nebius Proxy
A Claude Code + Codex CLI → Nebius bridge. Accepts Claude /v1/messages and Codex /v1/responses requests, conve
Inception Mercury Compaction
Universal context compaction tool for CLI coding agents (Claude Code, Codex CLI, OpenCode, Mistral Vibe). Dete
Openehr Explain
One-stop router that explains or looks up any openEHR thing — auto-detects an archetype, a template, an RM/AM/
Runner Down
Stop an agent-runner slot. Auto-detects whether it was launched via runner-autostart.py register and routes to
Related Agents
Fe Build Fixer
Build/type/compile error-fixing specialist. Resolves errors with minimal changes only, no architectural change
Navigator
Boyko Agent — proactive discovery assistant. Maps goals to the repository's methodology and skill catalog usin
Galadriel
Fresh-context GATE evaluator for work declared finished. Binary PASS / NEEDS_WORK, no benefit of the doubt wit