serpro69/claude-toolbox-chain-of-verification
| Apply Chain-of-Verification (CoVe) prompting to improve response accuracy through self-verification. Use when complex questions require fact-checking, technical accuracy, or multi-step reasoning.
npx skills add https://github.com/serpro69/claude-toolbox --skill chain-of-verification
<!-- codex: tool-name mapping applied. See .codex/scripts/session-start.sh -->
CoVe is a verification technique that improves response accuracy by making the model fact-check its own answers. Instead of accepting an initial response at face value, CoVe instructs the model to generate verification questions, answer them independently, and revise the original answer based on findings.
Capy restriction: CoVe is a read-only verification tool. Do NOT call capy_index or capy_fetch_and_index during this workflow. Use capy_search only. If corrections reveal knowledge worth persisting, the calling agent handles indexing after CoVe completes.
CoVe adds the most value in these scenarios:
Precision-required questions:
Complex reasoning:
Fact-checking scenarios:
High-stakes accuracy:
Self-correction triggers:
> Note: These heuristics can be copied to your project's CLAUDE.md if you want Claude to auto-invoke CoVe for matching scenarios. By default, CoVe requires manual invocation to give you control over when to invest additional tokens/time for verification.
CoVe offers two verification modes to balance accuracy vs. cost:
$kk:chain-of-verification)Uses prompt-based isolation within a single conversation turn.
See chain-of-verification-process.md for the standard workflow.
$kk:chain-of-verification:isolated)Uses Claude Code's Task tool to spawn isolated sub-agents for true factored verification.
Sub-agent customization flags:
| Flag | Effect |
|------|--------|
| --explore | Use Explore agent for codebase verification |
| --haiku | Use haiku model for faster/cheaper verification |
| --agent=<name> | Use custom agent type |
See chain-of-verification-isolated.md for the isolated workflow.
| Use Case | Recommended Mode |
| --------------------------- | --------------------------------------------------------------------------- |
| Quick fact-checking | $kk:chain-of-verification |
| High-stakes accuracy | $kk:chain-of-verification:isolated |
| Codebase verification | $kk:chain-of-verification:isolated --explore |
| Cost-sensitive verification | $kk:chain-of-verification or $kk:chain-of-verification:isolated --haiku |
Mandatory order — questions before verification. The flow below is strictly sequential. Do not answer verification questions, consult external sources, or revise the original response until you have generated the full initial response and formulated all verification questions. Jumping to verification before questions are fully formed collapses the independence that makes CoVe effective.
capy_search if needed. In isolated mode, sub-agents handle this step.See chain-of-verification-process.md for the standard workflow, or chain-of-verification-isolated.md for the isolated sub-agent workflow.
Use the $kk:chain-of-verification skill followed by your question:
$kk:chain-of-verification What is the time complexity of Python's sorted() function?
Or invoke $kk:chain-of-verification after receiving a response to verify it.
For isolated verification with sub-agents:
$kk:chain-of-verification:isolated What is the time complexity of Python's sorted() function?
With flags:
$kk:chain-of-verification:isolated --explore How does the auth system work?
$kk:chain-of-verification:isolated --haiku What year was TCP standardized?
Claude should recognize these phrases as requests to invoke the CoVe skill:
For isolated mode:
> Important: This is guidance for manual recognition only. Auto-trigger is NOT implemented by default per design goals. Users who want automatic CoVe invocation for certain scenarios can add the heuristics from "When to Use This Skill" to their project's CLAUDE.md.
Take serpro69/claude-toolbox-chain-of-verification from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.