Install
openclaw skills install hopkin-paid-adsQuery ad platform data (Meta, Google, LinkedIn, Reddit) using the Hopkin CLI. Use this skill when the user asks about ad accounts, campaigns, ad performance, or any advertising platform data.
openclaw skills install hopkin-paid-adsUse this skill when the user:
Do NOT use this skill for:
Before using Hopkin, ensure it's installed and up to date:
# Install globally from npm
npm install -g @hopkin/cli
# Or if already installed, check if an update is needed (do this if last check was >7 days ago)
npm outdated -g @hopkin/cli && npm install -g @hopkin/cli@latest
Check if the user is authenticated before making any data requests:
hopkin auth status --json
If not authenticated, ask the user for their API key:
hopkin auth set-key <API_KEY>
Users can get an API key from https://app.hopkin.ai/settings/api-keys
After authenticating, run hopkin --help to see all platforms, commands, and global flags. This also automatically refreshes the tool cache if it's stale (cache lasts 7 days).
hopkin --help
Then drill down into a specific platform to see its resources and commands:
hopkin meta --help
hopkin google --help
hopkin linkedin --help
hopkin reddit --help
And further into a resource to see its verbs and a specific command to see its flags:
hopkin meta campaigns --help
hopkin meta campaigns list --help
Always use --help to discover what's available before guessing command names — platforms differ in their resource naming and available tools.
The CLI follows a consistent pattern:
hopkin <platform> <resource> [verb] [flags]
meta, google, linkedin, redditad-accounts, campaigns, adsets, ads, etc.list, get (defaults to list if omitted)--reason (required for most commands), --account, --limit, etc.# List ad accounts
hopkin meta ad-accounts list --reason "checking accounts" --json
hopkin google accounts list --reason "listing accounts" --json
# List campaigns for an account
hopkin meta campaigns list --account <ACCOUNT_ID> --reason "reviewing campaigns" --json
# Get performance insights
hopkin meta insights --account <ACCOUNT_ID> --reason "performance review" --json
# Ping a platform (health check)
hopkin meta ping --reason "connectivity test" --json
Always use --json when processing data programmatically. Other formats are available:
# JSON (best for parsing)
hopkin meta ad-accounts list --reason "..." --json
# CSV (for spreadsheet export)
hopkin meta ad-accounts list --reason "..." --format csv
# TSV
hopkin meta ad-accounts list --reason "..." --format tsv
# Filter specific fields
hopkin meta ad-accounts list --reason "..." --json --fields id,name,currency
# Fetch all pages (for large result sets)
hopkin meta ad-accounts list --reason "..." --json --all
--reason flag: Most commands require --reason "..." for audit trail purposes. Always include a brief, honest description of why you're querying the data.--account <ID>. List accounts first to discover available IDs.--all to fetch everything, or --limit N to control page size.--refresh to a command if the user needs real-time data.accounts (not ad-accounts), LinkedIn has campaign-groups and creatives (not adsets and ads). Always check hopkin <platform> --help first.Before each session where you use Hopkin, check if the CLI needs updating. Do this if you haven't checked in the last 7 days:
hopkin --version
npm view @hopkin/cli version
If the npm version is newer, update:
npm install -g @hopkin/cli@latest
# Check auth status
hopkin auth status --json
# Debug a failing command
hopkin meta ad-accounts list --reason "debug" --json --debug
# Re-authenticate
hopkin auth set-key <NEW_KEY>
# Re-discover available commands (also refreshes tool cache)
hopkin --help