---
title: skill_get
description: Fetch one ad-ops playbook (Skill) by slug, including its full instructions and current revision.
---

Fetches a single **Skill** by its `slug`, returning the full instruction `body` plus the current `revision`. Discover slugs first with [`skill_list`](/mcp/tools/skill-list).

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `skill_name` | `string` | yes | The Skill slug (its per-organization handle). |

## Output

`{ slug, name, description, body, revision }`. The `body` is the playbook the agent follows; `revision` is the optimistic-concurrency token.

## Example

> _"Load my weekly-meta-audit playbook and run it."_

```ts
skill_get({ skill_name: 'weekly-meta-audit' });
// → { slug: 'weekly-meta-audit', name: '…', body: '# Playbook\n…', revision: 3 }
```

The agent reads the `body` as its instructions, then calls whatever AdCrunch tools the playbook names (`list_entities`, `query_insights`, …).

:::tip[Keep the revision]

If you intend to edit the Skill, hold onto `revision` — pass it as `base_revision` to [`skill_update`](/mcp/tools/skill-update) or [`skill_delete`](/mcp/tools/skill-delete) so a concurrent change can't be silently clobbered.

:::

## Errors

- Returns an error result when no Skill with that slug exists in your organization.
- `401` or `403` — see [Errors](/mcp/errors), which every tool shares. This one needs `skill:read`.
