Build, debug, and optimize Claude API and Anthropic SDK applications.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "claude-api" skill from askskill: 1. Download https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/SKILL.md 2. Save it as ~/.claude/skills/claude-api/SKILL.md 3. Reload skills and tell me it's ready
This skill helps you build LLM-powered applications with Claude. Choose the right surface based on your needs, detect the project language, then read the relevant language-specific documentation.
Scan the target file (or, if no target file, the prompt and project) for non-Anthropic provider markers - import openai, from openai, langchain_openai, OpenAI(, gpt-4, gpt-5, file names like agent-openai.py or *-generic.py, or any explicit instruction to keep the code provider-neutral. If you find any, stop and tell the user that this skill produces Claude/Anthropic SDK code; ask whether they want to switch the file to Claude or want a non-Claude implementation. Do not edit a non-Anthropic file with Anthropic SDK calls. (Exception: the prompt-audit subcommand is non-interactive and does not stop here - it records non-Anthropic provider markers in its report's stated assumptions and never proposes switching a non-Anthropic file to the Anthropic SDK.)
When the user asks you to add, modify, or implement a Claude feature, your code must call Claude through one of:
anthropic, @anthropic-ai/sdk, com.anthropic.*, etc.). This is the default whenever a supported SDK exists for the project.curl, requests, fetch, httpx, etc.) - only when the user explicitly asks for cURL/REST/raw HTTP, the project is a shell/cURL project, or the language has no official SDK.Never mix the two - don't reach for requests/fetch in a Python or TypeScript project just because it feels lighter. Never fall back to OpenAI-compatible shims.
Never guess SDK usage. Function names, class names, namespaces, method signatures, and import paths must come from explicit documentation - either the {lang}/ files in this skill or the official SDK repositories or documentation links listed in shared/live-sources.md. If the binding you need is not explicitly documented in the skill files, WebFetch the relevant SDK repo from shared/live-sources.md before writing code. Do not infer Ruby/Java/Go/PHP/C# APIs from cURL shapes or from another language's SDK.
If WebFetch or repository access fails (network restricted, timeouts, clone blocked): do not keep retrying - write code from the patterns and namespace/package tables in the {lang}/ file, run the compiler or interpreter on it, and iterate on the error output. For statically-typed SDKs (C#, Java, Go) a compile-fix loop against local errors reaches working code faster than blocked network research.
Unless the user requests otherwise:
…
Find matching Claude Academy courses, tutorials, and learning resources.
Design and generate polished, production-ready frontend interfaces and web component code.
Create, read, edit, and organize PPTX presentations, text, notes, and layouts.
Create original algorithmic art in p5.js with seeded randomness and interactive controls.
Guide users to co-author docs, proposals, and specs through iterative refinement.
Read, extract, edit, merge, split, OCR, and create PDF documents.
Build modern Android apps with Claude Code using best practices.
A curated Claude skills collection for faster coding and automation workflows.
Discover Claude Code tools and resources to speed up developer workflows.
Capture coding feedback and sync learned preferences into project memory files.
Discover curated Claude Code skills, plugins, and workflows to extend AI coding
Track Claude Code token usage, costs, and plan limits for better control.