update_skill_files
Change specific files in a skill that already exists, including its
runbook (SKILL.md). Paths you do not name are kept unchanged, so you
never need to read back or resend the rest of the tree. Use this for any
edit to a skill whose files you did not just author in full. To create a
skill, change its name, description, or tags, or replace the entire tree
at once, use save_skill.
Send each file's complete new content, not a diff. A file's executable flag and purpose label keep their current values unless you set them. The skill's description, outcome, tags, and verifier references carry forward untouched.
This writes the next version of the skill. Requires edit access.
Returns skill_id, version, the new version_token, the sorted changed
and deleted paths, and carried_forward, the count of files left
untouched.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | The files to write, one entry per path, each carrying that file's complete new content. A path may appear only once. Use the path 'SKILL.md' to rewrite the runbook itself. | |
| source | No | Attributes the new version to how it was produced ('manual', 'teach', 'optimization', 'description_optimization', or 'audit'); omit to leave it unset. | |
| skill_id | Yes | The skill to act on, identified by its UUID, slug, or name. | |
| delete_paths | No | Paths to remove from the skill's file tree. Each must already be in the tree, and 'SKILL.md' cannot be removed. | |
| expected_version_token | Yes | Concurrency token for the version you last read, returned by get_skill and by every write. A stale token is rejected so you never overwrite a change someone else made. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||