Use when writing, editing, or refactoring code that calls any third-party SDK, API, or library; installing or importing external packages; debugging when an API call returns success but the expected side-effect doesn't happen; hitting 4xx errors from an external API; or when something 'doesn't work' and the code involves an external service.
60
70%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./SKILL.mdBefore writing or debugging ANY code that touches an external package or API, fetch the real documentation first. Training data is stale — the docs are the only source of truth for current API contracts, parameter shapes, and SDK method signatures.
Before proceeding, confirm none of these apply:
If any apply → complete the Mandatory Steps below before writing a single line of code.
This skill triggers on any of the following — load it BEFORE doing anything else:
npm install, pip install, brew install)try/catch is swallowing errors and you need to understand what the API actually expects# What's installed?
cat node_modules/<pkg>/package.json | grep '"version"'
# or: pip show <pkg> | grep Version
# What's latest?
npm info <pkg> version
# or: pip index versions <pkg>If 1+ major versions behind, read the changelog/migration guide before writing code — current docs may not match the installed version.
Context7 (preferred for popular libraries):
resolve-library-id → query-docs with specific endpoint/method questionWeb fetch (WebFetch in Claude Code, fetch_webpage in Copilot, or your agent's equivalent):
Fetch the official API reference page for the specific endpoint or method being usedDeepWiki (if available):
Fetch from deepwiki.com for GitHub-based packagesDo NOT skip this step. Do NOT write integration code from memory. Do NOT diagnose failures from memory.
Check for mismatches:
| Pattern | What Happens | Root Cause |
|---|---|---|
| 200 OK Trap | API returns success, but resource is orphaned/invisible | Deprecated parameter silently ignored — new replacement exists in docs |
| Wrong Diagnosis | Multiple fix attempts blame infrastructure | SDK expects a specific value format (wrapper, factory, class instance) that differs from the plain value |
| Pattern | Risk |
|---|---|
| Writing API code from memory | Parameters may not exist anymore |
| Diagnosing API failures from memory | You'll guess wrong and waste turns on fake fixes |
| Guessing infrastructure issues before checking API contract | The problem is usually in how you call the API, not the environment |
catch (e) { return { success: true } } | Hides failures completely |
catch (e) { logger.error(e) } with no rethrow or user feedback | Failure is logged but invisible to debugging flow |
if (CONFIG) { callAPI() } with no else-log | Silent skip when config is missing |
| Passing extra params API won't reject | Silently ignored, feature broken |
| Trusting 200 + valid response body = success | Resource may exist but be orphaned/invisible |
| Verifying only the API response, not the downstream system | Missed side effects go undetected |
| Passing a plain value when the SDK expects a wrapped/constructed type | SDKs often require specific constructors, factory methods, or wrapper objects — not raw values |
User reports bug with external service
│
├─ Is there a try/catch swallowing the error?
│ └─ YES → Temporarily log the full error BEFORE guessing
│
├─ Does the API return success but side-effect is missing?
│ └─ YES → FETCH DOCS FIRST. Do NOT guess the cause.
│ Compare exact parameter shapes, types, and values
│ against what the docs specify.
│
└─ Is the error a 4xx?
└─ YES → FETCH DOCS. Check which parameters are valid
for the current SDK version.scripts/check_versions.pyAutomated version checker for npm and pip packages. Run it to quickly identify outdated dependencies:
# Check a single npm package
python3 scripts/check_versions.py npm resend
# Check all package.json dependencies
python3 scripts/check_versions.py npm --all
# Check a pip package
python3 scripts/check_versions.py pip requestsreferences/doc-urls.mdQuick-reference table of official API documentation and changelog URLs for 30+ popular packages (email, payments, AI, databases, auth, cloud, analytics, frameworks). Consult this before searching — the correct URL may already be listed.
SKILL.md
d0f080b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.