CB claude-api
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.
Build, debug, and optimize Claude API / Anthropic SDK apps.
As a process B 73/100 · Nearly there — weak spots: running it twice
How to improve
- The SKILL.md body is over 5,000 tokens: move reference detail into references/ and load it when needed.
- Your own cases (evals/evals.json, 4–6 real requests with expected answers): the full check would then run those instead of a model-drafted suite.
- A spec.yaml with trigger phrases and assertions — a behaviour contract for CI; `skilltest init` writes a template.
Guard findings · 14
✓ No critical or high findings
Medium and low: 14
-
low Secrets in code
secret-high-entropy-tokengo/claude-api.md:348High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)Also available: `WebF…ram`, `Memo…ram`, `Tool…ram`, `Tool…ram`.
quoted -
low Secrets in code
secret-high-entropy-tokengo/claude-api.md:421High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)Other edit types: `Beta…ram`, `Beta…ram`.
quoted -
low Secrets in code
secret-high-entropy-tokenphp/claude-api.md:375High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)**Server-side tools** (bash, web_search, text_editor, code_execution) are GA and work on both paths — `Anthropic\Messages\Tool…124` / `WebS…209` / `Tool…728` / `Code
quoted -
low Secrets in code
secret-high-entropy-tokenphp/managed-agents/README.md:46High-entropy token-like string (may be an id, hash or a credential)use Anthropic\Beta\Agents\Beta…ams;
-
low Secrets in code
secret-high-entropy-tokenphp/managed-agents/README.md:54High-entropy token-like string (may be an id, hash or a credential)Beta…ith(
-
low Secrets in code
secret-high-entropy-tokenphp/managed-agents/README.md:294High-entropy token-like string (may be an id, hash or a credential)use Anthropic\Beta\Agents\Beta…ams;
-
low Secrets in code
secret-high-entropy-tokenphp/managed-agents/README.md:311High-entropy token-like string (may be an id, hash or a credential)Beta…ith(type: 'agen…401'),
-
low Secrets in code
secret-high-entropy-tokenpython/claude-api/files-api.md:99High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)file_info = client.beta.files.retrieve_metadata("file…V8w")quoted -
low Secrets in code
secret-high-entropy-tokenpython/claude-api/files-api.md:107High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)client.beta.files.delete("file…V8w")quoted -
low Secrets in code
secret-high-entropy-tokenpython/claude-api/files-api.md:115High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)file_content = client.beta.files.download("file…V8w")quoted -
low Secrets in code
secret-high-entropy-tokenshared/error-codes.md:39High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)"request_id": "req_…7Fy"
quoted -
low Secrets in code
secret-high-entropy-tokenshared/managed-agents-api-reference.md:338High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)"request_id": "req_…RnE"
quoted -
low Secrets in code
secret-high-entropy-tokentypescript/claude-api/files-api.md:84High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)await client.beta.files.delete("file…V8w", {quoted -
low Secrets in code
secret-high-entropy-tokentypescript/claude-api/files-api.md:93High-entropy token-like string (may be an id, hash or a credential) (quoted — discussed, not commanded)"file…V8w",
quoted
Files scanned: 48. Evidence is masked. Grey chips explain why severity was lowered.
Against the Agent Skills spec
- warning
body-longSKILL.md body ≈ 7982 tokens (recommended < 5000); move details to references/ - note
edit-residuethe text marks something as outdated (lines 153, 181, 188, 310, 316): check that old rules are not kept next to new ones — the full check reads the text for contradictions
Process rating: all ten parameters 73/100
- 30Running it twice. 29 mutating operations with no state check
- 60Tools and files. Uses tools (bash, web, python) that frontmatter does not declare
- 60Steps. 53 steps, 8 vague phrases
- 60Result and completion. Output format stated, no completion criterion
- 70Inputs and preconditions. Inputs and preconditions are listed
- 70Execution cost. Instruction body is 7982 tokens
- 100When it triggers. States when to use and when not to
- 100Failures and branches. 5 branches, has a failure section
- 100Consistency. Name and required fields are in place
- 100Progress reporting. Reports progress
- medium Safety rules and hard prohibitions inside a skill: they belong in the system prompt, here they protect nothing
- low 15 top-level sections: this looks like several domains in one skill
Everything here is measured from the skill text rather than judged by a model, so the numbers are checkable. A parameter weighs more when it is a more common reason for the process to stall.
Quality signals
- +5Description has no quoted example phrases that should trigger the skill
- +4Description does not say when NOT to use the skill (false activations)
- +2Single-language instructions
- +3Description length 744: enough signal without eating the budget
- +4Structure: 21 headings
- +3Step-by-step instructions: 53 items
- +3Output format is stated explicitly
- +4Has examples (1 code blocks)
- +1License stated
Quality base 70; lint remarks subtract, signals add up to 100. Result: 78.