opencode-skills-collection 4.0.74 → 4.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +16 -1
- package/bundled-skills/claude-api/SKILL.md +4 -4
- package/bundled-skills/claude-api/curl/examples.md +5 -5
- package/bundled-skills/claude-api/java/claude-api.md +1 -1
- package/bundled-skills/claude-api/php/claude-api.md +2 -2
- package/bundled-skills/claude-api/python/claude-api/README.md +13 -13
- package/bundled-skills/claude-api/python/claude-api/batches.md +3 -3
- package/bundled-skills/claude-api/python/claude-api/files-api.md +3 -3
- package/bundled-skills/claude-api/python/claude-api/streaming.md +6 -6
- package/bundled-skills/claude-api/python/claude-api/tool-use.md +19 -19
- package/bundled-skills/claude-api/ruby/claude-api.md +3 -3
- package/bundled-skills/claude-api/shared/error-codes.md +2 -2
- package/bundled-skills/claude-api/shared/live-sources.md +1 -1
- package/bundled-skills/claude-api/shared/models.md +4 -4
- package/bundled-skills/claude-api/shared/tool-use-concepts.md +2 -2
- package/bundled-skills/claude-api/typescript/claude-api/README.md +12 -12
- package/bundled-skills/claude-api/typescript/claude-api/batches.md +2 -2
- package/bundled-skills/claude-api/typescript/claude-api/files-api.md +1 -1
- package/bundled-skills/claude-api/typescript/claude-api/streaming.md +4 -4
- package/bundled-skills/claude-api/typescript/claude-api/tool-use.md +14 -14
- package/bundled-skills/electron-drive-skill/LICENSE +21 -0
- package/bundled-skills/electron-drive-skill/README.md +172 -0
- package/bundled-skills/electron-drive-skill/SKILL.md +237 -0
- package/bundled-skills/electron-drive-skill/drive.config.json.example +10 -0
- package/bundled-skills/electron-drive-skill/package.json +28 -0
- package/bundled-skills/electron-drive-skill/scripts/daemon.mjs +352 -0
- package/bundled-skills/electron-drive-skill/scripts/drive.mjs +250 -0
- package/bundled-skills/electron-drive-skill/scripts/lib.mjs +165 -0
- package/bundled-skills/electron-drive-skill/scripts/lib.test.mjs +56 -0
- package/bundled-skills/jev-social/SKILL.md +5 -5
- package/bundled-skills/lintlang-audit/SKILL.md +100 -0
- package/bundled-skills/mcp-dependency-drift-audit/SKILL.md +169 -0
- package/bundled-skills/nexrad-mosaic-access/SKILL.md +297 -0
- package/bundled-skills/nexrad-mosaic-construction/SKILL.md +277 -0
- package/bundled-skills/nexrad-product-access/SKILL.md +258 -0
- package/bundled-skills/nexrad-radar-visualization/SKILL.md +318 -0
- package/bundled-skills/radar-satellite-analysis/SKILL.md +314 -0
- package/bundled-skills/system-prompt-lookup/SKILL.md +188 -0
- package/bundled-skills/traderspy-market-briefing/SKILL.md +132 -0
- package/bundled-skills/traderspy-market-screener/SKILL.md +182 -0
- package/bundled-skills/traderspy-market-screener/references/condition-cookbook.md +70 -0
- package/bundled-skills/traderspy-position-check/SKILL.md +130 -0
- package/bundled-skills/traderspy-position-check/references/risk-math.md +60 -0
- package/bundled-skills/traderspy-smart-money/SKILL.md +151 -0
- package/bundled-skills/traderspy-smart-money/references/exchange-notes.md +40 -0
- package/bundled-skills/traderspy-technical-analysis/SKILL.md +162 -0
- package/bundled-skills/traderspy-technical-analysis/references/derivatives-guide.md +57 -0
- package/bundled-skills/traderspy-technical-analysis/references/indicator-guide.md +47 -0
- package/bundled-skills/traderspy-trading-signals/SKILL.md +156 -0
- package/bundled-skills/traderspy-trading-signals/references/signal-fields.md +64 -0
- package/bundled-skills/unified-ai-gateway/SKILL.md +58 -16
- package/package.json +1 -1
- package/skills_index.json +657 -358
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"updatedAt": "2026-09-
|
|
3
|
+
"updatedAt": "2026-09-28T02:18:06.360Z",
|
|
4
4
|
"entries": [
|
|
5
5
|
"00-andruia-consultant",
|
|
6
6
|
"007",
|
|
@@ -854,6 +854,7 @@
|
|
|
854
854
|
"efficient-web-research",
|
|
855
855
|
"ejentum-reasoning-harness",
|
|
856
856
|
"electron-development",
|
|
857
|
+
"electron-drive-skill",
|
|
857
858
|
"elixir-pro",
|
|
858
859
|
"elk-stack",
|
|
859
860
|
"elon-musk",
|
|
@@ -1375,6 +1376,7 @@
|
|
|
1375
1376
|
"linkedin-profile-optimizer",
|
|
1376
1377
|
"linkerd-patterns",
|
|
1377
1378
|
"lint-and-validate",
|
|
1379
|
+
"lintlang-audit",
|
|
1378
1380
|
"linux-administration",
|
|
1379
1381
|
"linux-hardening",
|
|
1380
1382
|
"linux-privilege-escalation",
|
|
@@ -1490,6 +1492,7 @@
|
|
|
1490
1492
|
"maxia",
|
|
1491
1493
|
"mcp-builder",
|
|
1492
1494
|
"mcp-builder-ms",
|
|
1495
|
+
"mcp-dependency-drift-audit",
|
|
1493
1496
|
"mcp-server-security",
|
|
1494
1497
|
"mcp-tool-developer",
|
|
1495
1498
|
"md2video-audio",
|
|
@@ -1598,6 +1601,10 @@
|
|
|
1598
1601
|
"new-relic",
|
|
1599
1602
|
"newman-cicd-integration",
|
|
1600
1603
|
"news-sentiment-engine",
|
|
1604
|
+
"nexrad-mosaic-access",
|
|
1605
|
+
"nexrad-mosaic-construction",
|
|
1606
|
+
"nexrad-product-access",
|
|
1607
|
+
"nexrad-radar-visualization",
|
|
1601
1608
|
"nextjs-app-router-patterns",
|
|
1602
1609
|
"nextjs-best-practices",
|
|
1603
1610
|
"nextjs-seo-indexing",
|
|
@@ -1834,6 +1841,7 @@
|
|
|
1834
1841
|
"quality-nonconformance",
|
|
1835
1842
|
"quant-analyst",
|
|
1836
1843
|
"quit-sponsor",
|
|
1844
|
+
"radar-satellite-analysis",
|
|
1837
1845
|
"radare2",
|
|
1838
1846
|
"radio-sdr",
|
|
1839
1847
|
"radix-ui-design-system",
|
|
@@ -2161,6 +2169,7 @@
|
|
|
2161
2169
|
"swiftui-ui-patterns",
|
|
2162
2170
|
"swiftui-view-refactor",
|
|
2163
2171
|
"sympy",
|
|
2172
|
+
"system-prompt-lookup",
|
|
2164
2173
|
"systematic-debugging",
|
|
2165
2174
|
"systemd-services",
|
|
2166
2175
|
"systems-programming-rust-project",
|
|
@@ -2242,6 +2251,12 @@
|
|
|
2242
2251
|
"tools-page-seo-optimizer",
|
|
2243
2252
|
"top-web-vulnerabilities",
|
|
2244
2253
|
"track-management",
|
|
2254
|
+
"traderspy-market-briefing",
|
|
2255
|
+
"traderspy-market-screener",
|
|
2256
|
+
"traderspy-position-check",
|
|
2257
|
+
"traderspy-smart-money",
|
|
2258
|
+
"traderspy-technical-analysis",
|
|
2259
|
+
"traderspy-trading-signals",
|
|
2245
2260
|
"trading-ledger",
|
|
2246
2261
|
"train-sentence-transformers",
|
|
2247
2262
|
"transformers-js",
|
|
@@ -20,7 +20,7 @@ This skill helps you build LLM-powered applications with Claude. Choose the righ
|
|
|
20
20
|
|
|
21
21
|
Unless the user requests otherwise:
|
|
22
22
|
|
|
23
|
-
For the Claude model version, please use Claude Opus
|
|
23
|
+
For the Claude model version, please use Claude Opus 5, which you can access via the exact model string `claude-opus-5`. 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
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
@@ -138,15 +138,15 @@ Everything goes through `POST /v1/messages`. Tools and output constraints are fe
|
|
|
138
138
|
|
|
139
139
|
---
|
|
140
140
|
|
|
141
|
-
## Current Models (cached: 2026-
|
|
141
|
+
## Current Models (cached: 2026-09-26)
|
|
142
142
|
|
|
143
143
|
| Model | Model ID | Context | Input $/1M | Output $/1M |
|
|
144
144
|
| ----------------- | ------------------- | -------------- | ---------- | ----------- |
|
|
145
|
-
| Claude Opus
|
|
145
|
+
| Claude Opus 5 | `claude-opus-5` | 1M | $5.00 | $25.00 |
|
|
146
146
|
| Claude Sonnet 4.6 | `claude-sonnet-4-6` | 200K (1M beta) | $3.00 | $15.00 |
|
|
147
147
|
| Claude Haiku 4.5 | `claude-haiku-4-5` | 200K | $1.00 | $5.00 |
|
|
148
148
|
|
|
149
|
-
**ALWAYS use `claude-opus-
|
|
149
|
+
**ALWAYS use `claude-opus-5` unless the user explicitly names a different model.** This is non-negotiable. Do not use `claude-sonnet-4-6`, `claude-sonnet-4-5`, or any other model unless the user literally says "use sonnet" or "use haiku". Never downgrade for cost — that's the user's decision, not yours.
|
|
150
150
|
|
|
151
151
|
**CRITICAL: Use only the exact model ID strings from the table above — they are complete as-is. Do not append date suffixes.** For example, use `claude-sonnet-4-5`, never `claude-sonnet-4-5-20250514` or any other date-suffixed variant you might recall from training data. If the user requests an older model not in the table (e.g., "opus 4.5", "sonnet 3.7"), read `shared/models.md` for the exact ID — do not construct one yourself.
|
|
152
152
|
|
|
@@ -18,7 +18,7 @@ curl https://api.anthropic.com/v1/messages \
|
|
|
18
18
|
-H "x-api-key: $ANTHROPIC_API_KEY" \
|
|
19
19
|
-H "anthropic-version: 2023-06-01" \
|
|
20
20
|
-d '{
|
|
21
|
-
"model": "claude-opus-
|
|
21
|
+
"model": "claude-opus-5",
|
|
22
22
|
"max_tokens": 1024,
|
|
23
23
|
"messages": [
|
|
24
24
|
{"role": "user", "content": "What is the capital of France?"}
|
|
@@ -36,7 +36,7 @@ curl https://api.anthropic.com/v1/messages \
|
|
|
36
36
|
-H "x-api-key: $ANTHROPIC_API_KEY" \
|
|
37
37
|
-H "anthropic-version: 2023-06-01" \
|
|
38
38
|
-d '{
|
|
39
|
-
"model": "claude-opus-
|
|
39
|
+
"model": "claude-opus-5",
|
|
40
40
|
"max_tokens": 1024,
|
|
41
41
|
"stream": true,
|
|
42
42
|
"messages": [{"role": "user", "content": "Write a haiku"}]
|
|
@@ -75,7 +75,7 @@ curl https://api.anthropic.com/v1/messages \
|
|
|
75
75
|
-H "x-api-key: $ANTHROPIC_API_KEY" \
|
|
76
76
|
-H "anthropic-version: 2023-06-01" \
|
|
77
77
|
-d '{
|
|
78
|
-
"model": "claude-opus-
|
|
78
|
+
"model": "claude-opus-5",
|
|
79
79
|
"max_tokens": 1024,
|
|
80
80
|
"tools": [{
|
|
81
81
|
"name": "get_weather",
|
|
@@ -100,7 +100,7 @@ curl https://api.anthropic.com/v1/messages \
|
|
|
100
100
|
-H "x-api-key: $ANTHROPIC_API_KEY" \
|
|
101
101
|
-H "anthropic-version: 2023-06-01" \
|
|
102
102
|
-d '{
|
|
103
|
-
"model": "claude-opus-
|
|
103
|
+
"model": "claude-opus-5",
|
|
104
104
|
"max_tokens": 1024,
|
|
105
105
|
"tools": [{
|
|
106
106
|
"name": "get_weather",
|
|
@@ -140,7 +140,7 @@ curl https://api.anthropic.com/v1/messages \
|
|
|
140
140
|
-H "x-api-key: $ANTHROPIC_API_KEY" \
|
|
141
141
|
-H "anthropic-version: 2023-06-01" \
|
|
142
142
|
-d '{
|
|
143
|
-
"model": "claude-opus-
|
|
143
|
+
"model": "claude-opus-5",
|
|
144
144
|
"max_tokens": 16000,
|
|
145
145
|
"thinking": {
|
|
146
146
|
"type": "adaptive"
|
|
@@ -107,7 +107,7 @@ static class GetWeather implements Supplier<String> {
|
|
|
107
107
|
|
|
108
108
|
BetaToolRunner toolRunner = client.beta().messages().toolRunner(
|
|
109
109
|
MessageCreateParams.builder()
|
|
110
|
-
.model("claude-opus-
|
|
110
|
+
.model("claude-opus-5")
|
|
111
111
|
.maxTokens(1024L)
|
|
112
112
|
.putAdditionalHeader("anthropic-beta", "structured-outputs-2025-11-13")
|
|
113
113
|
.addTool(GetWeather.class)
|
|
@@ -54,7 +54,7 @@ $client = new FoundryClient(
|
|
|
54
54
|
|
|
55
55
|
```php
|
|
56
56
|
$message = $client->messages->create(
|
|
57
|
-
model: 'claude-opus-
|
|
57
|
+
model: 'claude-opus-5',
|
|
58
58
|
maxTokens: 1024,
|
|
59
59
|
messages: [
|
|
60
60
|
['role' => 'user', 'content' => 'What is the capital of France?'],
|
|
@@ -69,7 +69,7 @@ echo $message->content[0]->text;
|
|
|
69
69
|
|
|
70
70
|
```php
|
|
71
71
|
$stream = $client->messages->createStream(
|
|
72
|
-
model: 'claude-opus-
|
|
72
|
+
model: 'claude-opus-5',
|
|
73
73
|
maxTokens: 1024,
|
|
74
74
|
messages: [
|
|
75
75
|
['role' => 'user', 'content' => 'Write a haiku'],
|
|
@@ -27,7 +27,7 @@ async_client = anthropic.AsyncAnthropic()
|
|
|
27
27
|
|
|
28
28
|
```python
|
|
29
29
|
response = client.messages.create(
|
|
30
|
-
model="claude-opus-
|
|
30
|
+
model="claude-opus-5",
|
|
31
31
|
max_tokens=1024,
|
|
32
32
|
messages=[
|
|
33
33
|
{"role": "user", "content": "What is the capital of France?"}
|
|
@@ -42,7 +42,7 @@ print(response.content[0].text)
|
|
|
42
42
|
|
|
43
43
|
```python
|
|
44
44
|
response = client.messages.create(
|
|
45
|
-
model="claude-opus-
|
|
45
|
+
model="claude-opus-5",
|
|
46
46
|
max_tokens=1024,
|
|
47
47
|
system="You are a helpful coding assistant. Always provide examples in Python.",
|
|
48
48
|
messages=[{"role": "user", "content": "How do I read a JSON file?"}]
|
|
@@ -62,7 +62,7 @@ with open("image.png", "rb") as f:
|
|
|
62
62
|
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
|
|
63
63
|
|
|
64
64
|
response = client.messages.create(
|
|
65
|
-
model="claude-opus-
|
|
65
|
+
model="claude-opus-5",
|
|
66
66
|
max_tokens=1024,
|
|
67
67
|
messages=[{
|
|
68
68
|
"role": "user",
|
|
@@ -85,7 +85,7 @@ response = client.messages.create(
|
|
|
85
85
|
|
|
86
86
|
```python
|
|
87
87
|
response = client.messages.create(
|
|
88
|
-
model="claude-opus-
|
|
88
|
+
model="claude-opus-5",
|
|
89
89
|
max_tokens=1024,
|
|
90
90
|
messages=[{
|
|
91
91
|
"role": "user",
|
|
@@ -115,7 +115,7 @@ Use top-level `cache_control` to automatically cache the last cacheable block in
|
|
|
115
115
|
|
|
116
116
|
```python
|
|
117
117
|
response = client.messages.create(
|
|
118
|
-
model="claude-opus-
|
|
118
|
+
model="claude-opus-5",
|
|
119
119
|
max_tokens=1024,
|
|
120
120
|
cache_control={"type": "ephemeral"}, # auto-caches the last cacheable block
|
|
121
121
|
system="You are an expert on this large document...",
|
|
@@ -129,7 +129,7 @@ For fine-grained control, add `cache_control` to specific content blocks:
|
|
|
129
129
|
|
|
130
130
|
```python
|
|
131
131
|
response = client.messages.create(
|
|
132
|
-
model="claude-opus-
|
|
132
|
+
model="claude-opus-5",
|
|
133
133
|
max_tokens=1024,
|
|
134
134
|
system=[{
|
|
135
135
|
"type": "text",
|
|
@@ -141,7 +141,7 @@ response = client.messages.create(
|
|
|
141
141
|
|
|
142
142
|
# With explicit TTL (time-to-live)
|
|
143
143
|
response = client.messages.create(
|
|
144
|
-
model="claude-opus-
|
|
144
|
+
model="claude-opus-5",
|
|
145
145
|
max_tokens=1024,
|
|
146
146
|
system=[{
|
|
147
147
|
"type": "text",
|
|
@@ -162,7 +162,7 @@ response = client.messages.create(
|
|
|
162
162
|
```python
|
|
163
163
|
# Opus 4.6: adaptive thinking (recommended)
|
|
164
164
|
response = client.messages.create(
|
|
165
|
-
model="claude-opus-
|
|
165
|
+
model="claude-opus-5",
|
|
166
166
|
max_tokens=16000,
|
|
167
167
|
thinking={"type": "adaptive"},
|
|
168
168
|
output_config={"effort": "high"}, # low | medium | high | max
|
|
@@ -242,7 +242,7 @@ class ConversationManager:
|
|
|
242
242
|
# Usage
|
|
243
243
|
conversation = ConversationManager(
|
|
244
244
|
client=anthropic.Anthropic(),
|
|
245
|
-
model="claude-opus-
|
|
245
|
+
model="claude-opus-5",
|
|
246
246
|
system="You are a helpful assistant."
|
|
247
247
|
)
|
|
248
248
|
|
|
@@ -272,7 +272,7 @@ def chat(user_message: str) -> str:
|
|
|
272
272
|
|
|
273
273
|
response = client.beta.messages.create(
|
|
274
274
|
betas=["compact-2026-01-12"],
|
|
275
|
-
model="claude-opus-
|
|
275
|
+
model="claude-opus-5",
|
|
276
276
|
max_tokens=4096,
|
|
277
277
|
messages=messages,
|
|
278
278
|
context_management={
|
|
@@ -315,7 +315,7 @@ The `stop_reason` field in the response indicates why the model stopped generati
|
|
|
315
315
|
```python
|
|
316
316
|
# Automatic caching (simplest — caches the last cacheable block)
|
|
317
317
|
response = client.messages.create(
|
|
318
|
-
model="claude-opus-
|
|
318
|
+
model="claude-opus-5",
|
|
319
319
|
max_tokens=1024,
|
|
320
320
|
cache_control={"type": "ephemeral"},
|
|
321
321
|
system=large_document_text, # e.g., 50KB of context
|
|
@@ -331,7 +331,7 @@ response = client.messages.create(
|
|
|
331
331
|
```python
|
|
332
332
|
# Default to Opus for most tasks
|
|
333
333
|
response = client.messages.create(
|
|
334
|
-
model="claude-opus-
|
|
334
|
+
model="claude-opus-5", # $5.00/$25.00 per 1M tokens
|
|
335
335
|
max_tokens=1024,
|
|
336
336
|
messages=[{"role": "user", "content": "Explain quantum computing"}]
|
|
337
337
|
)
|
|
@@ -355,7 +355,7 @@ simple_response = client.messages.create(
|
|
|
355
355
|
|
|
356
356
|
```python
|
|
357
357
|
count_response = client.messages.count_tokens(
|
|
358
|
-
model="claude-opus-
|
|
358
|
+
model="claude-opus-5",
|
|
359
359
|
messages=messages,
|
|
360
360
|
system=system
|
|
361
361
|
)
|
|
@@ -26,7 +26,7 @@ message_batch = client.messages.batches.create(
|
|
|
26
26
|
Request(
|
|
27
27
|
custom_id="request-1",
|
|
28
28
|
params=MessageCreateParamsNonStreaming(
|
|
29
|
-
model="claude-opus-
|
|
29
|
+
model="claude-opus-5",
|
|
30
30
|
max_tokens=1024,
|
|
31
31
|
messages=[{"role": "user", "content": "Summarize climate change impacts"}]
|
|
32
32
|
)
|
|
@@ -34,7 +34,7 @@ message_batch = client.messages.batches.create(
|
|
|
34
34
|
Request(
|
|
35
35
|
custom_id="request-2",
|
|
36
36
|
params=MessageCreateParamsNonStreaming(
|
|
37
|
-
model="claude-opus-
|
|
37
|
+
model="claude-opus-5",
|
|
38
38
|
max_tokens=1024,
|
|
39
39
|
messages=[{"role": "user", "content": "Explain quantum computing basics"}]
|
|
40
40
|
)
|
|
@@ -115,7 +115,7 @@ message_batch = client.messages.batches.create(
|
|
|
115
115
|
Request(
|
|
116
116
|
custom_id=f"analysis-{i}",
|
|
117
117
|
params=MessageCreateParamsNonStreaming(
|
|
118
|
-
model="claude-opus-
|
|
118
|
+
model="claude-opus-5",
|
|
119
119
|
max_tokens=1024,
|
|
120
120
|
system=shared_system,
|
|
121
121
|
messages=[{"role": "user", "content": question}]
|
|
@@ -36,7 +36,7 @@ print(f"Size: {uploaded.size_bytes} bytes")
|
|
|
36
36
|
|
|
37
37
|
```python
|
|
38
38
|
response = client.beta.messages.create(
|
|
39
|
-
model="claude-opus-
|
|
39
|
+
model="claude-opus-5",
|
|
40
40
|
max_tokens=1024,
|
|
41
41
|
messages=[{
|
|
42
42
|
"role": "user",
|
|
@@ -63,7 +63,7 @@ image_file = client.beta.files.upload(
|
|
|
63
63
|
)
|
|
64
64
|
|
|
65
65
|
response = client.beta.messages.create(
|
|
66
|
-
model="claude-opus-
|
|
66
|
+
model="claude-opus-5",
|
|
67
67
|
max_tokens=1024,
|
|
68
68
|
messages=[{
|
|
69
69
|
"role": "user",
|
|
@@ -140,7 +140,7 @@ questions = [
|
|
|
140
140
|
|
|
141
141
|
for question in questions:
|
|
142
142
|
response = client.beta.messages.create(
|
|
143
|
-
model="claude-opus-
|
|
143
|
+
model="claude-opus-5",
|
|
144
144
|
max_tokens=1024,
|
|
145
145
|
messages=[{
|
|
146
146
|
"role": "user",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
```python
|
|
6
6
|
with client.messages.stream(
|
|
7
|
-
model="claude-opus-
|
|
7
|
+
model="claude-opus-5",
|
|
8
8
|
max_tokens=1024,
|
|
9
9
|
messages=[{"role": "user", "content": "Write a story"}]
|
|
10
10
|
) as stream:
|
|
@@ -16,7 +16,7 @@ with client.messages.stream(
|
|
|
16
16
|
|
|
17
17
|
```python
|
|
18
18
|
async with async_client.messages.stream(
|
|
19
|
-
model="claude-opus-
|
|
19
|
+
model="claude-opus-5",
|
|
20
20
|
max_tokens=1024,
|
|
21
21
|
messages=[{"role": "user", "content": "Write a story"}]
|
|
22
22
|
) as stream:
|
|
@@ -34,7 +34,7 @@ Claude may return text, thinking blocks, or tool use. Handle each appropriately:
|
|
|
34
34
|
|
|
35
35
|
```python
|
|
36
36
|
with client.messages.stream(
|
|
37
|
-
model="claude-opus-
|
|
37
|
+
model="claude-opus-5",
|
|
38
38
|
max_tokens=16000,
|
|
39
39
|
thinking={"type": "adaptive"},
|
|
40
40
|
messages=[{"role": "user", "content": "Analyze this problem"}]
|
|
@@ -61,7 +61,7 @@ The Python tool runner currently returns complete messages. Use streaming for in
|
|
|
61
61
|
|
|
62
62
|
```python
|
|
63
63
|
with client.messages.stream(
|
|
64
|
-
model="claude-opus-
|
|
64
|
+
model="claude-opus-5",
|
|
65
65
|
max_tokens=4096,
|
|
66
66
|
tools=tools,
|
|
67
67
|
messages=messages
|
|
@@ -79,7 +79,7 @@ with client.messages.stream(
|
|
|
79
79
|
|
|
80
80
|
```python
|
|
81
81
|
with client.messages.stream(
|
|
82
|
-
model="claude-opus-
|
|
82
|
+
model="claude-opus-5",
|
|
83
83
|
max_tokens=1024,
|
|
84
84
|
messages=[{"role": "user", "content": "Hello"}]
|
|
85
85
|
) as stream:
|
|
@@ -126,7 +126,7 @@ def stream_with_progress(client, **kwargs):
|
|
|
126
126
|
```python
|
|
127
127
|
try:
|
|
128
128
|
with client.messages.stream(
|
|
129
|
-
model="claude-opus-
|
|
129
|
+
model="claude-opus-5",
|
|
130
130
|
max_tokens=1024,
|
|
131
131
|
messages=[{"role": "user", "content": "Write a story"}]
|
|
132
132
|
) as stream:
|
|
@@ -27,7 +27,7 @@ def get_weather(location: str, unit: str = "celsius") -> str:
|
|
|
27
27
|
|
|
28
28
|
# The tool runner handles the agentic loop automatically
|
|
29
29
|
runner = client.beta.messages.tool_runner(
|
|
30
|
-
model="claude-opus-
|
|
30
|
+
model="claude-opus-5",
|
|
31
31
|
max_tokens=4096,
|
|
32
32
|
tools=[get_weather],
|
|
33
33
|
messages=[{"role": "user", "content": "What's the weather in Paris?"}],
|
|
@@ -71,7 +71,7 @@ async with stdio_client(StdioServerParameters(command="mcp-server")) as (read, w
|
|
|
71
71
|
|
|
72
72
|
tools_result = await mcp_client.list_tools()
|
|
73
73
|
runner = await client.beta.messages.tool_runner(
|
|
74
|
-
model="claude-opus-
|
|
74
|
+
model="claude-opus-5",
|
|
75
75
|
max_tokens=1024,
|
|
76
76
|
messages=[{"role": "user", "content": "Use the available tools"}],
|
|
77
77
|
tools=[async_mcp_tool(t, mcp_client) for t in tools_result.tools],
|
|
@@ -89,7 +89,7 @@ from anthropic.lib.tools.mcp import mcp_message
|
|
|
89
89
|
|
|
90
90
|
prompt = await mcp_client.get_prompt(name="my-prompt")
|
|
91
91
|
response = await client.beta.messages.create(
|
|
92
|
-
model="claude-opus-
|
|
92
|
+
model="claude-opus-5",
|
|
93
93
|
max_tokens=1024,
|
|
94
94
|
messages=[mcp_message(m) for m in prompt.messages],
|
|
95
95
|
)
|
|
@@ -102,7 +102,7 @@ from anthropic.lib.tools.mcp import mcp_resource_to_content
|
|
|
102
102
|
|
|
103
103
|
resource = await mcp_client.read_resource(uri="file:///path/to/doc.txt")
|
|
104
104
|
response = await client.beta.messages.create(
|
|
105
|
-
model="claude-opus-
|
|
105
|
+
model="claude-opus-5",
|
|
106
106
|
max_tokens=1024,
|
|
107
107
|
messages=[{
|
|
108
108
|
"role": "user",
|
|
@@ -141,7 +141,7 @@ messages = [{"role": "user", "content": user_input}]
|
|
|
141
141
|
# Agentic loop: keep going until Claude stops calling tools
|
|
142
142
|
while True:
|
|
143
143
|
response = client.messages.create(
|
|
144
|
-
model="claude-opus-
|
|
144
|
+
model="claude-opus-5",
|
|
145
145
|
max_tokens=4096,
|
|
146
146
|
tools=tools,
|
|
147
147
|
messages=messages
|
|
@@ -188,7 +188,7 @@ final_text = next(b.text for b in response.content if b.type == "text")
|
|
|
188
188
|
|
|
189
189
|
```python
|
|
190
190
|
response = client.messages.create(
|
|
191
|
-
model="claude-opus-
|
|
191
|
+
model="claude-opus-5",
|
|
192
192
|
max_tokens=1024,
|
|
193
193
|
tools=tools,
|
|
194
194
|
messages=[{"role": "user", "content": "What's the weather in Paris?"}]
|
|
@@ -203,7 +203,7 @@ for block in response.content:
|
|
|
203
203
|
result = execute_tool(tool_name, tool_input)
|
|
204
204
|
|
|
205
205
|
followup = client.messages.create(
|
|
206
|
-
model="claude-opus-
|
|
206
|
+
model="claude-opus-5",
|
|
207
207
|
max_tokens=1024,
|
|
208
208
|
tools=tools,
|
|
209
209
|
messages=[
|
|
@@ -240,7 +240,7 @@ for block in response.content:
|
|
|
240
240
|
# Send all results back at once
|
|
241
241
|
if tool_results:
|
|
242
242
|
followup = client.messages.create(
|
|
243
|
-
model="claude-opus-
|
|
243
|
+
model="claude-opus-5",
|
|
244
244
|
max_tokens=1024,
|
|
245
245
|
tools=tools,
|
|
246
246
|
messages=[
|
|
@@ -270,7 +270,7 @@ tool_result = {
|
|
|
270
270
|
|
|
271
271
|
```python
|
|
272
272
|
response = client.messages.create(
|
|
273
|
-
model="claude-opus-
|
|
273
|
+
model="claude-opus-5",
|
|
274
274
|
max_tokens=1024,
|
|
275
275
|
tools=tools,
|
|
276
276
|
tool_choice={"type": "tool", "name": "get_weather"}, # Force specific tool
|
|
@@ -290,7 +290,7 @@ import anthropic
|
|
|
290
290
|
client = anthropic.Anthropic()
|
|
291
291
|
|
|
292
292
|
response = client.messages.create(
|
|
293
|
-
model="claude-opus-
|
|
293
|
+
model="claude-opus-5",
|
|
294
294
|
max_tokens=4096,
|
|
295
295
|
messages=[{
|
|
296
296
|
"role": "user",
|
|
@@ -318,7 +318,7 @@ uploaded = client.beta.files.upload(file=open("sales_data.csv", "rb"))
|
|
|
318
318
|
# 2. Pass to code execution via container_upload block
|
|
319
319
|
# Code execution is GA; Files API is still beta (pass via extra_headers)
|
|
320
320
|
response = client.messages.create(
|
|
321
|
-
model="claude-opus-
|
|
321
|
+
model="claude-opus-5",
|
|
322
322
|
max_tokens=4096,
|
|
323
323
|
extra_headers={"anthropic-beta": "files-api-2025-04-14"},
|
|
324
324
|
messages=[{
|
|
@@ -363,7 +363,7 @@ for block in response.content:
|
|
|
363
363
|
```python
|
|
364
364
|
# First request: set up environment
|
|
365
365
|
response1 = client.messages.create(
|
|
366
|
-
model="claude-opus-
|
|
366
|
+
model="claude-opus-5",
|
|
367
367
|
max_tokens=4096,
|
|
368
368
|
messages=[{"role": "user", "content": "Install tabulate and create data.json with sample data"}],
|
|
369
369
|
tools=[{"type": "code_execution_20260120", "name": "code_execution"}]
|
|
@@ -375,7 +375,7 @@ container_id = response1.container.id
|
|
|
375
375
|
# Second request: reuse the same container
|
|
376
376
|
response2 = client.messages.create(
|
|
377
377
|
container=container_id,
|
|
378
|
-
model="claude-opus-
|
|
378
|
+
model="claude-opus-5",
|
|
379
379
|
max_tokens=4096,
|
|
380
380
|
messages=[{"role": "user", "content": "Read data.json and display as a formatted table"}],
|
|
381
381
|
tools=[{"type": "code_execution_20260120", "name": "code_execution"}]
|
|
@@ -415,7 +415,7 @@ import anthropic
|
|
|
415
415
|
client = anthropic.Anthropic()
|
|
416
416
|
|
|
417
417
|
response = client.messages.create(
|
|
418
|
-
model="claude-opus-
|
|
418
|
+
model="claude-opus-5",
|
|
419
419
|
max_tokens=2048,
|
|
420
420
|
messages=[{"role": "user", "content": "Remember that my preferred language is Python."}],
|
|
421
421
|
tools=[{"type": "memory_20250818", "name": "memory"}],
|
|
@@ -441,7 +441,7 @@ memory = MyMemoryTool()
|
|
|
441
441
|
|
|
442
442
|
# Use with tool runner
|
|
443
443
|
runner = client.beta.messages.tool_runner(
|
|
444
|
-
model="claude-opus-
|
|
444
|
+
model="claude-opus-5",
|
|
445
445
|
max_tokens=2048,
|
|
446
446
|
tools=[memory],
|
|
447
447
|
messages=[{"role": "user", "content": "Remember my preferences"}],
|
|
@@ -476,7 +476,7 @@ class ContactInfo(BaseModel):
|
|
|
476
476
|
client = anthropic.Anthropic()
|
|
477
477
|
|
|
478
478
|
response = client.messages.parse(
|
|
479
|
-
model="claude-opus-
|
|
479
|
+
model="claude-opus-5",
|
|
480
480
|
max_tokens=1024,
|
|
481
481
|
messages=[{
|
|
482
482
|
"role": "user",
|
|
@@ -495,7 +495,7 @@ print(contact.interests) # ["API", "SDKs"]
|
|
|
495
495
|
|
|
496
496
|
```python
|
|
497
497
|
response = client.messages.create(
|
|
498
|
-
model="claude-opus-
|
|
498
|
+
model="claude-opus-5",
|
|
499
499
|
max_tokens=1024,
|
|
500
500
|
messages=[{
|
|
501
501
|
"role": "user",
|
|
@@ -527,7 +527,7 @@ data = json.loads(response.content[0].text)
|
|
|
527
527
|
|
|
528
528
|
```python
|
|
529
529
|
response = client.messages.create(
|
|
530
|
-
model="claude-opus-
|
|
530
|
+
model="claude-opus-5",
|
|
531
531
|
max_tokens=1024,
|
|
532
532
|
messages=[{"role": "user", "content": "Book a flight to Tokyo for 2 passengers on March 15"}],
|
|
533
533
|
tools=[{
|
|
@@ -552,7 +552,7 @@ response = client.messages.create(
|
|
|
552
552
|
|
|
553
553
|
```python
|
|
554
554
|
response = client.messages.create(
|
|
555
|
-
model="claude-opus-
|
|
555
|
+
model="claude-opus-5",
|
|
556
556
|
max_tokens=1024,
|
|
557
557
|
messages=[{"role": "user", "content": "Plan a trip to Paris next month"}],
|
|
558
558
|
output_config={
|
|
@@ -26,7 +26,7 @@ client = Anthropic::Client.new(api_key: "your-api-key")
|
|
|
26
26
|
|
|
27
27
|
```ruby
|
|
28
28
|
message = client.messages.create(
|
|
29
|
-
model: :"claude-opus-
|
|
29
|
+
model: :"claude-opus-5",
|
|
30
30
|
max_tokens: 1024,
|
|
31
31
|
messages: [
|
|
32
32
|
{ role: "user", content: "What is the capital of France?" }
|
|
@@ -41,7 +41,7 @@ puts message.content.first.text
|
|
|
41
41
|
|
|
42
42
|
```ruby
|
|
43
43
|
stream = client.messages.stream(
|
|
44
|
-
model: :"claude-opus-
|
|
44
|
+
model: :"claude-opus-5",
|
|
45
45
|
max_tokens: 1024,
|
|
46
46
|
messages: [{ role: "user", content: "Write a haiku" }]
|
|
47
47
|
)
|
|
@@ -73,7 +73,7 @@ class GetWeather < Anthropic::BaseTool
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
client.beta.messages.tool_runner(
|
|
76
|
-
model: :"claude-opus-
|
|
76
|
+
model: :"claude-opus-5",
|
|
77
77
|
max_tokens: 1024,
|
|
78
78
|
tools: [GetWeather.new],
|
|
79
79
|
messages: [{ role: "user", content: "What's the weather in San Francisco?" }]
|
|
@@ -79,7 +79,7 @@ This file documents HTTP error codes returned by the Claude API, their common ca
|
|
|
79
79
|
- Using deprecated model ID
|
|
80
80
|
- Invalid API endpoint
|
|
81
81
|
|
|
82
|
-
**Fix:** Use exact model IDs from the models documentation. You can use aliases (e.g., `claude-opus-
|
|
82
|
+
**Fix:** Use exact model IDs from the models documentation. You can use aliases (e.g., `claude-opus-5`).
|
|
83
83
|
|
|
84
84
|
---
|
|
85
85
|
|
|
@@ -161,7 +161,7 @@ thinking: budget_tokens=10000, max_tokens=16000
|
|
|
161
161
|
| Mistake | Error | Fix |
|
|
162
162
|
| ------------------------------- | ---------------- | ------------------------------------------------------- |
|
|
163
163
|
| `budget_tokens` >= `max_tokens` | 400 | Ensure `budget_tokens` < `max_tokens` |
|
|
164
|
-
| Typo in model ID | 404 | Use valid model ID like `claude-opus-
|
|
164
|
+
| Typo in model ID | 404 | Use valid model ID like `claude-opus-5` |
|
|
165
165
|
| First message is `assistant` | 400 | First message must be `user` |
|
|
166
166
|
| Consecutive same-role messages | 400 | Alternate `user` and `assistant` |
|
|
167
167
|
| API key in code | 401 (leaked key) | Use environment variable |
|
|
@@ -23,7 +23,7 @@ This file contains WebFetch URLs for fetching current information from platform.
|
|
|
23
23
|
| Topic | URL | Extraction Prompt |
|
|
24
24
|
| ----------------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
25
25
|
| Extended Thinking | `https://platform.claude.com/docs/en/build-with-claude/extended-thinking.md` | "Extract extended thinking parameters, budget_tokens requirements, and usage examples" |
|
|
26
|
-
| Adaptive Thinking | `https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking.md` | "Extract adaptive thinking setup, effort levels, and Claude Opus
|
|
26
|
+
| Adaptive Thinking | `https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking.md` | "Extract adaptive thinking setup, effort levels, and Claude Opus 5 usage examples" |
|
|
27
27
|
| Effort Parameter | `https://platform.claude.com/docs/en/build-with-claude/effort.md` | "Extract effort levels, cost-quality tradeoffs, and interaction with thinking" |
|
|
28
28
|
| Tool Use | `https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview.md` | "Extract tool definition schema, tool_choice options, and handling tool results" |
|
|
29
29
|
| Streaming | `https://platform.claude.com/docs/en/build-with-claude/streaming.md` | "Extract streaming event types, SDK examples, and best practices" |
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
|
|
7
7
|
| Friendly Name | Alias (use this) | Full ID | Context | Max Output | Status |
|
|
8
8
|
|-------------------|---------------------|-------------------------------|----------------|------------|--------|
|
|
9
|
-
| Claude Opus
|
|
9
|
+
| Claude Opus 5 | `claude-opus-5` | — | 200K (1M beta) | 128K | Active |
|
|
10
10
|
| Claude Sonnet 4.6 | `claude-sonnet-4-6` | - | 200K (1M beta) | 64K | Active |
|
|
11
11
|
| Claude Haiku 4.5 | `claude-haiku-4-5` | `claude-haiku-4-5-20251001` | 200K | 64K | Active |
|
|
12
12
|
|
|
13
13
|
### Model Descriptions
|
|
14
14
|
|
|
15
|
-
- **Claude Opus
|
|
15
|
+
- **Claude Opus 5** — Our most intelligent model for building agents and coding. Supports adaptive thinking (recommended), 128K max output tokens (requires streaming for large outputs). 1M context window available in beta via `context-1m-2025-08-07` header.
|
|
16
16
|
- **Claude Sonnet 4.6** — Our best combination of speed and intelligence. Supports adaptive thinking (recommended). 1M context window available in beta via `context-1m-2025-08-07` header. 64K max output tokens.
|
|
17
17
|
- **Claude Haiku 4.5** — Fastest and most cost-effective model for simple tasks.
|
|
18
18
|
|
|
@@ -51,8 +51,8 @@ When a user asks for a model by name, use this table to find the correct model I
|
|
|
51
51
|
|
|
52
52
|
| User says... | Use this model ID |
|
|
53
53
|
|-------------------------------------------|--------------------------------|
|
|
54
|
-
| "opus", "most powerful" | `claude-opus-
|
|
55
|
-
| "opus 4.6" | `claude-opus-
|
|
54
|
+
| "opus", "most powerful" | `claude-opus-5` |
|
|
55
|
+
| "opus 4.6" | `claude-opus-5` |
|
|
56
56
|
| "opus 4.5" | `claude-opus-4-5` |
|
|
57
57
|
| "opus 4.1" | `claude-opus-4-1` |
|
|
58
58
|
| "opus 4", "opus 4.0" | `claude-opus-4-0` |
|
|
@@ -74,7 +74,7 @@ if response.stop_reason == "pause_turn":
|
|
|
74
74
|
]
|
|
75
75
|
# Make another API request — server resumes automatically
|
|
76
76
|
response = client.messages.create(
|
|
77
|
-
model="claude-opus-
|
|
77
|
+
model="claude-opus-5", messages=messages, tools=tools
|
|
78
78
|
)
|
|
79
79
|
```
|
|
80
80
|
|
|
@@ -258,7 +258,7 @@ Two features are available:
|
|
|
258
258
|
- **JSON outputs** (`output_config.format`): Control Claude's response format
|
|
259
259
|
- **Strict tool use** (`strict: true`): Guarantee valid tool parameter schemas
|
|
260
260
|
|
|
261
|
-
**Supported models:** Claude Opus
|
|
261
|
+
**Supported models:** Claude Opus 5, Claude Sonnet 4.6, and Claude Haiku 4.5. Legacy models (Claude Opus 4.5, Claude Opus 4.1) also support structured outputs.
|
|
262
262
|
|
|
263
263
|
> **Recommended:** Use `client.messages.parse()` which automatically validates responses against your schema. When using `messages.create()` directly, use `output_config: {format: {...}}`. The `output_format` convenience parameter is also accepted by some SDK methods (e.g., `.parse()`), but `output_config.format` is the canonical API-level parameter.
|
|
264
264
|
|