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.
Files changed (53) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +16 -1
  2. package/bundled-skills/claude-api/SKILL.md +4 -4
  3. package/bundled-skills/claude-api/curl/examples.md +5 -5
  4. package/bundled-skills/claude-api/java/claude-api.md +1 -1
  5. package/bundled-skills/claude-api/php/claude-api.md +2 -2
  6. package/bundled-skills/claude-api/python/claude-api/README.md +13 -13
  7. package/bundled-skills/claude-api/python/claude-api/batches.md +3 -3
  8. package/bundled-skills/claude-api/python/claude-api/files-api.md +3 -3
  9. package/bundled-skills/claude-api/python/claude-api/streaming.md +6 -6
  10. package/bundled-skills/claude-api/python/claude-api/tool-use.md +19 -19
  11. package/bundled-skills/claude-api/ruby/claude-api.md +3 -3
  12. package/bundled-skills/claude-api/shared/error-codes.md +2 -2
  13. package/bundled-skills/claude-api/shared/live-sources.md +1 -1
  14. package/bundled-skills/claude-api/shared/models.md +4 -4
  15. package/bundled-skills/claude-api/shared/tool-use-concepts.md +2 -2
  16. package/bundled-skills/claude-api/typescript/claude-api/README.md +12 -12
  17. package/bundled-skills/claude-api/typescript/claude-api/batches.md +2 -2
  18. package/bundled-skills/claude-api/typescript/claude-api/files-api.md +1 -1
  19. package/bundled-skills/claude-api/typescript/claude-api/streaming.md +4 -4
  20. package/bundled-skills/claude-api/typescript/claude-api/tool-use.md +14 -14
  21. package/bundled-skills/electron-drive-skill/LICENSE +21 -0
  22. package/bundled-skills/electron-drive-skill/README.md +172 -0
  23. package/bundled-skills/electron-drive-skill/SKILL.md +237 -0
  24. package/bundled-skills/electron-drive-skill/drive.config.json.example +10 -0
  25. package/bundled-skills/electron-drive-skill/package.json +28 -0
  26. package/bundled-skills/electron-drive-skill/scripts/daemon.mjs +352 -0
  27. package/bundled-skills/electron-drive-skill/scripts/drive.mjs +250 -0
  28. package/bundled-skills/electron-drive-skill/scripts/lib.mjs +165 -0
  29. package/bundled-skills/electron-drive-skill/scripts/lib.test.mjs +56 -0
  30. package/bundled-skills/jev-social/SKILL.md +5 -5
  31. package/bundled-skills/lintlang-audit/SKILL.md +100 -0
  32. package/bundled-skills/mcp-dependency-drift-audit/SKILL.md +169 -0
  33. package/bundled-skills/nexrad-mosaic-access/SKILL.md +297 -0
  34. package/bundled-skills/nexrad-mosaic-construction/SKILL.md +277 -0
  35. package/bundled-skills/nexrad-product-access/SKILL.md +258 -0
  36. package/bundled-skills/nexrad-radar-visualization/SKILL.md +318 -0
  37. package/bundled-skills/radar-satellite-analysis/SKILL.md +314 -0
  38. package/bundled-skills/system-prompt-lookup/SKILL.md +188 -0
  39. package/bundled-skills/traderspy-market-briefing/SKILL.md +132 -0
  40. package/bundled-skills/traderspy-market-screener/SKILL.md +182 -0
  41. package/bundled-skills/traderspy-market-screener/references/condition-cookbook.md +70 -0
  42. package/bundled-skills/traderspy-position-check/SKILL.md +130 -0
  43. package/bundled-skills/traderspy-position-check/references/risk-math.md +60 -0
  44. package/bundled-skills/traderspy-smart-money/SKILL.md +151 -0
  45. package/bundled-skills/traderspy-smart-money/references/exchange-notes.md +40 -0
  46. package/bundled-skills/traderspy-technical-analysis/SKILL.md +162 -0
  47. package/bundled-skills/traderspy-technical-analysis/references/derivatives-guide.md +57 -0
  48. package/bundled-skills/traderspy-technical-analysis/references/indicator-guide.md +47 -0
  49. package/bundled-skills/traderspy-trading-signals/SKILL.md +156 -0
  50. package/bundled-skills/traderspy-trading-signals/references/signal-fields.md +64 -0
  51. package/bundled-skills/unified-ai-gateway/SKILL.md +58 -16
  52. package/package.json +1 -1
  53. package/skills_index.json +657 -358
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "updatedAt": "2026-09-26T02:19:01.177Z",
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 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
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-02-17)
141
+ ## Current Models (cached: 2026-09-26)
142
142
 
143
143
  | Model | Model ID | Context | Input $/1M | Output $/1M |
144
144
  | ----------------- | ------------------- | -------------- | ---------- | ----------- |
145
- | Claude Opus 4.6 | `claude-opus-4-6` | 200K (1M beta) | $5.00 | $25.00 |
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-4-6` 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.
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6")
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-4-6',
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-4-6',
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6", # $5.00/$25.00 per 1M tokens
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6",
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-4-6`).
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-4-6` |
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 4.6 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 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 4.6 | `claude-opus-4-6` | — | 200K (1M beta) | 128K | Active |
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 4.6** — 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.
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-4-6` |
55
- | "opus 4.6" | `claude-opus-4-6` |
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-4-6", messages=messages, tools=tools
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 4.6, Claude Sonnet 4.6, and Claude Haiku 4.5. Legacy models (Claude Opus 4.5, Claude Opus 4.1) also support structured outputs.
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