This skill should be used when verifying facts before implementation, checking API compatibility, validating library versions exist and are up-to-date, confirming code patterns follow current best practices, or verifying external data accuracy. Triggered by phrases like [facts check], [is this API still supported], [verify this implementation], [check if this library version works], [avoid non-exist data field].
This skill inherits all available tools. When active, it can use any tool Claude has access to.
To verify facts, API compatibility, dependency versions, and code patterns before implementation. This skill prevents errors from outdated knowledge, deprecated APIs, non-existent package versions, or incorrect assumptions about external data.
Rule: If the target references codebase elements (modules, functions, data structures), verify against actual code. If it references external dependencies (libraries, APIs), verify with external sources. Often both are needed.
To verify a package version exists and is current:
Use Exa AI web_search_exa tool with query: "<package-name> <version> npm/pypi/crates.io"
Check for:
Use Exa AI get_code_context_exa tool with query: "<library> <method-name> usage examples"
Use Exa AI web_search_exa tool with query: "<framework> <pattern> best practices 2024 2025"
Use Exa AI crawling_exa tool on official API documentation URL
When the target references internal code elements, verify against actual codebase:
Use ast-grep for structural code verification - it matches actual code patterns, not text:
# Verify function/method exists with expected signature
ast-grep run -p 'function $FUNC($$$PARAMS) { $$$ }' -l javascript --json
ast-grep run -p 'def $FUNC($$$PARAMS):' -l python --json
# Verify method calls match expected API
ast-grep run -p '$OBJ.methodName($$$ARGS)' -l typescript --json
# Verify class/interface structure
ast-grep run -p 'interface $NAME { $$$ }' -l typescript --json
ast-grep run -p 'class $NAME { $$$ }' -l java --json
# Verify field declarations
ast-grep run -p '$TYPE $FIELD;' -l java --json
Use for simple searches, config files, or non-code files:
# Quick text searches
rg "<pattern>" src/ -m 3 | head -20
# Find files by name
fd "<filename>" src/
# Generate full codebase index if needed
bunx repomix ./
| Verification Task | Tool | Why |
|---|---|---|
| Function signatures | ast-grep | Avoids false positives from comments/strings |
| API method calls | ast-grep | Matches actual invocations, not mentions |
| Field/property names | ast-grep | Targets declarations, not variable usage |
| Config values | rg | Config files aren't code |
| File existence | fd | Fast file finding |
Verify:
After verification, report findings in this format:
## Facts Check Results
**Verified:** [item being checked]
**Status:** ✅ Confirmed / ⚠️ Outdated / ❌ Invalid
**Findings:**
- [Key finding 1]
- [Key finding 2]
**Recommendation:** [Action to take based on findings]
**Source:** [URL or reference used for verification]