Soku CLI
Give your AI agent Soku CLI
Connect once, then your agent can read ads, GA4, and PostHog data; use brand memory and Soku skills; call covered APIs; manage SEO Hosting; and request review-gated writes.
What your agent gets
A single CLI connection gives shell-based agents the core Soku surfaces they need for data, research, content, and safe writes.
Ads
Google and Meta reporting
GA4
Site analytics and events
PostHog
Product analytics queries
Egress
Covered APIs with server keys
SEO Hosting
Pages, publishing, domains
Skills
Soku playbooks for agents
Memory
Brand context and references
Review gates
Human-approved write actions
Copy this prompt
Paste it into your agent when you want Soku ready in the current workspace.
Read https://soku.ai/cli/skill.md, install or update Soku CLI, sign in with device login, select my Soku workspace, install all business skills globally, then use Soku for my task.Install the CLI
If you prefer to install manually, use npm with Node.js 20 or newer. Then confirm the installed version and update status.
npm i -g @soku-ai/cli
soku --version
soku update statusAuthenticate with device login
For a human terminal, use the interactive device-login flow. The CLI opens or prints a browser verification URL, waits for approval, then resumes the session automatically.
soku auth login --resource data-infra,seo-hosting
# Complete the browser approval flow when prompted.
# The CLI resumes automatically after approval.conversion-groups-write when the user explicitly needs conversion group writes. Those actions are review-gated. PostHog read commands are included in the default data-infra resource.Select the workspace
The Soku workspace is the remote org and brand. Do not infer it from the local folder name. Resolve candidate brands first, then select the intended brand.
soku workspace status
soku workspace resolve <brand>
soku workspace use-brand <brand>Install agent skills
Install business skills when you want Soku-authored playbooks in the local agent. The bundled meta skill is handled automatically by CLI installation and business skill installs. Installed business skills appear with a soku- prefix in agent autocomplete.
soku skill list
soku skill install --all --global
soku skill status --global
soku skill list-installed --globalModule calls
Use soku --help and soku <namespace> --help as the source of truth for current flags. The examples below are the direct entry points for each CLI module.
Ads reporting
data-infraUse typed ads commands for account discovery and cached reporting. Read command help before using an unfamiliar dimension or flag.
soku ads list-ad-accounts --platform google
soku ads list-dimensions --platform google
soku ads query-single-dimension --platform google --account-id <account_id> \
--date-start 2026-06-01 --date-end 2026-06-18 --dimension campaign
soku ads query-multi-dimension --platform google --account-id <account_id> \
--date-start 2026-06-01 --date-end 2026-06-18 --dimensions '["campaign","device"]'GA4 reporting
data-infraUse GA4 commands for property discovery, performance overview, top pages, events, and custom reports.
soku ga4 list-properties
soku ga4 get-property-overview --property-id <property_id> \
--date-start 2026-06-01 --date-end 2026-06-18
soku ga4 list-top-pages --property-id <property_id> \
--date-start 2026-06-01 --date-end 2026-06-18 --limit 20
soku ga4 run-report --property-id <property_id> \
--date-ranges '[{"start_date":"2026-06-01","end_date":"2026-06-18"}]' \
--dimensions '["date","sessionSource"]' --metrics '["sessions","totalUsers"]'PostHog customer analytics
data-infraUse PostHog commands for granted project discovery, live tool discovery, and read-only product analytics queries. Unvetted or write tools are not exposed through the generated CLI command tree.
soku posthog list-projects
soku posthog list-tools --project-id <project_id>
soku posthog query --project-id <project_id> --tool read-data-schema \
--arguments '{}'
soku posthog query --project-id <project_id> --tool execute-sql \
--arguments '{"query":"SELECT count() FROM events WHERE event = '\''$pageview'\''"}'Third-party API egress
data-infraPrefix provider curl calls with Soku egress so credentials are injected on Soku servers instead of the local machine.
soku egress providers
soku egress -- curl "https://api.ahrefs.com/v3/site-explorer/overview?target=example.com"
soku egress -- curl -X POST "https://api.dataforseo.com/v3/..." \
-H "Content-Type: application/json" -d '{"key":"value"}'SEO Hosting content
seo-hostingAuthor owned-media pages as complete HTML documents, publish them, and inspect what is live for the active brand.
soku seo-hosting status
soku seo-hosting pages list --section blog --status draft
soku seo-hosting pages put --section blog --slug how-to --title "How to ..." --html-file page.html
soku seo-hosting pages publish --section blog --slug how-to
soku seo-hosting pages upload-asset --path blog/how-to/hero.png --file ./hero.pngSEO Hosting domains
seo-hostingConnect a dedicated CNAME host, or mount sections on an existing Cloudflare hostname through a Worker reverse proxy.
soku seo-hosting connections list
soku seo-hosting connections connect-cname --hostname blog.example.com
soku seo-hosting connections probe --hostname example.com --sections blog,use-cases
soku seo-hosting connections connect-worker --hostname example.com \
--sections blog,use-cases --cf-token-env CLOUDFLARE_API_TOKEN
soku seo-hosting connections verify <connection_id>Brand memory
data-infra + workspaceRead brand-scoped memory as background context, then confirm factual claims with data commands when needed.
soku memory list
soku memory search "brand positioning"
soku memory get reference <name>Business skills
public catalog + CLI sessionInstall playbooks into Claude Code, Codex, Cursor, or another local agent skill directory. The Soku meta skill is handled automatically.
soku skill list
soku skill install ads-report google-ads --global
soku skill install --all --global
soku skill status --globalReview-gated writes
conversion-groups-writeSensitive writes create a pending review and execute only after explicit human approval.
soku call ads create_conversion_group --summary "create group: qualified leads" \
-p name="Qualified leads"
soku review list
soku review show <review_id>
soku review approve <review_id>