Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
One change · api

skills-guide changed

build-with-claude/skills-guide

Nearest release: v2.1.280, published under an hour before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+117added
Lines−117removed
From line 79 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits13to this page, all time

The whole hunk

from line 79, old and new numbered
/
lines
from line 79
7979 -H "anthropic-version: 2023-06-01" \
8080 -H "content-type: application/json" \
8181 -d '{
82 "model": "claude-opus-5",
82 "model": "claude-opus-5-5",
8383 "max_tokens": 4096,
8484 "container": {
8585 "skills": [
from line 103
103103 
104104 ```bash CLI
105105 ant messages create <<'YAML'
106 model: claude-opus-5
106 model: claude-opus-5-5
107107 max_tokens: 4096
108108 container:
109109 skills:
from line 123
123123 client = anthropic.Anthropic()
124124 
125125 response = client.messages.create(
126 model="claude-opus-5",
126 model="claude-opus-5-5",
127127 max_tokens=4096,
128128 container={
129129 "skills": [{"type": "anthropic", "skill_id": "pptx", "version": "latest"}]
from line 139
139139 const client = new Anthropic();
140140 
141141 const response = await client.messages.create({
142 model: "claude-opus-5",
142 model: "claude-opus-5-5",
143143 max_tokens: 4096,
144144 container: {
145145 skills: [
from line 170
170170 
171171 var parameters = new MessageCreateParams
172172 {
173 Model = "claude-opus-5",
173 Model = "claude-opus-5-5",
174174 MaxTokens = 4096,
175175 Container = new ContainerParams
176176 {
from line 196
196196 client := anthropic.NewClient()
197197 
198198 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
199 Model: "claude-opus-5",
199 Model: "claude-opus-5-5",
200200 MaxTokens: 4096,
201201 Container: anthropic.MessageCreateParamsContainerUnion{
202202 OfContainers: &anthropic.ContainerParams{
from line 231
231231 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
232232 
233233 MessageCreateParams params = MessageCreateParams.builder()
234 .model(Model.CLAUDE_OPUS_5)
234 .model(Model.CLAUDE_OPUS_5_5)
235235 .maxTokens(4096L)
236236 .container(ContainerParams.builder()
237237 .addSkill(SkillParams.builder()
from line 257
257257 messages: [
258258 ['role' => 'user', 'content' => 'Create a presentation about renewable energy']
259259 ],
260 model: 'claude-opus-5',
260 model: 'claude-opus-5-5',
261261 container: [
262262 'skills' => [
263263 [
from line 279
279279 client = Anthropic::Client.new
280280 
281281 message = client.messages.create(
282 model: "claude-opus-5",
282 model: "claude-opus-5-5",
283283 max_tokens: 4096,
284284 container: {
285285 skills: [
from line 324
324324 -H "anthropic-version: 2023-06-01" \
325325 -H "content-type: application/json" \
326326 -d '{
327 "model": "claude-opus-5",
327 "model": "claude-opus-5-5",
328328 "max_tokens": 4096,
329329 "container": {
330330 "skills": [
from line 364
364364 FILE_ID=$(ant messages create \
365365 --transform 'content.#.content.content.#.file_id|@flatten|0' \
366366 --raw-output <<'YAML'
367 model: claude-opus-5
367 model: claude-opus-5-5
368368 max_tokens: 4096
369369 container:
370370 skills:
from line 397
397397 
398398 # Step 1: Use a Skill to create a file
399399 response = client.messages.create(
400 model="claude-opus-5",
400 model="claude-opus-5-5",
401401 max_tokens=4096,
402402 container={
403403 "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
from line 442
442442 
443443 // Step 1: Use a Skill to create a file
444444 const response = await client.messages.create({
445 model: "claude-opus-5",
445 model: "claude-opus-5-5",
446446 max_tokens: 4096,
447447 container: {
448448 skills: [{ type: "anthropic", skill_id: "xlsx", version: "latest" }]
from line 485
485485 // Step 1: Use a Skill to create a file
486486 var parameters = new MessageCreateParams
487487 {
488 Model = "claude-opus-5",
488 Model = "claude-opus-5-5",
489489 MaxTokens = 4096,
490490 Container = new ContainerParams
491491 {
from line 537
537537 
538538 // Step 1: Use a Skill to create a file
539539 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
540 Model: "claude-opus-5",
540 Model: "claude-opus-5-5",
541541 MaxTokens: 4096,
542542 Container: anthropic.MessageCreateParamsContainerUnion{
543543 OfContainers: &anthropic.ContainerParams{
from line 619
619619 
620620 // Step 1: Use a Skill to create a file
621621 MessageCreateParams params = MessageCreateParams.builder()
622 .model(Model.CLAUDE_OPUS_5)
622 .model(Model.CLAUDE_OPUS_5_5)
623623 .maxTokens(4096L)
624624 .container(ContainerParams.builder()
625625 .addSkill(SkillParams.builder()
from line 671
671671 messages: [
672672 ['role' => 'user', 'content' => 'Create an Excel file with a simple budget spreadsheet']
673673 ],
674 model: 'claude-opus-5',
674 model: 'claude-opus-5-5',
675675 container: [
676676 'skills' => [
677677 ['type' => 'anthropic', 'skillID' => 'xlsx', 'version' => 'latest']
from line 714
714714 
715715 # Step 1: Use a Skill to create a file
716716 response = client.messages.create(
717 model: "claude-opus-5",
717 model: "claude-opus-5-5",
718718 max_tokens: 4096,
719719 container: {
720720 skills: [{ type: "anthropic", skill_id: "xlsx", version: "latest" }]
from line 949
949949 CONTAINER_ID=$(ant messages create \
950950 --transform container.id \
951951 --raw-output <<'YAML'
952 model: claude-opus-5
952 model: claude-opus-5-5
953953 max_tokens: 4096
954954 container:
955955 skills:
from line 964
964964 
965965 # Continue conversation with same container
966966 ant messages create <<YAML
967 model: claude-opus-5
967 model: claude-opus-5-5
968968 max_tokens: 4096
969969 container:
970970 id: $CONTAINER_ID # Reuse container
from line 987
987987 
988988 # First request creates container
989989 response1 = client.messages.create(
990 model="claude-opus-5",
990 model="claude-opus-5-5",
991991 max_tokens=4096,
992992 container={
993993 "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
from line 1012
10121012 ]
10131013 
10141014 response2 = client.messages.create(
1015 model="claude-opus-5",
1015 model="claude-opus-5-5",
10161016 max_tokens=4096,
10171017 container={
10181018 "id": response1.container.id, # Reuse container
from line 1028
10281028 
10291029 // First request creates container
10301030 const response1 = await client.messages.create({
1031 model: "claude-opus-5",
1031 model: "claude-opus-5-5",
10321032 max_tokens: 4096,
10331033 container: {
10341034 skills: [{ type: "anthropic", skill_id: "xlsx", version: "latest" }]
from line 1052
10521052 ];
10531053 
10541054 const response2 = await client.messages.create({
1055 model: "claude-opus-5",
1055 model: "claude-opus-5-5",
10561056 max_tokens: 4096,
10571057 container: {
10581058 id: response1.container!.id, // Reuse container
from line 1069
10691069 // First request with a Skill
10701070 var parameters1 = new MessageCreateParams
10711071 {
1072 Model = "claude-opus-5",
1072 Model = "claude-opus-5-5",
10731073 MaxTokens = 4096,
10741074 Container = new ContainerParams
10751075 {
from line 1098
10981098 
10991099 var parameters2 = new MessageCreateParams
11001100 {
1101 Model = "claude-opus-5",
1101 Model = "claude-opus-5-5",
11021102 MaxTokens = 4096,
11031103 Container = new ContainerParams
11041104 {
from line 1130
11301130 client := anthropic.NewClient()
11311131 
11321132 response1, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
1133 Model: "claude-opus-5",
1133 Model: "claude-opus-5-5",
11341134 MaxTokens: 4096,
11351135 Container: anthropic.MessageCreateParamsContainerUnion{
11361136 OfContainers: &anthropic.ContainerParams{
from line 1164
11641164 assistantText := strings.Join(textParts, "\n")
11651165 
11661166 response2, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
1167 Model: "claude-opus-5",
1167 Model: "claude-opus-5-5",
11681168 MaxTokens: 4096,
11691169 Container: anthropic.MessageCreateParamsContainerUnion{
11701170 OfContainers: &anthropic.ContainerParams{
from line 1207
12071207 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
12081208 
12091209 MessageCreateParams params1 = MessageCreateParams.builder()
1210 .model(Model.CLAUDE_OPUS_5)
1210 .model(Model.CLAUDE_OPUS_5_5)
12111211 .maxTokens(4096L)
12121212 .container(ContainerParams.builder()
12131213 .addSkill(SkillParams.builder()
from line 1223
12231223 Message response1 = client.messages().create(params1);
12241224 
12251225 MessageCreateParams params2 = MessageCreateParams.builder()
1226 .model(Model.CLAUDE_OPUS_5)
1226 .model(Model.CLAUDE_OPUS_5_5)
12271227 .maxTokens(4096L)
12281228 .container(ContainerParams.builder()
12291229 .id(response1.container().get().id())
from line 1256
12561256 messages: [
12571257 ['role' => 'user', 'content' => 'Create a sample sales dataset and analyze it']
12581258 ],
1259 model: 'claude-opus-5',
1259 model: 'claude-opus-5-5',
12601260 container: [
12611261 'skills' => [
12621262 ['type' => 'anthropic', 'skillID' => 'xlsx', 'version' => 'latest']
from line 1280
12801280 $response2 = $client->messages->create(
12811281 maxTokens: 4096,
12821282 messages: $messages,
1283 model: 'claude-opus-5',
1283 model: 'claude-opus-5-5',
12841284 container: [
12851285 'id' => $response1->container->id,
12861286 'skills' => [
from line 1299
12991299 client = Anthropic::Client.new
13001300 
13011301 response1 = client.messages.create(
1302 model: "claude-opus-5",
1302 model: "claude-opus-5-5",
13031303 max_tokens: 4096,
13041304 container: {
13051305 skills: [{ type: "anthropic", skill_id: "xlsx", version: "latest" }]
from line 1323
13231323 ]
13241324 
13251325 response2 = client.messages.create(
1326 model: "claude-opus-5",
1326 model: "claude-opus-5-5",
13271327 max_tokens: 4096,
13281328 container: {
13291329 id: response1.container.id,
from line 1353
13531353 -H "anthropic-version: 2023-06-01" \
13541354 -H "content-type: application/json" \
13551355 -d '{
1356 "model": "claude-opus-5",
1356 "model": "claude-opus-5-5",
13571357 "max_tokens": 4096,
13581358 "container": {
13591359 "skills": [
from line 1385
13851385 -H "anthropic-version: 2023-06-01" \
13861386 -H "content-type: application/json" \
13871387 -d "{
1388 \"model\": \"claude-opus-5\",
1388 \"model\": \"claude-opus-5-5\",
13891389 \"max_tokens\": 4096,
13901390 \"container\": {
13911391 \"id\": \"$CONTAINER_ID\",
from line 1408
14081408 
14091409 # Initial request: capture the full JSON response to a temp file
14101410 ant messages create > "$RESP" <<'YAML'
1411 model: claude-opus-5
1411 model: claude-opus-5-5
14121412 max_tokens: 4096
14131413 container:
14141414 skills:
from line 1429
14291429 CONTAINER_ID=$(jq -r '.container.id' "$RESP")
14301430 
14311431 ant messages create > "$RESP" <<YAML
1432 model: claude-opus-5
1432 model: claude-opus-5-5
14331433 max_tokens: 4096
14341434 container:
14351435 id: $CONTAINER_ID
from line 1451
14511451 max_retries = 10
14521452 
14531453 response = client.messages.create(
1454 model="claude-opus-5",
1454 model="claude-opus-5-5",
14551455 max_tokens=4096,
14561456 container={
14571457 "skills": [
from line 1473
14731473 
14741474 messages.append({"role": "assistant", "content": response.content})
14751475 response = client.messages.create(
1476 model="claude-opus-5",
1476 model="claude-opus-5-5",
14771477 max_tokens=4096,
14781478 container={
14791479 "id": response.container.id,
from line 1498
14981498 const maxRetries = 10;
14991499 
15001500 let response = await client.messages.create({
1501 model: "claude-opus-5",
1501 model: "claude-opus-5-5",
15021502 max_tokens: 4096,
15031503 container: {
15041504 skills: [{ type: "custom", skill_id: "skill_01AbCdEfGhIjKlMnOpQrStUv", version: "latest" }]
from line 1518
15181518 content: response.content as Anthropic.ContentBlockParam[]
15191519 });
15201520 response = await client.messages.create({
1521 model: "claude-opus-5",
1521 model: "claude-opus-5-5",
15221522 max_tokens: 4096,
15231523 container: {
15241524 id: response.container!.id,
from line 1550
15501550 {
15511551 var parameters = new MessageCreateParams
15521552 {
1553 Model = "claude-opus-5",
1553 Model = "claude-opus-5-5",
15541554 MaxTokens = 4096,
15551555 Container = containerId is null
15561556 ? new ContainerParams
from line 1607
16071607 maxRetries := 10
16081608 
16091609 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
1610 Model: "claude-opus-5",
1610 Model: "claude-opus-5-5",
16111611 MaxTokens: 4096,
16121612 Container: anthropic.MessageCreateParamsContainerUnion{
16131613 OfContainers: &anthropic.ContainerParams{
from line 1637
16371637 messages = append(messages, response.ToParam())
16381638 
16391639 response, err = client.Messages.New(context.TODO(), anthropic.MessageNewParams{
1640 Model: "claude-opus-5",
1640 Model: "claude-opus-5-5",
16411641 MaxTokens: 4096,
16421642 Container: anthropic.MessageCreateParamsContainerUnion{
16431643 OfContainers: &anthropic.ContainerParams{
from line 1684
16841684 
16851685 Message response = client.messages().create(
16861686 MessageCreateParams.builder()
1687 .model(Model.CLAUDE_OPUS_5)
1687 .model(Model.CLAUDE_OPUS_5_5)
16881688 .maxTokens(4096L)
16891689 .container(ContainerParams.builder()
16901690 .addSkill(SkillParams.builder()
from line 1707
17071707 
17081708 response = client.messages().create(
17091709 MessageCreateParams.builder()
1710 .model(Model.CLAUDE_OPUS_5)
1710 .model(Model.CLAUDE_OPUS_5_5)
17111711 .maxTokens(4096L)
17121712 .container(ContainerParams.builder()
17131713 .id(response.container().get().id())
from line 1735
17351735 $response = $client->messages->create(
17361736 maxTokens: 4096,
17371737 messages: $messages,
1738 model: 'claude-opus-5',
1738 model: 'claude-opus-5-5',
17391739 container: [
17401740 'skills' => [
17411741 [
from line 1758
17581758 $response = $client->messages->create(
17591759 maxTokens: 4096,
17601760 messages: $messages,
1761 model: 'claude-opus-5',
1761 model: 'claude-opus-5-5',
17621762 container: [
17631763 'id' => $response->container->id,
17641764 'skills' => [
from line 1783
17831783 max_retries = 10
17841784 
17851785 response = client.messages.create(
1786 model: "claude-opus-5",
1786 model: "claude-opus-5-5",
17871787 max_tokens: 4096,
17881788 container: {
17891789 skills: [
from line 1804
18041804 messages << { role: "assistant", content: response.content }
18051805 
18061806 response = client.messages.create(
1807 model: "claude-opus-5",
1807 model: "claude-opus-5-5",
18081808 max_tokens: 4096,
18091809 container: {
18101810 id: response.container.id,
from line 1838
18381838 -H "anthropic-version: 2023-06-01" \
18391839 -H "content-type: application/json" \
18401840 -d '{
1841 "model": "claude-opus-5",
1841 "model": "claude-opus-5-5",
18421842 "max_tokens": 4096,
18431843 "container": {
18441844 "skills": [
from line 1872
18721872 
18731873 ```bash CLI
18741874 ant messages create <<'YAML'
1875 model: claude-opus-5
1875 model: claude-opus-5-5
18761876 max_tokens: 4096
18771877 container:
18781878 skills:
from line 1898
18981898 client = anthropic.Anthropic()
18991899 
19001900 response = client.messages.create(
1901 model="claude-opus-5",
1901 model="claude-opus-5-5",
19021902 max_tokens=4096,
19031903 container={
19041904 "skills": [
from line 1922
19221922 const client = new Anthropic();
19231923 
19241924 const response = await client.messages.create({
1925 model: "claude-opus-5",
1925 model: "claude-opus-5-5",
19261926 max_tokens: 4096,
19271927 container: {
19281928 skills: [
from line 1963
19631963 
19641964 var parameters = new MessageCreateParams
19651965 {
1966 Model = "claude-opus-5",
1966 Model = "claude-opus-5-5",
19671967 MaxTokens = 4096,
19681968 Container = new ContainerParams
19691969 {
from line 2001
20012001 client := anthropic.NewClient()
20022002 
20032003 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
2004 Model: "claude-opus-5",
2004 Model: "claude-opus-5-5",
20052005 MaxTokens: 4096,
20062006 Container: anthropic.MessageCreateParamsContainerUnion{
20072007 OfContainers: &anthropic.ContainerParams{
from line 2046
20462046 AnthropicClient client = AnthropicOkHttpClient.fromEnv();
20472047 
20482048 MessageCreateParams params = MessageCreateParams.builder()
2049 .model(Model.CLAUDE_OPUS_5)
2049 .model(Model.CLAUDE_OPUS_5_5)
20502050 .maxTokens(4096L)
20512051 .container(ContainerParams.builder()
20522052 .skills(List.of(
from line 2084
20842084 messages: [
20852085 ['role' => 'user', 'content' => 'Analyze sales data and create a presentation']
20862086 ],
2087 model: 'claude-opus-5',
2087 model: 'claude-opus-5-5',
20882088 container: [
20892089 'skills' => [
20902090 [
from line 2116
21162116 client = Anthropic::Client.new
21172117 
21182118 message = client.messages.create(
2119 model: "claude-opus-5",
2119 model: "claude-opus-5-5",
21202120 max_tokens: 4096,
21212121 container: {
21222122 skills: [
from line 2811
28112811 -H "anthropic-version: 2023-06-01" \
28122812 -H "content-type: application/json" \
28132813 -d "{
2814 \"model\": \"claude-opus-5\",
2814 \"model\": \"claude-opus-5-5\",
28152815 \"max_tokens\": 4096,
28162816 \"container\": {
28172817 \"skills\": [{
from line 2830
28302830 -H "anthropic-version: 2023-06-01" \
28312831 -H "content-type: application/json" \
28322832 -d '{
2833 "model": "claude-opus-5",
2833 "model": "claude-opus-5-5",
28342834 "max_tokens": 4096,
28352835 "container": {
28362836 "skills": [{
from line 2854
28542854 
28552855 # Use specific version
28562856 ant messages create <<YAML
2857 model: claude-opus-5
2857 model: claude-opus-5-5
28582858 max_tokens: 4096
28592859 container:
28602860 skills:
from line 2871
28712871 
28722872 # Use latest version
28732873 ant messages create <<YAML
2874 model: claude-opus-5
2874 model: claude-opus-5-5
28752875 max_tokens: 4096
28762876 container:
28772877 skills:
from line 2901
29012901 
29022902 # Use specific version
29032903 response = client.messages.create(
2904 model="claude-opus-5",
2904 model="claude-opus-5-5",
29052905 max_tokens=4096,
29062906 container={
29072907 "skills": [
from line 2918
29182918 
29192919 # Use latest version
29202920 response = client.messages.create(
2921 model="claude-opus-5",
2921 model="claude-opus-5-5",
29222922 max_tokens=4096,
29232923 container={
29242924 "skills": [
from line 2946
29462946 
29472947 // Use specific version
29482948 const specificVersionResponse = await client.messages.create({
2949 model: "claude-opus-5",
2949 model: "claude-opus-5-5",
29502950 max_tokens: 4096,
29512951 container: {
29522952 skills: [
from line 2963
29632963 
29642964 // Use latest version
29652965 const latestVersionResponse = await client.messages.create({
2966 model: "claude-opus-5",
2966 model: "claude-opus-5-5",
29672967 max_tokens: 4096,
29682968 container: {
29692969 skills: [
from line 3008
30083008 // Use specific version
30093009 var specificVersionParams = new MessageCreateParams
30103010 {
3011 Model = "claude-opus-5",
3011 Model = "claude-opus-5-5",
30123012 MaxTokens = 4096,
30133013 Container = new ContainerParams
30143014 {
from line 3032
30323032 // Use latest version
30333033 var latestVersionParams = new MessageCreateParams
30343034 {
3035 Model = "claude-opus-5",
3035 Model = "claude-opus-5-5",
30363036 MaxTokens = 4096,
30373037 Container = new ContainerParams
30383038 {
from line 3085
30853085 
30863086 // Use specific version
30873087 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
3088 Model: "claude-opus-5",
3088 Model: "claude-opus-5-5",
30893089 MaxTokens: 4096,
30903090 Container: anthropic.MessageCreateParamsContainerUnion{
30913091 OfContainers: &anthropic.ContainerParams{
from line 3112
31123112 
31133113 // Use latest version
31143114 latestResponse, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
3115 Model: "claude-opus-5",
3115 Model: "claude-opus-5-5",
31163116 MaxTokens: 4096,
31173117 Container: anthropic.MessageCreateParamsContainerUnion{
31183118 OfContainers: &anthropic.ContainerParams{
from line 3168
31683168 
31693169 // Use specific version
31703170 MessageCreateParams specificVersionParams = MessageCreateParams.builder()
3171 .model(Model.CLAUDE_OPUS_5)
3171 .model(Model.CLAUDE_OPUS_5_5)
31723172 .maxTokens(4096L)
31733173 .container(ContainerParams.builder()
31743174 .addSkill(SkillParams.builder()
from line 3186
31863186 
31873187 // Use latest version
31883188 MessageCreateParams latestVersionParams = MessageCreateParams.builder()
3189 .model(Model.CLAUDE_OPUS_5)
3189 .model(Model.CLAUDE_OPUS_5_5)
31903190 .maxTokens(4096L)
31913191 .container(ContainerParams.builder()
31923192 .addSkill(SkillParams.builder()
from line 3230
32303230 $response = $client->messages->create(
32313231 maxTokens: 4096,
32323232 messages: [['role' => 'user', 'content' => 'Use updated Skill']],
3233 model: 'claude-opus-5',
3233 model: 'claude-opus-5-5',
32343234 container: [
32353235 'skills' => [[
32363236 'type' => 'custom',
from line 3246
32463246 $latestResponse = $client->messages->create(
32473247 maxTokens: 4096,
32483248 messages: [['role' => 'user', 'content' => 'Use latest Skill version']],
3249 model: 'claude-opus-5',
3249 model: 'claude-opus-5-5',
32503250 container: [
32513251 'skills' => [[
32523252 'type' => 'custom',
from line 3281
32813281 
32823282 # Use specific version
32833283 response = client.messages.create(
3284 model: "claude-opus-5",
3284 model: "claude-opus-5-5",
32853285 max_tokens: 4096,
32863286 container: {
32873287 skills: [{
from line 3297
32973297 
32983298 # Use latest version
32993299 latest_response = client.messages.create(
3300 model: "claude-opus-5",
3300 model: "claude-opus-5-5",
33013301 max_tokens: 4096,
33023302 container: {
33033303 skills: [{
from line 3475
34753475 -H "anthropic-version: 2023-06-01" \
34763476 -H "content-type: application/json" \
34773477 -d '{
3478 "model": "claude-opus-5",
3478 "model": "claude-opus-5-5",
34793479 "max_tokens": 4096,
34803480 "container": {
34813481 "skills": [
from line 3504
35043504 
35053505 ```bash CLI
35063506 ant messages create <<'YAML'
3507 model: claude-opus-5
3507 model: claude-opus-5-5
35083508 max_tokens: 4096
35093509 container:
35103510 skills:
from line 3531
35313531 
35323532 # Use with Excel to create financial model
35333533 response = client.messages.create(
3534 model="claude-opus-5",
3534 model="claude-opus-5-5",
35353535 max_tokens=4096,
35363536 container={
35373537 "skills": [
from line 3558
35583558 
35593559 // Use with Excel to create financial model
35603560 const response = await client.messages.create({
3561 model: "claude-opus-5",
3561 model: "claude-opus-5-5",
35623562 max_tokens: 4096,
35633563 container: {
35643564 skills: [
from line 3586
35863586 // Use with Excel to create financial model
35873587 var parameters = new MessageCreateParams
35883588 {
3589 Model = "claude-opus-5",
3589 Model = "claude-opus-5-5",
35903590 MaxTokens = 4096,
35913591 Container = new ContainerParams
35923592 {
from line 3622
36223622 
36233623 // Use with Excel to create financial model
36243624 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
3625 Model: "claude-opus-5",
3625 Model: "claude-opus-5-5",
36263626 MaxTokens: 4096,
36273627 Container: anthropic.MessageCreateParamsContainerUnion{
36283628 OfContainers: &anthropic.ContainerParams{
from line 3666
36663666 
36673667 // Use with Excel Skill to create financial model
36683668 MessageCreateParams params = MessageCreateParams.builder()
3669 .model(Model.CLAUDE_OPUS_5)
3669 .model(Model.CLAUDE_OPUS_5_5)
36703670 .maxTokens(4096L)
36713671 .container(ContainerParams.builder()
36723672 .skills(List.of(
from line 3703
37033703 messages: [
37043704 ['role' => 'user', 'content' => 'Build a DCF valuation model for a SaaS company']
37053705 ],
3706 model: 'claude-opus-5',
3706 model: 'claude-opus-5-5',
37073707 container: [
37083708 'skills' => [
37093709 ['type' => 'anthropic', 'skillID' => 'xlsx', 'version' => 'latest'],
from line 3725
37253725 
37263726 # Use with Excel to create financial model
37273727 response = client.messages.create(
3728 model: "claude-opus-5",
3728 model: "claude-opus-5-5",
37293729 max_tokens: 4096,
37303730 container: {
37313731 skills: [
from line 3799
37993799 -H "anthropic-version: 2023-06-01" \
38003800 -H "content-type: application/json" \
38013801 -d '{
3802 "model": "claude-opus-5",
3802 "model": "claude-opus-5-5",
38033803 "max_tokens": 4096,
38043804 "container": {
38053805 "skills": [{
from line 3816
38163816 ```bash CLI
38173817 # Pin to specific versions for stability
38183818 ant messages create <<YAML
3819 model: claude-opus-5
3819 model: claude-opus-5-5
38203820 max_tokens: 4096
38213821 container:
38223822 skills:
from line 3940
39403940 -H "anthropic-version: 2023-06-01" \
39413941 -H "content-type: application/json" \
39423942 -d '{
3943 "model": "claude-opus-5",
3943 "model": "claude-opus-5-5",
39443944 "max_tokens": 4096,
39453945 "container": {
39463946 "skills": [{
from line 3957
39573957 ```bash CLI
39583958 # Use latest for active development
39593959 ant messages create <<YAML
3960 model: claude-opus-5
3960 model: claude-opus-5-5
39613961 max_tokens: 4096
39623962 container:
39633963 skills:
from line 4083
40834083 -H "anthropic-version: 2023-06-01" \
40844084 -H "content-type: application/json" \
40854085 -d '{
4086 "model": "claude-opus-5",
4086 "model": "claude-opus-5-5",
40874087 "max_tokens": 4096,
40884088 "container": {
40894089 "skills": [
from line 4100
41004100 -H "anthropic-version: 2023-06-01" \
41014101 -H "content-type: application/json" \
41024102 -d '{
4103 "model": "claude-opus-5",
4103 "model": "claude-opus-5-5",
41044104 "max_tokens": 4096,
41054105 "container": {
41064106 "skills": [
from line 4116
41164116 ```bash CLI
41174117 # Skills render into the system prompt in a fixed, cache-friendly order
41184118 ant messages create <<'YAML'
4119 model: claude-opus-5
4119 model: claude-opus-5-5
41204120 max_tokens: 4096
41214121 container:
41224122 skills:
from line 4133
41334133 
41344134 # Changing the Skills list ([xlsx] vs [xlsx, pptx]) changes the prefix: a cache miss, while an identical list is a cache hit
41354135 ant messages create <<'YAML'
4136 model: claude-opus-5
4136 model: claude-opus-5-5
41374137 max_tokens: 4096
41384138 container:
41394139 skills:
from line 4157
41574157 
41584158 # Skills render into the system prompt in a fixed, cache-friendly order
41594159 response1 = client.messages.create(
4160 model="claude-opus-5",
4160 model="claude-opus-5-5",
41614161 max_tokens=4096,
41624162 container={
41634163 "skills": [{"type": "anthropic", "skill_id": "xlsx", "version": "latest"}]
from line 4168
41684168 
41694169 # Changing the Skills list ([xlsx] vs [xlsx, pptx]) changes the prefix: a cache miss, while an identical list is a cache hit
41704170 response2 = client.messages.create(
4171 model="claude-opus-5",
4171 model="claude-opus-5-5",
41724172 max_tokens=4096,
41734173 container={
41744174 "skills": [
from line 4190
41904190 
41914191 // Skills render into the system prompt in a fixed, cache-friendly order
41924192 const response1 = await client.messages.create({
4193 model: "claude-opus-5",
4193 model: "claude-opus-5-5",
41944194 max_tokens: 4096,
41954195 container: {
41964196 skills: [{ type: "anthropic", skill_id: "xlsx", version: "latest" }]
from line 4201
42014201 
42024202 // Changing the Skills list ([xlsx] vs [xlsx, pptx]) changes the prefix: a cache miss, while an identical list is a cache hit
42034203 const response2 = await client.messages.create({
4204 model: "claude-opus-5",
4204 model: "claude-opus-5-5",
42054205 max_tokens: 4096,
42064206 container: {
42074207 skills: [
from line 4220
42204220 // Skills render into the system prompt in a fixed, cache-friendly order
42214221 var parameters1 = new MessageCreateParams
42224222 {
4223 Model = "claude-opus-5",
4223 Model = "claude-opus-5-5",
42244224 MaxTokens = 4096,
42254225 Container = new ContainerParams
42264226 {
from line 4244
42444244 // Different Skill set ([xlsx] vs [xlsx, pptx]) = a different prefix: a cache miss (an identical set is a cache hit)
42454245 var parameters2 = new MessageCreateParams
42464246 {
4247 Model = "claude-opus-5",
4247 Model = "claude-opus-5-5",
42484248 MaxTokens = 4096,
42494249 Container = new ContainerParams
42504250 {
from line 4277
42774277 
42784278 // Skills render into the system prompt in a fixed, cache-friendly order
42794279 response1, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
4280 Model: "claude-opus-5",
4280 Model: "claude-opus-5-5",
42814281 MaxTokens: 4096,
42824282 Container: anthropic.MessageCreateParamsContainerUnion{
42834283 OfContainers: &anthropic.ContainerParams{
from line 4304
43044304 
43054305 // Changing the Skills list ([xlsx] vs [xlsx, pptx]) changes the prefix: a cache miss, while an identical list is a cache hit
43064306 response2, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
4307 Model: "claude-opus-5",
4307 Model: "claude-opus-5-5",
43084308 MaxTokens: 4096,
43094309 Container: anthropic.MessageCreateParamsContainerUnion{
43104310 OfContainers: &anthropic.ContainerParams{
from line 4345
43454345 
43464346 // Skills render into the system prompt in a fixed, cache-friendly order
43474347 MessageCreateParams params1 = MessageCreateParams.builder()
4348 .model(Model.CLAUDE_OPUS_5)
4348 .model(Model.CLAUDE_OPUS_5_5)
43494349 .maxTokens(4096L)
43504350 .container(ContainerParams.builder()
43514351 .skills(List.of(
from line 4365
43654365 
43664366 // Changing the Skills list ([xlsx] vs [xlsx, pptx]) changes the prefix: a cache miss, while an identical list is a cache hit
43674367 MessageCreateParams params2 = MessageCreateParams.builder()
4368 .model(Model.CLAUDE_OPUS_5)
4368 .model(Model.CLAUDE_OPUS_5_5)
43694369 .maxTokens(4096L)
43704370 .container(ContainerParams.builder()
43714371 .skills(List.of(
from line 4399
43994399 messages: [
44004400 ['role' => 'user', 'content' => 'Analyze sales data']
44014401 ],
4402 model: 'claude-opus-5',
4402 model: 'claude-opus-5-5',
44034403 container: [
44044404 'skills' => [
44054405 ['type' => 'anthropic', 'skillID' => 'xlsx', 'version' => 'latest']
from line 4417
44174417 messages: [
44184418 ['role' => 'user', 'content' => 'Create a presentation']
44194419 ],
4420 model: 'claude-opus-5',
4420 model: 'claude-opus-5-5',
44214421 container: [
44224422 'skills' => [
44234423 ['type' => 'anthropic', 'skillID' => 'xlsx', 'version' => 'latest'],
from line 4436
44364436 
44374437 # Skills render into the system prompt in a fixed, cache-friendly order
44384438 response1 = client.messages.create(
4439 model: "claude-opus-5",
4439 model: "claude-opus-5-5",
44404440 max_tokens: 4096,
44414441 container: {
44424442 skills: [{ type: "anthropic", skill_id: "xlsx", version: "latest" }]
from line 4448
44484448 
44494449 # Changing the Skills list ([xlsx] vs [xlsx, pptx]) changes the prefix: a cache miss, while an identical list is a cache hit
44504450 response2 = client.messages.create(
4451 model: "claude-opus-5",
4451 model: "claude-opus-5-5",
44524452 max_tokens: 4096,
44534453 container: {
44544454 skills: [
from line 4481
44814481 if ! RESULT=$(ant messages create \
44824482 --transform-error error.message \
44834483 --format-error yaml 2>&1 <<'YAML'
4484 model: claude-opus-5
4484 model: claude-opus-5-5
44854485 max_tokens: 4096
44864486 container:
44874487 skills:
from line 4514
45144514 
45154515 try:
45164516 response = client.messages.create(
4517 model="claude-opus-5",
4517 model="claude-opus-5-5",
45184518 max_tokens=4096,
45194519 container={
45204520 "skills": [
from line 4541
45414541 
45424542 try {
45434543 const response = await client.messages.create({
4544 model: "claude-opus-5",
4544 model: "claude-opus-5-5",
45454545 max_tokens: 4096,
45464546 container: {
45474547 skills: [
from line 4571
45714571 {
45724572 var parameters = new MessageCreateParams
45734573 {
4574 Model = "claude-opus-5",
4574 Model = "claude-opus-5-5",
45754575 MaxTokens = 4096,
45764576 Container = new ContainerParams
45774577 {
from line 4602
46024602 client := anthropic.NewClient()
46034603 
46044604 response, err := client.Messages.New(context.TODO(), anthropic.MessageNewParams{
4605 Model: "claude-opus-5",
4605 Model: "claude-opus-5-5",
46064606 MaxTokens: 4096,
46074607 Container: anthropic.MessageCreateParamsContainerUnion{
46084608 OfContainers: &anthropic.ContainerParams{
from line 4647
46474647 
46484648 try {
46494649 MessageCreateParams params = MessageCreateParams.builder()
4650 .model(Model.CLAUDE_OPUS_5)
4650 .model(Model.CLAUDE_OPUS_5_5)
46514651 .maxTokens(4096L)
46524652 .container(ContainerParams.builder()
46534653 .addSkill(SkillParams.builder()
from line 4683
46834683 messages: [
46844684 ['role' => 'user', 'content' => 'Process data']
46854685 ],
4686 model: 'claude-opus-5',
4686 model: 'claude-opus-5-5',
46874687 container: [
46884688 'skills' => [
46894689 [
from line 4712
47124712 
47134713 begin
47144714 response = client.messages.create(
4715 model: "claude-opus-5",
4715 model: "claude-opus-5-5",
47164716 max_tokens: 4096,
47174717 container: {
47184718 skills: [