Learn-skills.dev adkit
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/adkit-so/ads-skills/adkit" ~/.claude/skills/neversight-learn-skills-dev-adkit && rm -rf "$T"
manifest:
data/skills-md/adkit-so/ads-skills/adkit/SKILL.mdsource content
AdKit CLI
Agent interface for managing ads via the terminal. Draft-first — nothing publishes until explicitly confirmed.
First: check setup
<!-- ad-process.md is looked up by filename, not path. Users can store it anywhere in their project. Do not rename this file. -->- Search the project for a file named
. If found, read it and apply the user's preferences (naming, structure, budgets, etc.) to all commands. If the user shares preferences but no file exists, offer to create one. Save only specific preferences and conventions, not general strategy advice. Usead-process.md
for cross-platform preferences,## General
/## Meta
etc. for platform-specific ones.## Google - Run
. If it works, proceed to the command routing table.adkit status - If
is not found:adkit
, thennpm i -g adkit-cli
.adkit setup manage - If not authenticated:
opens a browser for login and Meta Ads account connection in one step.adkit setup manage
Command routing
| Task | Command |
|---|---|
| Authenticate / connect | |
| Check accounts and status | |
| Switch project | |
| Create a campaign | |
| Create an ad set | |
| Create an ad (media + copy) | |
| Upload image or video | |
| Find targeting interests | |
| Review drafts before publish | |
| Publish a draft | |
| List campaigns/adsets/ads | |
Core commands
Campaign
adkit manage meta campaigns create --name "..." --objective sales --budget-daily 50
| Flag | Required | Values |
|---|---|---|
| yes | , , , , . Use or in 99% of cases. |
| yes* | Amount in account currency. *Or for lifetime |
| no | Defaults to |
| no | (default), , , |
| no | Use ad set budgets instead of campaign-level CBO |
Ad set
adkit manage meta adsets create --campaign <id> --optimization conversions --event-type purchase --countries US,CA
| Flag | Required | Values |
|---|---|---|
| yes | Parent campaign ID |
| yes | , , , , |
| no* | , , , , , |
| no | Comma-separated ISO codes (e.g., ) |
| no | Interest ID (repeatable). Use to find IDs |
| no | Pixel ID. Falls back to account default |
| no | Only with on campaign |
*Required when
--optimization is conversions.
Ad
adkit manage meta ads create --adset <id> --media ./image.jpg --primary-text "..." --headline "..." --cta learn_more --url "https://..."
| Flag | Required | Values |
|---|---|---|
| yes | Ad set ID |
| yes | File path, URL, or media ID. Repeatable for Flexible Creatives |
| yes | Ad body. Repeatable for Flexible Creatives |
| yes | Headline. Repeatable for Flexible Creatives |
| no | , , , , , |
| no | Landing page URL |
| no | Facebook Page ID. Auto-resolved from defaults |
Flexible Creatives: pass multiple
--media, --primary-text, --headline — Meta tests combinations automatically.
Interests search
adkit manage meta interests search "digital marketing" "social media"
Multiple queries in one call. Returns IDs for
--interest flag on ad set creation.
Run
adkit <command> --help full for all flags and JSON-only fields.
Draft-first workflow
All create/update commands produce a draft by default:
- Create campaign → draft ID
- Create ad set → draft ID
- Create ad → draft ID
- Review:
adkit manage drafts list - Publish each:
adkit manage drafts publish <id>
Add
--publish to any command to skip drafts and publish immediately.
Key behaviors
- AdKit API, not Meta API. All commands go through AdKit's simplified API. Flags like
,--objective
,--budget-daily
are AdKit's abstraction — friendlier than Meta's raw fields.--event-type - Smart defaults. AdKit applies defaults settings (matching Business Manager defaults + improvements like scheduling, etc). Most campaigns only need a few flags — omitted settings are handled automatically. If user needs something specific, they can override the defaults.
: escape hatch for raw Meta API fields not covered by AdKit flags. Merged directly onto the platform payload. Use when a specific Meta option isn't available as a named flag.--platform-overrides <json>
: auto-enabled in non-TTY. Force with--json
flag.--json
: bypasses named flags — pass the full AdKit API request body as JSON.--data <json>- Account resolution: auto-resolved if only one Meta account connected. Otherwise use
.--account <id> - Media handling:
auto-uploads files and detects image vs video from extension.--media
With meta-ads
The meta-ads skill provides Meta advertising strategy: campaign structure, budget management, creative best practices, audience targeting, and performance analysis. Use it to decide what to build, then use this CLI skill to execute it.