From research-toolkit
Pre-flight verification checklist for research tasks. Use DURING research when gathering information about external systems, APIs, registries, or configurations. Prevents assumptions from becoming errors. Apply before finalizing plans or documentation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/research-toolkit:research-verificationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A systematic approach to verifying assumptions made during research. Prevents costly errors from unverified information.
A systematic approach to verifying assumptions made during research. Prevents costly errors from unverified information.
Trust but verify: Every assumption is a potential failure point. Verification takes minutes; debugging takes hours.
Before referencing external resources, verify they exist:
| Resource Type | Verification Method |
|---|---|
| Container registry | curl -s -o /dev/null -w "%{http_code}" https://ghcr.io/v2/org/repo/tags/list |
| npm package | npm view <package> version |
| GitHub repo | gh repo view owner/repo or WebFetch the URL |
| API endpoint | curl -I https://api.example.com/health |
| Documentation page | WebFetch with existence check |
Pattern:
Before: "The image is available at ghcr.io/org/repo"
After: "Verified: ghcr.io/org/repo exists (or: not published, build from source)"
When documenting configuration:
| Confidence Level | Criteria | Action |
|---|---|---|
| ✅ High | Found in official docs with examples | Document directly |
| ⚠️ Medium | Inferred from source code or patterns | Mark as "verify during implementation" |
| ❌ Low | Guessed based on similar systems | Mark as "unverified - may not work" |
Pattern:
> [!warning] Confidence: Medium
> This configuration option was inferred from [source]. Verify before use.
External systems change. Verify currency:
Never assume environment details:
| Assumption | Verification |
|---|---|
| Network names | Ask user or check existing configs |
| Domain names | Ask user explicitly |
| File paths | Ask user for conventions |
| Auth methods | Ask user for preferences |
Pattern:
Wrong: "Add to the traefik network"
Right: "What is your Traefik network name?" → "Add to the `proxy` network"
When connecting systems:
□ Does it exist? (fetch/curl)
□ What version? (pin it)
□ Official docs? (link them)
□ Confidence level? (mark it)
□ Environment details confirmed with user?
□ Inferred configs marked with confidence?
□ Validation steps included?
□ Fallback options documented?
| Anti-Pattern | Problem | Better Approach |
|---|---|---|
| "The registry has the image" | May not exist | Verify with HTTP request |
| "Use the default network" | User may have custom setup | Ask for network name |
| "This config option does X" | May be inferred incorrectly | Mark confidence level |
| "Just run this command" | May fail silently | Add validation step |
Use alongside:
Version: 1.0.0 Created: 2025-01-20 Origin: Session retrospective finding - registry assumption failure
npx claudepluginhub swannysec/robot-tools --plugin research-toolkitEnforces mandatory pre-action verification checkpoints before Bash, Write, Edit to align actions with verified hypotheses and block mismatches.
Validates factual claims in code reviews, system analysis, documentation, and test reports using tools; prohibits superlatives and unverified metrics.
Systematically gathers accurate, version-specific documentation before implementing libraries or APIs. Uses structured 5-step methodology for source prioritization, retrieval, verification, and citation.