Claude api
Agent skills, autonomous agents, and MCP-companions for programming
npx -y skills add DROOdotFOO/agent-skills --skill claude-apiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
4.5 KB, as published. Nobody here has run it
Building LLM-Powered Applications with Claude
Choose the right surface, detect the project language, read the relevant docs.
What You Get
- Language-detected SDK examples (Python, TypeScript, Go, Elixir, Rust, Lua, cURL)
- Decision tree: single call vs workflow vs agent vs Agent SDK
- Current model IDs, thinking/effort config, caching patterns
- Tool use patterns (tool runner, manual loop, code execution)
- Error taxonomy and live documentation URLs
Top Pitfalls (quick reference)
| Mistake | Fix |
|---|---|
Using budget_tokens on Opus 4.6 / Sonnet 4.6 | Use thinking: {type: "adaptive"} -- budget_tokens is deprecated |
Lowballing max_tokens | Default ~16K non-streaming, ~64K streaming. Truncation = wasted retry |
| Prefilling assistant message on Opus 4.6 | Returns 400. Use structured outputs or system prompt instead |
| Silent cache invalidation | Check usage.cache_read_input_tokens. Common culprit: datetime.now() in system prompt |
| Redefining SDK types | Use Anthropic.MessageParam, Anthropic.Tool, etc. -- don't roll your own |
Full list: shared/pitfalls.md
Defaults
Use Claude Opus 4.6 (claude-opus-4-6) unless the user names a different model. Use adaptive thinking (thinking: {type: "adaptive"}) for anything remotely complicated. Use streaming for long input/output -- .get_final_message() / .finalMessage() if you don't need individual events.
Language Detection
Infer from project files:
*.py,pyproject.toml,requirements.txt-> Python -- read frompython/*.ts,*.tsx,package.json,tsconfig.json-> TypeScript -- read fromtypescript/*.js,*.jsx(no.tspresent) -> TypeScript -- JS uses the same SDK*.go,go.mod-> Go -- read fromgo/*.ex,*.exs,mix.exs-> Elixir -- read fromelixir/*.rs,Cargo.toml-> Rust -- read fromrust/*.lua,.luarc.json-> Lua -- read fromlua/
If ambiguous, ask. If unsupported language, suggest curl/ examples.
Which Surface?
| Use Case | Surface |
|---|---|
| Single call (classify, summarize) | Claude API |
| Multi-step pipeline, your tools | Claude API + tool use |
| Agent needing file/web/terminal | Agent SDK |
| Custom agent, your own tools | Claude API agentic loop |
Decision tree and "Should I Build an Agent?" criteria: shared/surfaces.md
Reading Guide
| Task | Read |
|---|---|
| Single call (classify/summarize/extract) | {lang}/claude-api/README.md |
| Chat UI / streaming | + {lang}/claude-api/streaming.md |
| Long conversations (context overflow) | + Compaction section; details: shared/thinking-effort.md |
| Prompt caching / cache optimization | shared/prompt-caching.md + {lang}/claude-api/README.md |
| Tool use / function calling / agents | + shared/tool-use-concepts.md + {lang}/claude-api/tool-use.md |
| Batch processing | + {lang}/claude-api/batches.md |
| File uploads across requests | + {lang}/claude-api/files-api.md |
| Agent with built-in tools | {lang}/agent-sdk/README.md + {lang}/agent-sdk/patterns.md |
| Model selection / capabilities | shared/models.md |
| Thinking, effort, compaction | shared/thinking-effort.md |
| Error handling | shared/error-codes.md |
Go, Elixir, Rust, Lua, cURL: single file covers all basics. Read that plus
shared/files as needed.
When to Use WebFetch
Use when user asks for "latest" info, cached data seems wrong, or features aren't covered here. URLs: shared/live-sources.md.