skills-guide changedbuild-with-claude/skills-guide
Nearest release: v2.1.238, published 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+18added
Lines−5removed
From line
60
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits21to this page, all time
The whole hunk
from line 60, old and new numbered
/
from line 60
60601. **Claude API key** from the [Claude Console](https://platform.claude.com/settings/keys)
61612. **[Code execution tool](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool)** enabled in your requests
6262
63Skills are generally available on the Claude API and don't require an `anthropic-beta` header, either for the Skills API or for `container.skills` in Messages requests. Requests that still send the `skills-2025-10-02` beta header keep working, and Skills API requests that send it keep the earlier beta response format. The PHP tabs on this page still call the SDK's `beta` namespace and send that header, so their printed output shows the earlier response fields.
64
6563Skills require the code execution tool, so use a model from its [model compatibility list](https://platform.claude.com/docs/en/agents-and-tools/tool-use/code-execution-tool#model-compatibility).
6664
6765***
from line 250
252250 ```
253251
254252 ```php PHP
253 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
255254 $client = new Client();
256255
257256 $message = $client->beta->messages->create(
from line 667
668667 ```
669668
670669 ```php PHP
670 // The PHP SDK exposes the Files API under the beta namespace; field names can differ from other SDKs.
671 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
671672 $client = new Client();
672673
673674 // Step 1: Use a Skill to create a file
from line 903
902903 ```
903904
904905 ```php PHP
906 // The PHP SDK exposes the Files API under the beta namespace; field names can differ from other SDKs.
905907 $client = new Client();
906908 $fileId = 'file_011CNha8iCJcU1wXNR6q4V8w';
907909
from line 1260
12581260 ```
12591261
12601262 ```php PHP
1263 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
12611264 $client = new Client();
12621265
12631266 $response1 = $client->beta->messages->create(
from line 1739
17361739 ```
17371740
17381741 ```php PHP
1742 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
17391743 $client = new Client();
17401744
17411745 $messages = [
from line 2094
20902094 ```
20912095
20922096 ```php PHP
2097 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
20932098 $client = new Client();
20942099
20952100 $message = $client->beta->messages->create(
from line 2408
24032408 ```
24042409
24052410 ```php PHP
2411 // The PHP SDK exposes the Skills API under the beta namespace; field names can differ from other SDKs.
24062412 use Anthropic\Core\FileParam;
24072413 // ...
24082414
from line 2595
25892595 ```
25902596
25912597 ```php PHP
2598 // The PHP SDK exposes the Skills API under the beta namespace; field names can differ from other SDKs.
25922599 $client = new Client();
25932600
25942601 // List Skills (first page)
from line 2705
26982705 ```
26992706
27002707 ```php PHP
2708 // The PHP SDK exposes the Skills API under the beta namespace; field names can differ from other SDKs.
27012709 $client = new Client();
27022710
27032711 $skill = $client->beta->skills->retrieve(
from line 2783
27752783 ```
27762784
27772785 ```php PHP
2786 // The PHP SDK exposes the Skills API under the beta namespace; field names can differ from other SDKs.
27782787 $client = new Client();
27792788
2780 // The PHP SDK still uses the beta Skills namespace, where a Skill's versions
2781 // must be deleted before the Skill itself.
2789 // In the beta namespace, a Skill's versions must be deleted before the Skill itself.
27822790 $skillId = 'skill_01AbCdEfGhIjKlMnOpQrStUv';
27832791 foreach ($client->beta->skills->versions->list($skillId)->pagingEachItem() as $version) {
27842792 $client->beta->skills->versions->delete($version->version, skillID: $skillId);
from line 3229
32213229 ```
32223230
32233231 ```php PHP
3232 // The PHP SDK exposes the Skills API under the beta namespace; field names can differ from other SDKs.
3233 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
32243234 use Anthropic\Core\FileParam;
32253235
32263236 // ...
from line 3621
36113621 ```
36123622
36133623 ```php PHP
3624 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
36143625 $client = new Client();
36153626
36163627 // Custom DCF analysis Skill (ID obtained from Skills API create response)
from line 3728
37173728
37183729The SDK tabs in this section show the `container` value to include in a Messages request. The cURL and CLI tabs show the full request.
37193730
3720**For production:** pin a specific version, so Skill updates never change your deployed behavior. If you omit `version` or set it to `"latest"`, requests use the newest version of the Skill, so a version uploaded by anyone in the [workspace](https://platform.claude.com/docs/en/build-with-claude/skills-guide#workspace-scoped-access) immediately changes what your production agents run. The version ID comes from the create-version response in [Versioning](https://platform.claude.com/docs/en/build-with-claude/skills-guide#versioning) or from the [List Skill Versions API](https://platform.claude.com/docs/en/api/skills/versions/list). The ID is always a string, so quote it in JSON or YAML (versions created under the `skills-2025-10-02` beta header have numeric-looking epoch-timestamp IDs).
3731**For production:** pin a specific version, so Skill updates never change your deployed behavior. If you omit `version` or set it to `"latest"`, requests use the newest version of the Skill, so a version uploaded by anyone in the [workspace](https://platform.claude.com/docs/en/build-with-claude/skills-guide#workspace-scoped-access) immediately changes what your production agents run. The version ID comes from the create-version response in [Versioning](https://platform.claude.com/docs/en/build-with-claude/skills-guide#versioning) or from the [List Skill Versions API](https://platform.claude.com/docs/en/api/skills/versions/list). The ID is always a string, so quote it in JSON or YAML even when it looks numeric.
37213732
37223733<CodeGroup>
37233734 ```bash cURL
from line 4330
43194330 ```
43204331
43214332 ```php PHP
4333 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
43224334 $client = new Client();
43234335
43244336 // Skills render into the system prompt in a fixed, cache-friendly order
from line 4621
46094621 ```
46104622
46114623 ```php PHP
4624 // The PHP SDK supports container skills only through $client->beta->messages with the skills beta.
46124625 use Anthropic\Core\Exceptions\BadRequestException;
46134626
46144627 $client = new Client();
No line in this hunk matches that.