MoizIbnYousaf/marketing-cli/skills/axi/SKILL.md
axi
Agent eXperience Interface (AXI) router — the main entry point for agent-ergonomic CLIs. Use whenever the agent needs GitHub, browser automation, human review, quota routing, Slack, Notion, AWS/Docker/K8s, databases, or any AXI-catalog tool; when choosing AXI vs MCP vs raw CLI; when building or reviewing an agent-facing CLI; or when the user says axi, gh-axi, chrome-devtools-axi, TOON output, agent ergonomics, or "prefer AXI". When in doubt about which external tool interface to use, start here.
- Source repository stars
- 27
- Declared platforms
- 0
- Static risk flags
- 1
- Last source update
- 2026-07-28
- Source checked
- 2026-07-28
Decision brief
What it does—and where it fits
AXI is not a protocol. It is 10 design principles for agent-ergonomic CLIs that beat both raw CLI and MCP on success, cost, duration, and turns (axi.md, kunchenguid/axi).
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/MoizIbnYousaf/marketing-cli --skill "skills/axi"Inspect the Agent Skill "axi" from https://github.com/MoizIbnYousaf/marketing-cli/blob/f12fbcbe4929584697b309b9096c9427b0cfce8e/skills/axi/SKILL.md at commit f12fbcbe4929584697b309b9096c9427b0cfce8e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Workflow (escalation)
0. Unclear — User wants "the right tool." Detect domain → route via the table. Explain out loud. 1. Use — An AXI exists for the domain. Prefer npx -y … (zero global install). Fall back to global binary if already on PATH. 2. Ambient — Repeated sessions in one domain → suggest se…
Unclear — User wants "the right tool." Detect domain → route via the table. Explain out loud.Use — An AXI exists for the domain. Prefer npx -y … (zero global install). Fall back to global binary if already on PATH.Ambient — Repeated sessions in one domain → suggest setup hooks (SessionStart) after explicit user opt-in. - 02
North Star
Review the “North Star” section in the pinned source before continuing.
Review and apply the “North Star” source section. - 03
On Activation (every time)
1. Restate the domain in one sentence ("You need GitHub PR/CI triage" / "You need live browser extraction"). 2. Probe availability (non-blocking): - which gh-axi chrome-devtools-axi 2/dev/null; npx -y gh-axi --version 2/dev/null | head -1 - Optional: mktg doctor --json --fields…
Restate the domain in one sentence ("You need GitHub PR/CI triage" / "You need live browser extraction").Probe availability (non-blocking):which gh-axi chrome-devtools-axi 2/dev/null; npx -y gh-axi --version 2/dev/null | head -1 - 04
AXI Routing Table
Full URLs + one-liners: rules/catalog.md.
Full URLs + one-liners: rules/catalog.md. - 05
Disambiguation
Review the “Disambiguation” section in the pinned source before continuing.
Review and apply the “Disambiguation” source section.
Permission review
Static risk signals and limitations
Network access
The documentation includes network, browsing, or remote request actions.
| "search the web for X" (unknown URLs) | `exa-search` / Exa MCP | `chrome-devtools-axi` | Semantic search ≠ browser automation |Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 79/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 27 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- MoizIbnYousaf/marketing-cli
- Skill path
- skills/axi/SKILL.md
- Commit
- f12fbcbe4929584697b309b9096c9427b0cfce8e
- License
- MIT
- Collected
- 2026-07-28
- Default branch
- main
View the original SKILL.md
/axi — Agent eXperience Interface Router
AXI is not a protocol. It is 10 design principles for agent-ergonomic CLIs that beat both raw CLI and MCP on success, cost, duration, and turns (axi.md, kunchenguid/axi).
This skill is the main router for the AXI catalog (official + community). It picks the right AXI, installs/runs it agent-first (npx -y <axi>), and teaches the principles when you build or review agent-facing CLIs.
North Star
| Depth | File |
|---|---|
| 10 principles (full spec) | rules/principles.md |
| Official + community catalog | rules/catalog.md |
| AXI vs MCP vs raw CLI vs mktg tools | rules/prefer-axi.md |
| Build / review an AXI | rules/build.md |
| Benchmark numbers | rules/benchmarks.md |
| Upstream build-skill snapshot | references/upstream-axi-skill.md |
Workflow (escalation)
- Unclear — User wants "the right tool." Detect domain → route via the table. Explain out loud.
- Use — An AXI exists for the domain. Prefer
npx -y <axi> …(zero global install). Fall back to global binary if already on PATH. - Ambient — Repeated sessions in one domain → suggest
<axi> setup hooks(SessionStart) after explicit user opt-in. - Build / review — Designing an agent-facing CLI → load rules/principles.md + rules/build.md. Do not invent a parallel MCP server first.
- Missing AXI — No catalog entry → prefer the least-bad existing path (mktg skill, raw CLI, MCP) per rules/prefer-axi.md, and offer to scaffold a new AXI.
On Activation (every time)
- Restate the domain in one sentence ("You need GitHub PR/CI triage" / "You need live browser extraction").
- Probe availability (non-blocking):
which gh-axi chrome-devtools-axi 2>/dev/null; npx -y gh-axi --version 2>/dev/null | head -1- Optional:
mktg doctor --json --fields checksand notecli-gh,cli-gh-axi,cli-chrome-devtools-axi.
- Route via the AXI Routing Table. Always say why: "I'm using
gh-axiinstead of rawgh/ GitHub MCP because AXI wins on cost and success for GitHub tasks." - Prefer content-first invocation: run the AXI with no args once to see live state +
help[]next steps, then follow those templates. - If the user is building a CLI for agents → skip catalog routing; open principles + build rules.
- Never silently fall back to MCP when an AXI exists for that domain.
AXI Routing Table
| Need | AXI | Install / run | Layer |
|---|---|---|---|
| GitHub issues, PRs, CI runs, releases, secrets, projects | gh-axi | npx -y gh-axi (needs gh auth login) | Official |
| Browse, click, fill, extract, tables, Lighthouse | chrome-devtools-axi | npx -y chrome-devtools-axi | Official |
| Human review of HTML artifacts (annotate → agent feedback) | lavish-axi | npx skills add kunchenguid/lavish-axi / see catalog | Official |
| Local Claude/Codex/Cursor/Copilot/Grok quota windows | quota-axi | see rules/catalog.md | Official |
| Jujutsu history | jj-axi | community | VCS |
| npm registry inspect | npm-axi | community | Packages |
| SQLite inspect / capped queries | sqlite-axi | community | Data |
| Slack read/search/draft | slack-axi | community | Comms |
| Gmail/Calendar/Docs/Drive/Slides (draft-only mail) | gws-axi | community | Workspace |
| Harvest time tracking | harvest-axi | community | Ops |
| Spec-driven agent workflow (AXI-in-skill demo) | specops | community | Process |
| Git-backed record sheets | gitsheets-axi | community | Data |
| Metabase SQL/MBQL | metabase-axi | community | Analytics |
| Otter.ai transcripts | otter-axi | community | Meetings |
| Notion pages/databases | notion-axi | community | Docs |
| ClickUp tasks | clickup-axi | community | Tasks |
| Databricks jobs/runs | databricks-axi | community | Data |
| AWS host/deploy | aws-axi | community | Cloud |
| Docker app lifecycle | docker-axi | community | Cloud |
| DynamoDB | dynamodb-axi | community | Data |
| PostgreSQL | pg-axi | community | Data |
| MongoDB | mongodb-axi | community | Data |
| Elasticsearch | elasticsearch-axi | community | Data |
| Kubernetes workloads | kubernetes-axi | community | Cloud |
| Redis | redis-axi | community | Data |
| Celery queues | celery-axi | community | Cloud |
| Design / review agent CLI ergonomics | (this skill → principles) | read rules | Meta |
| Marketing playbook (brand, content, publish) | /cmo | mktg skills | Out of scope |
Full URLs + one-liners: rules/catalog.md.
Disambiguation
| User says | Route to | Not | Why |
|---|---|---|---|
| "check the PR / CI / issues" | gh-axi | raw gh, GitHub MCP | AXI: 100% success @ $0.050 vs CLI 86% / MCP ~$0.10–0.15 |
| "open this page / click / fill form / extract table" | chrome-devtools-axi | chrome-devtools-mcp, agent-browser | Combined ops + --query; 100% @ $0.074, 4.5 turns |
| "scrape this URL I already have" (static content) | firecrawl / exa-contents | chrome-devtools-axi | Don't pay for a browser when fetch/crawl is enough |
| "search the web for X" (unknown URLs) | exa-search / Exa MCP | chrome-devtools-axi | Semantic search ≠ browser automation |
| "automate Instagram/TikTok login post" | /cmo + browser profile / mktg publish | chrome-devtools-axi alone | Marketing distribution is /cmo's job |
| "help me market / write copy / SEO" | /cmo | /axi | AXI routes tools; CMO routes marketing skills |
| "build a CLI for my agent" | /axi principles + build | MCP-first design | Principled CLI beats MCP on the published benches |
| "use MCP for GitHub/browser" | Prefer matching AXI first | Eager MCP schemas | MCP schema overhead ~2.3× input tokens in browser bench |
| "what's my Cursor/Claude quota" | quota-axi | guessing from UI | Local-first usage windows for routing-aware agents |
| "review this HTML with humans" | lavish-axi | paste into chat | Annotation loop back to the agent |
First 5 Minutes (new machine)
- Confirm Node 20+ for
npx. - For GitHub work:
gh auth loginonce, thennpx -y gh-axi(home view). - For browser work:
npx -y chrome-devtools-axi open https://example.com --query "Example". - Optional ambient context:
npm i -g gh-axi && gh-axi setup hooks(restart session). - Tell the user which AXI you chose and the one-line why.
Guardrails
- Prefer AXI when a catalog entry exists for that domain. Explain the preference; don't debate protocol religion.
- Zero-install first:
npx -y <axi> …before asking the user tonpm i -g. - Follow
help[]: AXI outputs next-step command templates — use them; don't invent flags. - Fail loud: unknown flags must error (exit 2). Never invent flags and trust unscoped output.
- No interactive prompts. If a required value is missing, fail with a structured error + suggested command.
- Pipe for tokens:
| head,| rgon AXI stdout is encouraged; don't dump full snapshots into context when--queryexists. - Skills never call skills.
/axiorchestrates tool choice; leaf AXIs execute. Exception:/cmoowns marketing — hand off explicitly. - Hooks are opt-in. Never run
setup hookswithout clear user intent. - TOON on the wire. When building AXIs, stdout is TOON; keep internals on JSON. Spec: https://toonformat.dev/
Anti-Patterns
| Anti-pattern | Why it's wrong | Do this instead |
|---|---|---|
| Loading full MCP tool schemas for GitHub/browser when an AXI exists | Schema tax balloons input tokens every turn | Route to gh-axi / chrome-devtools-axi |
navigate then separate snapshot every click | Doubles turns; AXI combines ops | open, click --query, fill … --submit |
| Dumping full page snapshots into context | Burns the token budget | --query "…", pipe filters, truncation + --full |
Silent fallback to raw gh because "I know the flags" | Raw CLI loses accuracy on the GitHub bench | Use gh-axi; keep gh only for gaps AXI doesn't wrap yet |
| Building a new MCP server before an AXI CLI | Protocol choice ≠ ergonomics | Apply the 10 principles; ship CLI + optional skill + optional hooks |
| Presenting the entire catalog as a menu | Shifts the decision to the human | Recommend 1 AXI with a one-line why |
| Using browser AXI for static URL fetch | Overkill cost/latency | firecrawl / exa-contents / curl |
Error Recovery
| Failure | Fix |
|---|---|
npx / network blocked | Install global once: npm i -g gh-axi (or the needed AXI); retry |
gh-axi auth error | gh auth login (and gh auth refresh -s project when Projects need scope) |
chrome-devtools-axi bridge stale | chrome-devtools-axi stop then retry; or new CHROME_DEVTOOLS_AXI_SESSION=… |
STALE_REF on click | Re-snapshot / open --query and use the new @g:… ref |
Unknown command (navigate) | Read AXI help[] / --help — prefer open, not MCP verb names |
| No AXI for domain | Use prefer-axi fallback; offer to scaffold per rules/build.md |
Progressive Enhancement
| Level | What /axi can do |
|---|---|
| L0 | Route by domain; run via npx -y with no prior setup |
| L1 | Binaries on PATH; faster cold start |
| L2 | setup hooks ambient home views for Claude Code / Codex / OpenCode |
| L3 | Multiple community AXIs installed; quota-aware routing via quota-axi |
| L4 | Team ships internal AXIs using principles + contributor catalog workflow |
Attribution
Principles, catalog, and benchmarks from AXI / kunchenguid/axi (MIT). This mktg skill is the router + catalog orchestrator adapted for /cmo-style activation; the upstream build-skill snapshot lives in references/upstream-axi-skill.md.
Alternatives
Compare before choosing
event4u-app/agent-config
design-review
Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
K-Dense-AI/scientific-agent-skills
dask
Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.
K-Dense-AI/scientific-agent-skills
medchem
Medicinal chemistry filters for compound triage. Apply drug-likeness rules (Lipinski, Veber, CNS), structural alert catalogs (PAINS, NIBR, ChEMBL), complexity metrics, and the medchem query language for library filtering.
K-Dense-AI/scientific-agent-skills
neurokit2
Use NeuroKit2 to build or audit reproducible research workflows for physiological time-series preprocessing, event/interval analysis, multimodal alignment, variability, and complexity. Trigger when code imports neurokit2 or needs its current APIs, schemas, and method-aware validation—not for diagnosis or device validation.