rubenzarroca/sdd-plugin/sdd-api-docs
- community
Checking that the SKILL.md file is still in the repository.
Fetch, read, and cache external API documentation before planning or implementing integrations. Use when the user says 'fetch api docs', 'cache api', 'api-docs', 'document external api', or when /sdd:plan detects external services without cached docs. Prevents Claude from assuming API behavior based on training data.
Install
npx vskill@latest install rubenzarroca/sdd-plugin/sdd-api-docsSKILL.md
/sdd:api-docs — Fetch and cache external API documentation
You are fetching real documentation for an external API/service and caching it locally so that all downstream SDD commands (plan, implement) use verified API contracts instead of assumptions from training data.
Why this exists: Claude's training data may contain outdated, incomplete, or incorrect API documentation. When building integrations, this causes code that looks correct but fails at deploy time. This skill forces a documentation-first approach: read the real docs, cache them locally, and use them as the single source of truth.
Step 1: Parse arguments
Parse from $ARGUMENTS:
- Service name (required): kebab-case identifier (e.g.,
stripe,bigquery,holded-api) - Docs URL (optional): direct URL to the API documentation
If no service name is provided, ask: "Which external service do you need to document? Give me the name and optionally the URL to its API docs."
Step 2: Check for existing cache
Check if .sdd/api-docs/{service-name}.json already exists by calling sdd_api_list with the service name.
If it exists, report:
- When it was fetched (
fetched_at) - How many endpoints are cached
- Ask: "Documentation for
{service}is already cached (fetched {date}). Do you want to refresh it or keep the current version?"
If the user wants to keep it, stop.
Step 3: Locate documentation
If a docs URL was provided:
Use WebFetch to read the documentation page. If the page is large or paginated, fetch the most relevant sections:
- Authentication / Authorization
- API reference / Endpoints
- Rate limits
- Error codes
- SDKs / Libraries
If no URL was provided:
Use WebSearch to find the official API documentation:
- Search:
"{service-name}" API documentation site:docs OR site:developer - Identify the official documentation site (prefer official docs over third-party tutorials)
- Use
WebFetchon the official docs pages
Multi-page documentation:
Most API docs span multiple pages. Follow this strategy:
- Fetch the main API reference/overview page first
- Identify the endpoints relevant to the project (cross-reference with the feature spec if one exists in
.sdd/state.json) - Fetch individual endpoint documentation pages as needed
- Stop when you have enough detail for the endpoints the project will actually use — do NOT try to document the entire API
Step 4: Extract and structure
From the fetched documentation, extract and organize into this structure:
Extraction rules:
- Request/response shapes must come from the docs, not from memory. If the docs show a field called
amount_in_cents, use that — do not normalize toamount. The whole point is to capture the real API contract.
- Include all error codes documented. Error handling is where assumptions cause the most deploy failures.
- Capture auth details precisely. Token format, required headers, scopes, API key placement (header vs query param) — these details matter.
- Rate limits matter for architecture. If the docs mention rate limits, capture them. They affect retry logic, caching decisions, and queue design.
- Only document endpoints the project needs. If the feature spec exists, cross-reference it. A project using Stripe for payments doesn't need the Stripe Connect endpoints documented.
- When the docs are ambiguous or unclear, note it in the
notesfield rather than guessing. Example:"notes": "Docs unclear on whether pagination is cursor-based or offset-based. Verify with a test call."
Step 5: Save the cache
Ensure .sdd/api-docs/ directory exists. Save the structured JSON to .sdd/api-docs/{service-name}.json.
Step 6: Verify with MCP
Call sdd_api_list with the service name to verify the cache was saved correctly. Report:
Step 7: Show endpoint index
List all cached endpoints in a compact table:
Ask: "Are these the endpoints you'll need, or should I fetch docs for additional ones?"
If the user requests additional endpoints, go back to Step 3 targeting those specific endpoints, then merge into the existing cache file.
Restrictions
- Do NOT invent or assume API details. Every field in the output must come from the fetched documentation. If something isn't in the docs, leave it as
nullor omit it — never fill it from training data. - Do NOT modify any project source code. This command produces only the cache file.
- Do NOT read project source code. Only read state.json (to cross-reference feature specs) and the external documentation.
- Context budget: the fetched docs may be large. Extract what's needed and discard the rest. The structured JSON is the deliverable, not a copy of the full docs.
- If WebFetch fails (e.g., docs behind auth wall, CORS issues), report clearly: "Could not fetch docs from {url}. You may need to provide the documentation manually. Create
.sdd/api-docs/{service}.jsonwith the structure shown above, or paste the relevant docs and I'll structure them for you."
$ARGUMENTS
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/sdd-api-docs/SKILL.md
Popularity
- Repository stars
- 6
- 7-day trend score
- 10
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/rubenzarroca/sdd-plugin/sdd-api-docs)