The whole hunk
from line 31, old and new numbered
/
lines
from line 31
3131 -F "files[]=@example_skill.zip"
3232 ```
3333
34 ```bash CLI
35 ant skills create --file example_skill.zip
36 ```
34 <MultiFileExample language="cli" label="CLI">
35 ```bash CLI
36 ant apply skills/pr-summary
37 ```
3738
39 <File filename="skills/pr-summary/SKILL.md">
40 ```markdown
41 ---
42 name: pr-summary
43 description: Summarize a pull request's changes and risks in the team's review format.
44 ---
45
46 # PR summary
47
48 List what changed, why, and anything a reviewer should look at closely, in three short sections.
49 ```
50 </File>
51 </MultiFileExample>
52
3853 ```python Python
3954 import anthropic
4055 from anthropic.lib import files_from_dir
from line 192
177192 puts "Created skill: #{skill.id}"
178193 puts "Latest version: #{skill.latest_version_id}"
179194 ```
195
196 <ForLanguage tab="CLI">
197 [`ant apply`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/apply) uploads the `skills/pr-summary` directory, prints the new skill's ID, and records it in `claude-lock.json`. Commit `claude-lock.json` so the next `ant apply` uploads your edits as a new version instead of creating a second skill.
198 </ForLanguage>
180199</CodeGroup>
181200
182201To list, retrieve, delete, and version custom skills, see [Managing custom skills](https://platform.claude.com/docs/en/build-with-claude/skills-guide#managing-custom-skills). For the full request and response schemas, see the [Create Skill API reference](https://platform.claude.com/docs/en/api/skills/create). Skill bundles upload directly to the Skills API rather than through the [Files API](https://platform.claude.com/docs/en/build-with-claude/files).