Skip to content
AdCrunch
Esc
↑↓navigate↵open⌘Jpreview
On this page

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_entities(type: "campaign") for each Meta advertiser\n2. query_insights for the last 14 days…\n3. Flag any campaign with CPA above target.',
});
// → { slug: 'weekly-meta-audit', revision: 1, … }

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 or 403 — see Errors, which every tool shares. This one needs skill:write.

Reference

Create an ad-ops playbook (Skill) in the active organization. The slug (its stable handle) is derived from the name unless an explicit slug is provided. Fails if a Skill with the same slug already exists in the organization.

Input

Argument Type Required Description
body string yes The playbook instructions (the Skill body, markdown).
description string yes When to use this Skill — what an agent reads to decide whether to load it.
name string yes Human-readable display name.
slug string no Optional explicit slug handle; normalized to kebab-case. Defaults to a slug derived from the name.

Failure codes

A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.

  • invalid_slug
  • slug_conflict
  • forbidden
  • invalid_request
  • internal_error

Scope

The token must hold skill:write. 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.

  • 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.

Was this page helpful?