Skip to content
Development
Command

/craft-research-verify

Verify existing research findings against independent primary sources. Upgrades confidence from 'sources agree' to 'independently verified.'

From plugin
4031 skills27 agents31 commands7 hooks1 MCP
shell
$ npx -y skills add drobins25/craft --agent claude-code

Ships with craft. Installing the plugin gets this command.

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/craft-research-verify

Context preview

What this command does when you run it.

Verify existing research findings against independent primary sources. Upgrades confidence from 'sources agree' to 'independently verified.'

Command definition

craft-research-verify.md
name: research-verify
description: "Verify existing research findings against independent primary sources. Upgrades confidence from 'sources agree' to 'independently verified.'"
argument-hint: "[topic-slug]"

Research Verify

Verify existing research by challenging claims against independent primary sources. This is NOT "go deeper" - it's adversarial validation. The goal is to confirm or refute what the research already says.

Project Root

Use `$CRAFT_PROJECT_ROOT` (set at session start) as the base path for all `.craft/` references. If not set, resolve by walking up from PWD to find the nearest `.craft/.global-state`.

Set `PROJECT` to `${CRAFT_PROJECT_ROOT:-.}`.

Flow

Step 1: Select Topic

**If args contain a topic slug** that matches a folder in `$PROJECT/.craft/research/`: -> Use that topic. Jump to **Step 2**.

**If no args or no match:** Use **Glob** with pattern `$PROJECT/.craft/research/*/_plan.md` to find all topics.

For each, use **Read** with `limit: 15` to get frontmatter. Only show topics with `status: complete`.

Use **AskUserQuestion** to pick a topic.

Step 2: Extract Findings

Read the topic's `_plan.md` in full.

Use **Glob** to find all branch files: `$PROJECT/.craft/research/{topic-slug}/[0-9]*.md`

For each branch file, use **Read** to extract:

  • All `### Finding N: {title}` entries
  • Their `**Confidence:**` level (HIGH/MEDIUM/LOW)
  • Their `**Sources:**` references

Build a findings list:

| # | Branch | Finding | Confidence | Sources |
|---|--------|---------|------------|---------|
| 1 | 02-claude-code-ecosystem | PostToolUse payload uses tool_response not tool_output | HIGH | [1][2] |
| 2 | 02-claude-code-ecosystem | AskUserQuestion answers live in tool_input | HIGH | [1][2][3] |
| 3 | 01-multi-agent-frameworks | OpenHands dominates at 70.9K stars | MEDIUM | [1] |
...

Also check for existing `verification-*.md` files - mark already-verified findings so the user doesn't re-verify them.

Step 3: Choose Verification Mode

Present the findings table to the user, then ask how they want to verify.

Use **AskUserQuestion**:

question: "How should I verify these {N} findings?"
header: "Verification Mode"
options:
  - label: "Source verification"
    description: "Check claims against independent primary sources (verifier agents)"
  - label: "Practitioner review"
    description: "Challenge claims from practical experience - catches 'true in docs, wrong in practice'"
  - label: "Both passes"
    description: "Source verification first, then practitioner review on the results"
  - label: "Cancel"
    description: "Back out"

**If "Source verification"** -> Jump to **Step 3b** (select findings), then **Step 4** (verifiers). **If "Practitioner review"** -> Jump to **Step 4b** (practitioner reviewer). **If "Both passes"** -> Jump to **Step 3b** (select findings), then **Step 4** (verifiers), then **Step 4b** (practitioner reviewer on results). **If "Cancel"** -> End. **If custom text** -> Interpret.

Step 3b: Select Findings (for source verification)

Use **AskUserQuestion**:

question: "Which findings should I verify against sources?"
header: "Findings"
options:
  - label: "All high-confidence"
    description: "Verify all HIGH confidence findings ({N} findings) - these are most dangerous if wrong"
  - label: "All unverified"
    description: "Verify everything not yet verified ({N} findings)"
  - label: "Pick specific findings"
    description: "Choose which ones to verify"

**If "All high-confidence"** -> Filter to HIGH confidence findings. Jump to **Step 4**. **If "All unverified"** -> Filter to findings without existing verification files. Jump to **Step 4**. **If "Pick specific"** -> Show numbered list, let user pick by number or description. Jump to **Step 4**. **If custom text** -> Interpret (e.g., "verify findings 1, 3, and 7", "verify everything from branch 02").

Step 4: Spawn Verification Researchers

For each selected finding, spawn a **researcher agent** in parallel:

subagent_type: "craft:verifier"
description: "Verify: {short finding title}"
prompt: |
  ## Your Assignment

  **Claim to verify:** "{exact finding text from branch file}"
  **Original sources cited:** {list of sources from the finding}
  **Branch file:** {path to branch file} (Finding {N})
  **Write your verification to:** {$PROJECT/.craft/research/{topic-slug}/verification-{finding-slug}.md}

**Launch ALL verification agents simultaneously.**

Step 4b: Practitioner Review

Spawn a single **practitioner-reviewer** agent. This agent reads all claims (or all verified claims if running after Step 4) and challenges them from practical experience.

subagent_type: "craft:practitioner-reviewer"
description: "Practitioner review: {topic}"
prompt: |
  ## Your Assignment

  **Topic:** {topic name}
  **Research folder:** {$PROJECT/.craft/research/{topic-slug}/}
  **Branch files to read:** {list of branch file paths}
  **Verification files (if any):** {list of verification file paths, or "none - this is the first pass"}
  **Write your review to:** {$PROJECT/.craft/research/{topic-slug}/practitioner-review.md}

  Read all branch files and any verification files. Review every claim from a
  practitioner perspective. Flag anything that doesn't match how these tools
  actually work in practice.

After the agent completes, read `practitioner-review.md` frontmatter to get flag counts.

**If running in "Both passes" mode:** Update any verification files where the practitioner flagged a CONFIRMED claim - add `practitioner_flag: true` to the verification file's frontmatter. These claims show as FLAGGED_BY_PRACTITIONER in the results table.

Step 5: Verification File Format

Each verification agent writes using this format:

---
topic: "{topic-slug}"
branch: "{branch-file-name}"
finding: "Finding {N}"
finding_title: "{finding title}"
verdict: CONFIRMED | REFUTED | PARTIALLY_TRUE | UNVERIFIABLE
original_confidence: {HIGH|MED
Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withcraft

Stop Vibing. Start Crafting. Claude Code plugin: guided + controlled development orchestration harness with built-in workflow + state management, for designing + building durable, production-ready software through the entire product lifecycle - new projects

Get the whole plugin, auto-invoked
Stats
40
Stars
0
Views
5
Forks
Active
Maintenance
Shell
Language
MIT
License
2d ago
Last commit
3mo ago
Created

Repo: drobins25/craft