LLM Skills
~/catalog/full-stack//SKILL
Full-stackGitHub source

Building LLM Powered Applications with Claude

/SKILL

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.

anthropicsanthropics
169.8k
May 29, 2026
// skill content

--- name: claude-api description: "Build, debug, and optimize Claude API / Anthropic SDK apps. Apps built with this skill should include prompt caching. Also handles migrating existing Claude API code between Claude model versions (4.5 → 4.6, 4.6 → 4.7, retired-model replacements). TRIGGER when: code imports anthropic/@anthropic-ai/sdk; user asks for the Claude API, Anthropic SDK, or Managed Agents; user adds/modifies/tunes a Claude feature (caching, thinking, compaction, tool use, batch, files, citations, memory) or model (Opus/Sonnet/Haiku) in a file; questions about prompt caching / cache hit rate in an Anthropic SDK project. SKIP: file imports openai/other-provider SDK, filename like *-openai.py/*-generic.py, provider-neutral code, general programming/ML." license: Complete terms in LICENSE.txt --- # 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. ## Before You Start 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. ## Output Requirement When the user asks you to add, modify, or implement a Claude feature, your code must call Claude through one of: 1. The official Anthropic SDK for the project's language (anthropic, @anthropic-ai/sdk, com.anthropic.*, etc.). This is the default whenever a supported SDK exists for the project. 2. Raw HTTP (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. ## Defaults Unless the user requests otherwise: For the Claude model version, please use Claude Opus 4.8, which you can access via the exact model string claude-opus-4-8. 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 --- ## Subcommands If the User Request at the bottom of this prompt is a bare subcommand string (no prose), search every Subcommands table in this document : including any in sections appended below : and follow the matching Action column directly. This lets users invoke specific flows via /claude-api <subcommand>. If no table in the document matches, treat the request as normal prose. --- ## 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, PipfilePython : read from python/ - *.ts, *.tsx, package.json, tsconfig.jsonTypeScript : read from typescript/ - *.js, *.jsx (no .ts files present) → TypeScript : JS uses the same SDK, read from typescript/ - *.java, pom.xml, build.gradleJava : read from java/ - *.kt, *.kts, build.gradle.ktsJava : Kotlin uses the Java SDK, read from java/ - *.scala, build.sbtJava : Scala uses the Java SDK, read from java/ - *.go, go.modGo : read from go/ - *.rb, GemfileRuby : read from ruby/ - *.cs, *.csprojC# : read from csharp/ - *.php, composer.jsonPHP : 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 Typ

// original public source
anthropics/skills
/skills/claude-api/SKILL.md
License: License not specified. Review the repository before reusing it.
Independent project, not affiliated with Anthropic. This skill remains the property of its original author.
// install this skill
Paste this command in your terminal at the root of your project:
mkdir -p .claude/commands && curl -o ".claude/commands/SKILL.md" "https://raw.githubusercontent.com/anthropics/skills/main/skills/claude-api/SKILL.md"
Then in Claude Code, type /SKILL to activate it.
open_in_newOpen original source
// save
Save available after sign in.
loginSign in to save
// information
Creatoranthropics
Stars 169.8k
CategoryFull-stack
UpdatedMay 29, 2026
Format.md
AccessFree
// similar

Skills Full-stack

View allarrow_forward