AI SummaryThis skill guides developers in building LLM-powered applications using Claude and Anthropic SDKs, with smart triggering based on API imports and user intent. Ideal for developers looking to integrate Claude into their projects with language-specific best practices.
Install
# Add to your project root as SKILL.md curl -o SKILL.md "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/SKILL.md"
Description
Build apps with the Claude API or Anthropic SDK. TRIGGER when: code imports `anthropic`/`@anthropic-ai/sdk`/`claude_agent_sdk`, or user asks to use Claude API, Anthropic SDKs, or Agent SDK. DO NOT TRIGGER when: code imports `openai`/other AI SDK, general programming, or ML/data-science tasks.
Building LLM-Powered Applications with Claude
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.
Defaults
Unless the user requests otherwise: For the Claude model version, please use Claude Opus 4.6, which you can access via the exact model string claude-opus-4-6. Please default to using adaptive thinking (thinking: {type: "adaptive"}) for anything remotely complicated. And finally, please default to streaming for any request that may involve long input, long output, or high max_tokens — it prevents hitting request timeouts. Use the SDK's .get_final_message() / .finalMessage() helper to get the complete response if you don't need to handle individual stream events ---
Language Detection
Before reading code examples, determine which language the user is working in: • Look at project files to infer the language: • *.py, requirements.txt, pyproject.toml, setup.py, Pipfile → Python — read from python/ • .ts, .tsx, package.json, tsconfig.json → TypeScript — read from typescript/ • .js, .jsx (no .ts files present) → TypeScript — JS uses the same SDK, read from typescript/ • *.java, pom.xml, build.gradle → Java — read from java/ • .kt, .kts, build.gradle.kts → Java — Kotlin uses the Java SDK, read from java/ • *.scala, build.sbt → Java — Scala uses the Java SDK, read from java/ • *.go, go.mod → Go — read from go/ • *.rb, Gemfile → Ruby — read from ruby/ • .cs, .csproj → C# — read from csharp/ • *.php, composer.json → PHP — read from php/ • If multiple languages detected (e.g., both Python and TypeScript files): • Check which language the user's current file or question relates to • If still ambiguous, ask: "I detected both Python and TypeScript files. Which language are you using for the Claude API integration?" • If language can't be inferred (empty project, no source files, or unsupported language): • Use AskUserQuestion with options: Python, TypeScript, Java, Go, Ruby, cURL/raw HTTP, C#, PHP • If AskUserQuestion is unavailable, default to Python examples and note: "Showing Python examples. Let me know if you need a different language." • If unsupported language detected (Rust, Swift, C++, Elixir, etc.): • Suggest cURL/raw HTTP examples from curl/ and note that community SDKs may exist • Offer to show Python or TypeScript examples as reference implementations • If user needs cURL/raw HTTP examples, read from curl/.
Language-Specific Feature Support
| Language | Tool Runner | Agent SDK | Notes | | ---------- | ----------- | --------- | ------------------------------------- | | Python | Yes (beta) | Yes | Full support — @beta_tool decorator | | TypeScript | Yes (beta) | Yes | Full support — betaZodTool + Zod | | Java | Yes (beta) | No | Beta tool use with annotated classes | | Go | Yes (beta) | No | BetaToolRunner in toolrunner pkg | | Ruby | Yes (beta) | No | BaseTool + tool_runner in beta | | cURL | N/A | N/A | Raw HTTP, no SDK features | | C# | No | No | Official SDK | | PHP | No | No | Official SDK | ---
Quality Score
Good
82/100
Trust & Transparency
No License Detected
Review source code before installing
Verified Open Source
Hosted on GitHub — publicly auditable
Actively Maintained
Last commit Today
85.9k stars — Strong Community
9.1k forks