# Claude Official Skill: claude-api > 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, o... ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use ```bash # Install via Claude Code claude skill install anthropics/skills/claude-api ``` Or manually: copy the SKILL.md content below to `.claude/skills/claude-api/SKILL.md` --- ## Intro 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, o.... Official skill from [Anthropic's skills repository](https://github.com/anthropics/skills) — maintained by the Claude Code team. **Works with**: Claude Code, GitHub Copilot --- ## Skill Content # 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: 1. **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/` 2. **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?" 3. **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." 4. **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 5. **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 | Yes (beta) | No | `BetaRunnableTool` + `toolRunner()` | --- ## Which Surface Should I Use? > **Start simple.** Default to the simplest tier that meets your needs. Single API calls and workflows handle most use cases — only reach for agents when the task genuinely requires open-ended, model-driven exploration. | Use Case | Tier | Recommended Surface | Why | | ----------------- --- ### FAQ **Q: What is Claude Official Skill: claude-api?** A: 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, o... **Q: How do I install Claude Official Skill: claude-api?** A: Check the Quick Use section above for step-by-step installation instructions. Most assets can be set up in under 2 minutes. ## Source & Thanks > Created by [Anthropic](https://github.com/anthropics). Licensed under MIT. > [anthropics/skills](https://github.com/anthropics/skills) --- Source: https://tokrepo.com/en/workflows/2be86b66-71f9-49bc-ae43-fdba086f79ea Author: Skill Factory