skill_create
Create a new ad-ops playbook (Skill) in your organization from an agent session.
Creates a new Skill (ad-ops playbook) in your organization. This is one of
the AdCrunch MCP tools that writes — it requires the skill:write scope.
A common pattern: you teach the agent a workflow once, then ask it to save that
workflow as a Skill so your whole team’s agents can reuse it.
Input
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | Human-readable display name. |
description | string | yes | When to use this Skill — what agents read to decide whether to load it. Invest here. |
body | string | yes | The playbook instructions (markdown). |
slug | string | no | Optional explicit handle; normalized to kebab-case. Defaults to one derived from the name. |
Output
The created Skill: { id, slug, name, description, body, revision, createdBy, … }.
New Skills start at revision 1.
Example
“Save what we just did as a skill called ‘weekly meta audit’ so I can run it every Monday.”
skill_create({
name: 'Weekly Meta Audit',
description:
'Audit Meta campaign performance for the last 14 days and flag overspend. Use every Monday.',
body: '# Weekly Meta Audit\n1. list_campaigns(provider: "meta")\n2. query_insights for the last 14 days…\n3. Flag any campaign with CPA above target.',
});
// → { slug: 'weekly-meta-audit', revision: 1, … }
Slugs are derived from the name
Leave slug out and AdCrunch kebab-cases the name (Weekly Meta Audit →
weekly-meta-audit). Pass slug only when you want a specific handle.
Errors
- Slug already exists — a live Skill with that slug already exists in your organization. Pick a different name or slug (no silent suffixing).
- Invalid slug — the name (or slug) has no letters or digits to derive a slug from. Provide one that does.
401 Unauthorized— the OAuth token has expired.403 insufficient_scope— the token lacks theskill:writescope. Re-authorize and grant skill write access.