---
title: skill_delete
description: Delete a Skill, with a revision check that keeps a change that somebody else made.
---

Ask the agent to delete a Skill that you do not use. The Skill leaves your organization, and its slug is free for a new Skill.

> Delete the Black Friday audit Skill.

The agent reads the Skill with [`skill_get`](/mcp/tools/skill-get) to get its revision, and then calls this tool. AdCrunch marks this tool as destructive, so your client can ask you to confirm first. If somebody changed the Skill after the agent read it, AdCrunch deletes nothing. After the delete, the Skill is not in the list, in the prompt menu, or on the [Skills](/console/skills) page of the console. [Reuse a playbook](/mcp/tools/reuse-a-playbook) walks the whole job.

## Reference

Delete an ad-ops playbook (Skill). Pass base_revision (from skill_get) — the delete is rejected if the Skill changed since you read it. The slug becomes free to re-use afterwards.

### Input

| Argument | Type | Required | Description |
| --- | --- | --- | --- |
| `base_revision` | integer | yes | The revision you last read via skill_get. Guards against deleting a concurrently-edited Skill. |
| `skill_name` | string | yes | The Skill slug identifying which Skill to delete. |

### Output

A successful call returns this object in `structuredContent`.

| Field | Type | Always present | Description |
| --- | --- | --- | --- |
| `deleted` | `true` | yes | Always `true`: AdCrunch deleted the Skill. |
| `slug` | string | yes | The slug of the deleted Skill. A new Skill can now use it. |

### Failure codes

A failed call has `isError` set, and `structuredContent.error` holds one of these codes. [Errors](/mcp/errors) describes the shape of a failed call.

- `not_found`
- `revision_mismatch`
- `forbidden`
- `invalid_request`
- `internal_error`

### Scope

The token must hold `skill:write`. [Auth & scopes](/mcp/auth) lists each scope.

### Annotations

A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.

- **Writes.** The tool can change data.
- **Destructive.** The tool can make a change that you cannot undo. A client can ask you to confirm before it calls the tool.
- **Not idempotent.** A second call with the same arguments can change more.
- **Closed world.** The tool reads and writes the data of AdCrunch only.

### Example

The arguments:

```json
{
  "base_revision": 3,
  "skill_name": "weekly-budget-review"
}
```

The result, in `structuredContent`:

```json
{
  "deleted": true,
  "slug": "weekly-budget-review"
}
```
