skill_get
Read one Skill by its slug, with its playbook and its current revision.
Ask the agent to run a Skill, or to show you one. The agent reads the playbook and the current revision of that Skill.
Run the weekly budget review.
The agent finds the slug with skill_list when it does not know it, and then calls this tool. It does what the playbook says: it calls the AdCrunch tools that the playbook names, and it reports the result to you. The Skill gives the agent no new access, because each of those tools checks its own scope. Reuse a playbook walks the whole job.
Reference
Fetch a single ad-ops playbook (Skill) by its slug, returning the full instruction body and the current revision. Echo the revision back as base_revision when updating the Skill.
Input
| Argument | Type | Required | Description |
|---|---|---|---|
skill_name |
string | yes | The Skill slug (its stable per-organization handle). |
Output
A successful call returns this object in structuredContent.
| Field | Type | Always present | Description |
|---|---|---|---|
skill |
object | yes | The Skill, as it is after the call. |
skill.body |
string | yes | The playbook: the instructions that the agent follows, in Markdown. |
skill.createdAt |
number | yes | The time at which a user created the Skill, in milliseconds since the Unix epoch, UTC. |
skill.createdBy |
string | yes | The id of the user who created the Skill. |
skill.description |
string | yes | When to use the Skill. An agent reads it to choose a Skill. |
skill.id |
string | yes | The id of the Skill. It does not change when the slug changes. |
skill.name |
string | yes | The display name of the Skill. |
skill.revision |
integer | yes | It increases by one at each change. Send it as base_revision to update or delete the Skill. |
skill.slug |
string | yes | The handle of the Skill in your organization. Send it as skill_name. |
skill.updatedAt |
number or null | yes | The time of the last change to the Skill, in milliseconds since the Unix epoch, UTC. It is null until the first update. |
Failure codes
A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.
not_foundforbiddeninvalid_requestinternal_error
Scope
The token must hold skill:read. Auth & scopes 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.
- Read-only. The tool changes nothing.
- Closed world. The tool reads and writes the data of AdCrunch only.
Example
The arguments:
{
"skill_name": "weekly-budget-review"
}
The result, in structuredContent:
{
"skill": {
"body": "## When to run\n\nEvery Monday, before the week starts.\n\n## Steps\n\n1. Read the spend of the last seven days for each active campaign.\n2. Find the campaigns above the target cost per action.\n3. Write down what you found, and what you suggest.",
"createdAt": 1789913600000,
"createdBy": "usr_h3k9m2q7w1z5x8c4v6b0n2d7",
"description": "Use this every Monday to find the campaigns above the target cost per action.",
"id": "skl_q8v3m1z6k2d9w4p7x5n0c3j1",
"name": "Weekly budget review",
"revision": 3,
"slug": "weekly-budget-review",
"updatedAt": 1790086400000
}
}