adkit
GitHubMeta广告终端管理CLI工具,支持创建推广活动、广告组及素材,管理草稿与发布。需先检查配置并认证,强调草稿确认机制,不涉策略建议。
Trigger Scenarios
Install
npx skills add NeverSight/learn-skills.dev --skill adkit -g -y
SKILL.md
Frontmatter
{
"name": "adkit",
"description": "Reference for the AdKit CLI (`adkit-cli` on npm, `adkit` command). Maps commands to ad operations: creating campaigns, ad sets, and ads on Meta, managing drafts, uploading media, searching interests. Load when the user wants to execute ad operations through the terminal or when `adkit` is installed and the user is ready to publish. Not for strategy, copywriting, creative advice, or learning about ads."
}
AdKit CLI
Agent interface for managing ads via the terminal. Draft-first — nothing publishes until explicitly confirmed.
First: check setup
- Search the project for a file named
ad-process.md. 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. Use## Generalfor cross-platform preferences,## Meta/## Googleetc. for platform-specific ones. - Run
adkit status. If it works, proceed to the command routing table. - If
adkitis not found:npm i -g adkit-cli, thenadkit setup manage. - If not authenticated:
adkit setup manageopens a browser for login and Meta Ads account connection in one step.
Command routing
| Task | Command |
|---|---|
| Authenticate / connect | adkit setup |
| Check accounts and status | adkit status |
| Switch project | adkit projects use <id> |
| Create a campaign | adkit manage meta campaigns create |
| Create an ad set | adkit manage meta adsets create |
| Create an ad (media + copy) | adkit manage meta ads create |
| Upload image or video | adkit manage meta media upload |
| Find targeting interests | adkit manage meta interests search |
| Review drafts before publish | adkit manage drafts list |
| Publish a draft | adkit manage drafts publish <id> |
| List campaigns/adsets/ads | adkit manage meta {entity} list |
Core commands
Campaign
adkit manage meta campaigns create --name "..." --objective sales --budget-daily 50
| Flag | Required | Values |
|---|---|---|
--objective |
yes | sales, leads, engagement, awareness, app_promotion. Use sales or leads in 99% of cases. |
--budget-daily |
yes* | Amount in account currency. *Or --budget-total for lifetime |
--name |
no | Defaults to campaign YYYY-MM-DD |
--bid-strategy |
no | lowest_cost (default), cost_cap, bid_cap, min_roas |
--abo |
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 |
|---|---|---|
--campaign |
yes | Parent campaign ID |
--optimization |
yes | conversions, lead_generation, link_clicks, impressions, reach |
--event-type |
no* | purchase, lead, subscribe, start_trial, add_to_cart, contact |
--countries |
no | Comma-separated ISO codes (e.g., US,CA,GB) |
--interest |
no | Interest ID (repeatable). Use interests search to find IDs |
--pixel |
no | Pixel ID. Falls back to account default |
--budget-daily |
no | Only with --abo 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 |
|---|---|---|
--adset |
yes | Ad set ID |
--media |
yes | File path, URL, or media ID. Repeatable for Flexible Creatives |
--primary-text |
yes | Ad body. Repeatable for Flexible Creatives |
--headline |
yes | Headline. Repeatable for Flexible Creatives |
--cta |
no | learn_more, shop_now, sign_up, download, book_now, apply_now |
--url |
no | Landing page URL |
--page |
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,--event-typeare AdKit's abstraction — friendlier than Meta's raw fields. - 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.
--platform-overrides <json>: 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.--json: auto-enabled in non-TTY. Force with--jsonflag.--data <json>: bypasses named flags — pass the full AdKit API request body as JSON.- Account resolution: auto-resolved if only one Meta account connected. Otherwise use
--account <id>. - Media handling:
--mediaauto-uploads files and detects image vs video from extension.
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.
Version History
- e0220ca Current 2026-07-05 23:24


