Guides an agent through the soku command line tool for ads, GA4 and PostHog data reads, ads writes, SEO hosting, automations, files and skill management.

MITAuto-check passedMarketing & SEO

Install Soku CLI

skills CLI
$ npx skills add About-Intelligence/soku-cli --skill soku -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install About-Intelligence/soku-cli soku --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/About-Intelligence/soku-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/soku .claude/skills/soku && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
soku
GitHub stars
304
Token cost
~2.4k tokens
SKILL.md length
1,311 words
Files
9 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Guides an agent through the soku command line tool for ads, GA4 and PostHog data reads, ads writes, SEO hosting, automations, files and skill management.

  • Works in 2 steps: Check auth/workspace state → If auth is missing or expired, use the…
  • Reading ads, GA4 or PostHog data from a shell through the soku CLI
  • SKILL.md covers Reference Router, Prerequisite: The CLI Must Be…, No Shell? Use the Soku MCP… and Default Flow, plus 5 more sections
  • Calls npm and claude; reaches api.soku.ai

What it does

This skill is a router for the soku CLI, which lets an agent use Soku from a terminal without an MCP host. It does not contain the command itself: it checks soku --version and, if the command is missing, installs the @soku-ai/cli package with npm, which needs Node.js 20 or newer. If npm cannot find the package, the agent reports the official package as unavailable instead of inventing an unofficial name.

Rather than one long guide, it points to reference files by task: sign-in, workspace and organization selection; ads, GA4 and PostHog reads and raw soku call usage; Meta, Google and ChatGPT ads writes with review-gated approval; SEO hosting, automations, Context Hub files and temporary public file URLs; third-party API calls with server-side credential injection and soku credits; and installing, updating or removing Soku-managed skills. It was written against release 0.1.0-alpha.24 and tells the agent to read soku changelog when the CLI is newer.

When your agent uses it

  • Reading ads, GA4 or PostHog data from a shell through the soku CLI
  • Creating or changing ads campaigns with review-gated writes
  • Publishing a temporary file URL or managing Context Hub files
  • Installing, updating or removing Soku-managed skills

Example prompts

  • “Pull last week's GA4 sessions by channel with the soku CLI.”
  • “Log in to Soku and pick the right workspace for the Acme brand.”
  • “Upload this video and prepare a Meta ads draft for review using soku.”
  • “Update my local Soku skills and tell me what changed.”

Requirements

  • The soku CLI from the @soku-ai/cli npm package
  • Node.js 20 or newer
  • Sign-in access to a Soku workspace

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Check auth/workspace state
  2. If auth is missing or expired, use the agent split-flow from

What it can do on your machine

Read from SKILL.md and the folder at commit 8c4f27f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.soku.ai

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Soku CLI loads about 2.4k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 84 tokens; SKILL.md has 1,311 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~84
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~13k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from About-Intelligence/soku-cli at commit 8c4f27f, republished under its MIT licence (© About-Intelligence). 1,311 words, ~2,427 tokens.

Download SKILL.mdSave it as .claude/skills/soku/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
soku
description
Use when calling Soku CLI capabilities from a shell: auth, workspace selection, ads/GA4/PostHog data reads, typed ads writes, SEO Hosting, automations, Context Hub files, temporary file publishing, brand skills and community skill purchases/publishing, third-party egress, review-gated writes, skill installation, or CLI updates.
license
MIT

Soku CLI

Written against Soku CLI release 0.1.0-alpha.24. If soku --version reports a newer release, run soku changelog --since that release before relying on details here.

The soku CLI is the shell-native way for an AI agent to use Soku from your coding agent or any terminal. It talks to Soku over /api/cli/*; the CLI path needs no MCP host. Treat this file as the router. Load the relevant reference file before acting on a detailed workflow. If you have no usable shell, skip to "No Shell? Use the Soku MCP Connection".

Reference Router

Read only the reference files needed for the user's task:

TaskRead
First-time setup, expired token, workspace selection, org/brand ambiguityreferences/auth-workspace.md
Ads, GA4, or PostHog reads; raw soku call; command discoveryreferences/data-capabilities.md and references/capability-flow.md
Meta/Google/ChatGPT Ads writes, image/video uploads, video ads from local files, bulk create, review-gated approvalreferences/ads-write.md
SEO Hosting, automations, Context Hub files, temporary public file URLsreferences/seo-automation-files.md
Third-party APIs through server-side credential injection; what calls cost and soku credits; security rulesreferences/egress-security.md
Installing, updating, or removing Soku-managed local skills; finding out what an upgrade changedreferences/skills-updates.md

For an installed business skill such as soku-ads-report, read that skill too. Business skills carry their own "Running this skill with the Soku CLI" section.

Prerequisite: The CLI Must Be Installed

This skill only describes the soku command; it does not contain it. Check first:

bash
soku --version

If the command is missing, install it (Node.js 20 or newer is required) and check again:

bash
npm i -g @soku-ai/cli
soku --version

If npm says @soku-ai/cli is not found, report that the official package is unavailable. Do not invent an unofficial package name.

When this skill arrived as a marketplace plugin, the CLI may also have installed its own copy under ~/.claude/skills/soku/, ~/.codex/skills/soku/, or ~/.cursor/skills/soku/. Both copies are the same document at possibly different versions. The copy the CLI installed is refreshed together with the binary, so when the two disagree, prefer that one, and treat soku --help and soku changelog as the authority over either copy.

No Shell? Use the Soku MCP Connection

Some hosts cannot run the CLI: Claude Cowork and claude.ai have no local shell, and a sandboxed environment may block npm or api.soku.ai. For those hosts the Claude Code plugin also registers Soku's remote MCP server (name soku, https://api.soku.ai/mcp, OAuth). Rules for that path:

  • Sign in through the host's MCP authentication, never by pasting a token: in Claude Code run /mcp (or claude mcp login soku from a shell); in Cowork approve the Soku connector when the host asks. Both open a Soku login page.
  • The MCP tools cover brand-scoped reads, research and generation. Writes on MCP are limited to what Soku Connect publishes (today the creatives canvas operations); they are review-gated, and Soku returns a Live Surface link where a human approves them. Hand that link to the user; do not try to approve on their behalf. Ads and SEO Hosting writes are CLI-only.
  • Local skill installation, Context Hub uploads from local files, memory and soku review wait exist only on the CLI. When a shell is available and soku can be installed, prefer the CLI.

Default Flow

  1. Check auth/workspace state:
bash
soku auth status
soku workspace status
  1. If auth is missing or expired, use the agent split-flow from references/auth-workspace.md.

  2. If the workspace is not ready, resolve and select the remote Soku brand:

bash
soku workspace resolve <brand>
soku workspace use-brand <brand>
  1. Pick the reference for the task. Do not infer Soku org/brand from the current local repo directory.

  2. Inspect command help before unfamiliar calls:

bash
soku --help
soku <namespace> --help
soku <namespace> <action> --help
  1. Run the command and parse JSON output. In non-TTY contexts, success is {"ok":true,"data":...} and errors are {"ok":false,"error":...}.

Non-Negotiable Rules

  • Confirm the target brand immediately before any write, and read it back after. Run soku workspace status in the same turn as the write — not earlier in the session — and check the reported brand is the one the user named (its source field tells you whether saved config or a SOKU_BRAND_ID environment variable decided it, which is what you would have to change). The CLI keeps whatever brand was selected last, and it does not follow the brand the user is looking at in the web app, so a brand confirmed three turns ago proves nothing about this write. After the write, read the object back (soku automation get, soku context list, soku seo-hosting pages list) and confirm it landed where you intended. A write into the wrong brand succeeds silently and looks identical to a correct one; the read-back is the only thing that tells them apart.
  • Never print or persist the Soku access token.
  • Never ask the user to paste third-party provider keys for covered providers.
  • Do not fail just because an upstream provider key env var is unset. Use soku egress -- curl ... for covered third-party APIs.
  • A human authorizes every review-gated write, in Soku, not through you. The pending response carries approve_url (this review) and inbox_url (every pending review in the brand). Give the user the link with one line on what they are approving, then run soku review wait <review_id> to continue once they decide; it exits 5 if they deny it or the write fails. For several reviews, send the inbox link and wait on all ids at once. Never run soku review approve/deny yourself and never allowlist them — they are for a person deciding in their own terminal. If a pending response has no approve_url (an older Soku API), ask the user to run soku review approve <review_id> themselves.
  • A write the user chose to "Always approve" in Soku comes back as a normal result marked auto_approved instead of a pending review. Treat it like any other executed write: read it back before telling the user it landed.
  • An ads write that names an existing campaign / ad set / ad group / ad must read that object back first and quote its current name and literal id in --summary; the server rejects a summary that omits a literal target id.
  • Pass user values as separate argv elements. Do not build a shell command by string-concatenating untrusted values.
  • Do not scan local repo files, AGENTS.md, or context/ folders for Soku workspace state unless the user explicitly asks about local files.
  • When a command prints a hint, follow it before retrying. Do not loop blindly.
Show full SKILL.md (283 more words)Show less

Exit Codes

ExitMeaningWhat to do
0SuccessParse data.
1Usage or no workspaceFix args, or run soku workspace status / use-brand.
2Auth missing, expired, or revokedRun soku auth login --no-wait.
4Not found or unknown capabilityRe-check soku --help / soku <ns> --help.
5Runtime or network failureRetry if transient; if behind a proxy set ALL_PROXY.

Capability Discovery

Typed command names are kebab-case:

bash
soku ads query-single-dimension --help

Raw soku call action names use registry snake_case:

bash
soku call ads query_single_dimension --payload '{"account_id":"123","dimension":"campaign"}'

Prefer typed commands when they exist. Use soku call only as a forward-compatible escape hatch for a newer action or an action not yet exposed ergonomically.

For generated multi-platform commands, select --platform first. Parameter requirements follow that platform: Meta does not require TikTok scheduling, budget, or creatives fields. Help labels platform-specific requirements; passing a field for another platform is rejected before any request.

Installed Skill Names

The bundled CLI meta skill is named soku. Business skills are installed with a Soku prefix, for example soku-ads-report and soku-google-ads.

bash
soku skill list
soku skill install ads-report google-ads
soku skill status

When asking an AI client to invoke a business skill, write use @soku-ads-report skill, not @ads-report.

Updating This Skill

soku update skills refreshes the bundled soku meta skill and every installed Soku-managed business skill recorded in .soku-skills.json. It also refreshes legacy meta-only installs that have soku/SKILL.md but no manifest, so older installations receive this references/ directory.

soku update cli also silently refreshes an already-installed global soku meta skill as an npm postinstall side effect. Its JSON result carries mustRereadMetaSkill: true plus metaSkillRefreshed: [<paths>] when that happened. After running soku update cli, check that field: if true, re-read this file (and references/) from the listed path before continuing — do not keep acting on this session's previously loaded copy of this skill.

© About-Intelligence, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (references) in skills/soku of About-Intelligence/soku-cli.

  • SKILL.md
  • agents/openai.yaml
  • references/ads-write.md
  • references/auth-workspace.md
  • references/capability-flow.md
  • references/data-capabilities.md
  • references/egress-security.md
  • references/seo-automation-files.md
  • references/skills-updates.md

Open the folder on GitHubat commit 8c4f27f

Compare with similar skills

Soku CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Soku CLI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Soku CLI this skillAbout-Intelligence/soku-cli304—~2.4kAutomated safety check: PassMIT
Google Adsarnabbagxd/Brand-building-skills719—~3.1kAutomated safety check: PassMIT
Ad Conversion Tracking Setupminhnv0807/ai-business-skills608—~3.7kAutomated safety check: PassMIT
Utm Tracking Generatoririnabuht12-oss/marketing-skills3.8k—~1.7kAutomated safety check: PassNone
Utm Buildercognyai/claude-code-marketing-skills104—~4.3kAutomated safety check: NotesNone
Conversion Debugcognyai/claude-code-marketing-skills104—~6.7kAutomated safety check: NotesNone

Similar skills

  • Google Ads

    arnabbagxd/Brand-building-skills

    Plan, build, and optimize Google Ads campaigns — Search, Shopping, Performance Max, Display, and YouTube — including keyword research, match types, bidding strategy, Quality Score, ad extensions…

    719 GitHub stars~3.1k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check passed
  • Ad Conversion Tracking Setup

    minhnv0807/ai-business-skills

    Sets up and verifies conversion tracking before ad spend: Meta Pixel and CAPI, Google Ads, GA4, TikTok, server-side GTM, consent mode, UTMs and a pre-launch checklist.

    608 GitHub stars~3.7k tokensUpdated 25 days ago
    Marketing & SEOAuto-check passed
  • Utm Tracking Generator

    irinabuht12-oss/marketing-skills

    Generate consistent UTM parameters, GA4 event naming, and conversion tracking specs following taxonomy best practices.

    3.8k GitHub stars~1.7k tokensUpdated 13 days ago
    Marketing & SEOAuto-check passed
  • Utm Builder

    cognyai/claude-code-marketing-skills

    UTM Parameter Strategy & Builder — naming conventions, GA4 channel grouping rules, auto-tagging, common mistakes, and BigQuery validation queries

    104 GitHub stars~4.3k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check: notes
  • Conversion Debug

    cognyai/claude-code-marketing-skills

    Conversion Tracking Debugger — diagnose discrepancies across GTM, GA4, Google Ads & Meta Pixel with live API access, BigQuery validation queries, and troubleshooting flowcharts

    104 GitHub stars~6.7k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check: notes
  • Google SEO APIs

    AgriciDaniel/claude-seo

    Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.

    18k GitHub starsUsed in 1 repo~4.2k tokens
    Marketing & SEOAuto-check passed

Questions about Soku CLI

What does Soku CLI do?

Guides an agent through the soku command line tool for ads, GA4 and PostHog data reads, ads writes, SEO hosting, automations, files and skill management. This skill is a router for the soku CLI, which lets an agent use Soku from a terminal without an MCP host.js 20 or newer.

When should I use Soku CLI?

Soku CLI fits situations like: reading ads, GA4 or PostHog data from a shell through the soku CLI; creating or changing ads campaigns with review-gated writes; publishing a temporary file URL or managing Context Hub files; installing, updating or removing Soku-managed skills.

How do I install Soku CLI in Claude Code?

Run `npx skills add About-Intelligence/soku-cli --skill soku -a claude-code`. Or copy the skill folder (skills/soku in About-Intelligence/soku-cli) into .claude/skills/soku in your project. Claude Code loads it when a task matches its description.

How do I install Soku CLI in Codex?

Run `npx skills add About-Intelligence/soku-cli --skill soku -a codex`. Or copy the skill folder (skills/soku in About-Intelligence/soku-cli) into .agents/skills/soku in your project. Codex loads it when a task matches its description.

Can I use Soku CLI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add About-Intelligence/soku-cli --skill soku -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/soku, .gemini/skills/soku, .github/skills/soku and .opencode/skills/soku in your project.

What does Soku CLI need to run?

Going by SKILL.md and its folder, Soku CLI needs the command-line tools its instructions call (npm and claude). Our summary lists: The soku CLI from the @soku-ai/cli npm package; Node.js 20 or newer; Sign-in access to a Soku workspace.

Does Soku CLI access the network?

SKILL.md names 1 domain. In commands or code: api.soku.ai; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Soku CLI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Soku CLI use?

Soku CLI is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Soku CLI use?

About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to Soku CLI?

Skills that share tags, products or a category with Soku CLI: Google Ads (arnabbagxd/Brand-building-skills, 719 stars), Ad Conversion Tracking Setup (minhnv0807/ai-business-skills, 608 stars), Utm Tracking Generator (irinabuht12-oss/marketing-skills, 3.8k stars) and Utm Builder (cognyai/claude-code-marketing-skills, 104 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Soku CLI?

About-Intelligence (a GitHub organization) maintains it in About-Intelligence/soku-cli, which has 304 GitHub stars. The repository was last updated on October 5, 2026.

Source: About-Intelligence/soku-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.