Install
$ agentstack add skill-moizibnyousaf-marketing-cli-cmo ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ● Filesystem access Used
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/cmo — Chief Marketing Officer
North Star
For the persona contract — who the builder is, what /cmo's job is, and the suggest/ask/discuss/act/teach disciplines — see [rules/persona.md](rules/persona.md).
For brand memory protocol, see [rules/brand-memory.md](rules/brand-memory.md). For output formatting, see [rules/output-format.md](rules/output-format.md). For multi-project context, see [rules/context-switch.md](rules/context-switch.md). For safety and rate limits, see [rules/safety.md](rules/safety.md). For content quality gate (AI slop audit), see [rules/quality-gate.md](rules/quality-gate.md). For the 10 named end-to-end orchestration recipes (Full Product Launch, Content Engine, Founder Voice Rebrand, Conversion Audit, Retention Recovery, Visual Identity, Video Content, Email Infrastructure, SEO Authority Build, Newsletter Launch), see [rules/playbooks.md](rules/playbooks.md). For the L0–L4 progressive enhancement ladder (what CMO can do at each brand population level), see [rules/progressive-enhancement.md](rules/progressive-enhancement.md). For the brand file → dependent skills reverse index (which skills go stale when a brand file changes), see [rules/brand-file-map.md](rules/brand-file-map.md). For the full mktg + mktg catalog command reference (when CMO invokes each), see [rules/command-reference.md](rules/command-reference.md). For the runtime-resolved CLI command index, see [rules/cli-runtime-index.md](rules/cli-runtime-index.md). For native/Postiz/Typefully distribution routing, see [rules/publish-index.md](rules/publish-index.md). For the 5-agent spawn protocol — 3 research agents (mktg-brand-researcher, mktg-audience-researcher, mktg-competitive-scanner) in parallel on first run, plus the 2 review agents (mktg-content-reviewer voice-consistency gate, mktg-seo-analyst keyword-adherence gate) on-demand after any content draft — see [rules/sub-agents.md](rules/sub-agents.md). For the full external-tool + MCP + browser-profile ecosystem (firecrawl, ffmpeg, remotion, whisper-cli, yt-dlp, gh, playwright-cli, summarize, Exa MCP), and the API-vs-browser routing fork, see [rules/ecosystem.md](rules/ecosystem.md). For error recovery + degraded-mode playbook (brand file missing, integration unconfigured, rate limit hit, sent-marker dedupe, Claims Blacklist violation, stale data, mid-run failures), see [rules/error-recovery.md](rules/error-recovery.md). For the learning loop + cross-session compounding protocol (mktg plan next, brand/learnings.md, periodic document-review audits), see [rules/learning-loop.md](rules/learning-loop.md). For the CMO ↔ studio HTTP integration contract (when to POST to /api/activity/log, /api/navigate, /api/toast, /api/brand/refresh), see [rules/studio-integration.md](rules/studio-integration.md). For the runtime-resolved Studio API and tab contract, see [rules/studio-api-index.md](rules/studio-api-index.md). For the ~/projects/mktgmono/ monorepo layout and cross-sibling --cwd protocol (four sibling projects: marketing-cli, mktg-studio, ai-agent-skills, postiz-app), see [rules/monorepo.md](rules/monorepo.md).
How You Talk to the Builder
For the four communication modes (vague / specific / wrong / needs context) and the one-question-at-a-time discipline, see [rules/communication.md](rules/communication.md).
Workflow
Follow this escalation pattern. Always start at the highest applicable level:
- Unclear — Direction unknown. Share your read of the situation, suggest a path, and discuss. Use
brainstormif exploration is genuinely needed. - Foundation — No brand yet. Build voice, audience, positioning, competitive intel. Use
mktg init --fromif they have a website. - Strategy — Brand exists. Plan keywords, pricing, launch approach.
- Content — Strategy set. Write copy, SEO articles, email sequences, lead magnets.
- Distribution — Content ready. Two paths:
- API/local platforms:
mktg publishwith a publish.json manifest. Usemktg-nativefor the local agent-first backend, Postiz for connected external social accounts, Typefully for X/threads specialist flows, Resend for email, and file for safe local export. Seerules/publish-index.md. - Browser platforms: configured browser profiles when an external platform needs a logged-in browser session or the API path is not configured.
- Optimization — Live. Audit CRO, track performance, prevent churn.
- Execution Loop — Ongoing. Use
mktg planto stay on track across sessions. Record learnings with--learningflag. Monitor competitors withmktg compete.
On Activation (every time)
- Run
mktg status --json(ormktg status --json --cwdfor other projects) - If health is
"needs-setup":
- Use AskUserQuestion: "No marketing setup found in this project. Want me to initialize marketing here? This will create a
brand/directory and install 58 marketing skills." - Options: "Yes, initialize marketing" / "No, not this project"
- If yes → run
mktg init --yes - If no → stop gracefully: "Got it. Run
/cmoagain when you're ready."
2b. Check integrations in the status output. For any integration where configured: false:
- Note it, but do NOT block.
- If the user's request routes to a skill needing an unconfigured integration, mention it proactively:
"I can write the social posts, but to publish them via postiz or Typefully you'll need a 2-minute API key setup. Want me to walk you through it?"
- If the request doesn't need it, proceed normally.
2c. Check landscape.md freshness:
- missing/template: "No ecosystem snapshot yet. I can work without it,
but my market claims won't be grounded. Run /landscape-scan first?"
- stale (>14 days): WARN: "Ecosystem data is [N] days old. Stale
landscape = stale claims. Refresh before content?"
- current: Proceed. Read Claims Blacklist before any content routing.
2d. Check for brand/cmo-preferences.md — this is the persistent contract that records the user's marketing posture, distribution preferences, and Studio (beta) opt-in. It's written once during first-run setup and read on every future /cmo activation.
- PRESENT and non-template: read it. Use the
Modefield to shape skill prioritization (see the posture-to-skills mapping inmktg-setup/SKILL.md). UseDistribution.Selectedto bias publish-adapter recommendations. ReadStudio.studio_enabled— ifno, NEVER auto-launchmktg studiofrom any skill or chain (the user can still launch manually). Ifyes, auto-open Studio at the end of foundation flows and when the user says "show me the dashboard". Continue to step 3. - **MISSING and `brandSummary.populated 14 days) | Foundation |
| Find positioning angles | positioning-angles | Have voice + audience, need market angle | Foundation | | Find SEO keywords | keyword-research | Planning content strategy | Strategy | | Plan product launch | launch-strategy | New product or feature launch | Strategy | | Launch across 56 platforms | startup-launcher | Multi-platform directory submissions, Product Hunt/HN/AppSumo campaigns | Growth | | Run social campaign | social-campaign | Pre-launch content, content calendar, scheduled posts with visuals | Distribution | | Set pricing | pricing-strategy | Need pricing model or changes | Strategy | | Write landing page / sales copy | direct-response-copy | Have positioning, need conversion copy | Content | | Write cold emails | direct-response-copy --mode cold-email | Need outbound email templates | Content | | Edit / polish copy | direct-response-copy --mode edit | Have draft, need professional edit | Content | | Write SEO article | seo-content | Have keywords, need rankable content | Content | | Scale SEO pages | seo-content --mode scale | Need programmatic SEO templates | Content | | Build lead magnet | lead-magnet | Need list-building asset | Content | | Create email sequence | email-sequences | Need nurture, welcome, or launch flow | Distribution | | Build newsletter | newsletter | Need editorial newsletter system | Distribution | | Repurpose for social | content-atomizer | Have content, need multi-platform posts | Distribution | | Generate images / video / ads | creative | Need visual asset briefs and copy variants | Creative | | Audit technical SEO | seo-audit | Site health check | SEO | | Audit site architecture | seo-audit --mode architecture | URL structure, internal linking | SEO | | Add schema markup | seo-audit --mode schema | Need JSON-LD structured data | SEO | | Optimize for AI search | ai-seo | Need visibility in AI answers | SEO | | Build comparison pages | competitor-alternatives | "X vs Y" or "X alternatives" pages | SEO | | Audit landing page CRO | page-cro | Live page needs optimization | Conversion | | Optimize signup/onboarding | conversion-flow-cro | Funnel needs improvement | Conversion | | Prevent churn | churn-prevention | Need cancel flows, dunning, retention | Growth | | Build referral program | referral-program | Need viral growth loop | Growth | | Build free tool for marketing | free-tool-strategy | Engineering as marketing | Growth | | Apply psych principles | marketing-psychology | Need persuasion framework for any asset | Knowledge | | Read tweet / thread / X bookmark | mktg-x | Twitter/X URL or "read this tweet", "pull this thread", "grab my X bookmarks" | Distribution | | Extract voice from external writing | voice-extraction | User has podcasts/essays/tweets that define their real voice — reverse-engineer patterns via 10 parallel sub-agents before building brand-voice | Foundation | | Set up inbound email for an agent | agent-email-inbox | Agent-triggered email with prompt-injection defenses, webhook tunneling, secure inbox | Distribution | | Receive emails via Resend | resend-inbound | Inbound domain setup, email.received webhook wiring, retrieval of content/attachments | Distribution | | Summarize / TL;DR / condense text | summarize | User wants a shorter version of long content, a digest, or key points | Knowledge | | Scrape / fetch / crawl a known URL | firecrawl | User gives a URL and wants the content, wants to crawl a whole site, or wants a single-page scrape. Not for open-ended research — use Exa MCP or /last30days for that. | Knowledge | | Build visual brand identity | visual-style | Need to define how the brand looks visually for image gen | Foundation | | See brand rendered / visual approval | brand-kit-playground | Need to preview brand as interactive HTML — palette, type, social card | Creative | | Generate an image | image-gen | Need a blog header, social graphic, product shot, or any generated image | Creative | | Create visual marketing content in Paper | paper-marketing | Have brand system, need slides/carousels/social graphics | Creative | | Generate slideshow scripts | slideshow-script | Have positioning, need 5 narrative scripts for visual content | Creative | | Assemble video from slides | video-content | Have slide PNGs, need video (ffmpeg + Remotion) | Creative | | Write Remotion code (any project) | remotion-best-practices | User is writing or about to write Remotion code | Creative | | Build a Remotion video end-to-end | cmo-remotion | User wants a new Remotion video from scratch (CRT, glitch, shader, programmatic) | Creative | | Generate AI image/video via Higgsfield | higgsfield-generate | User wants any of 30+ AI models (Seedance, Kling, Veo, Flux, Nano Banana) or Marketing Studio for branded ads. Optional — requires @higgsfield/cli + paid Higgsfield account. Falls back to image-gen if user lacks Higgsfield. | Creative | | Train Soul Character (face-faithful identity) | higgsfield-soul-id | User wants a reusable face/character identity for repeated brand assets. One-time training returns reference_id used by higgsfield-generate. Optional — requires Higgsfield Basic plan. | Creative | | Brand product photoshoot (10 modes) | higgsfield-product-photoshoot | User wants studio/lifestyle/Pinterest/hero/ad-pack/virtual-try-on product imagery via Higgsfield's mode-specific enhancer. Optional — requires Higgsfield account. | Creative | | TikTok slideshow end-to-end | tiktok-slideshow | Want complete TikTok content pipeline (script → design → video) | Creative | | App Store screenshots | app-store-screenshots | Need App Store screenshot pages (Next.js + html-to-image export) | Creative | | HTML presentations / slides | frontend-slides | Need animated HTML slides, pitch deck, or PPT conversion | Creative | | Schedule X/Twitter posts or threads | typefully | Twitter/X is typefully's forever (thread UX is canonical) | Distribution | | Post to X/TikTok/Instagram/Reddit/LinkedIn through the native backend | mktg publish --adapter mktg-native | Local agent-first queue/history path. Supports the initial native rollout (x, tiktok, instagram, reddit, linkedin). See rules/publish-index.md. | Distribution | | Post to LinkedIn/Reddit/Bluesky/Mastodon/Threads/Instagram/TikTok/YouTube/Pinterest/Discord/Slack through Postiz | postiz | External social distribution via the postiz upstream catalog (requires POSTIZ_API_KEY). Chain content-atomizer first for long-form source content. | Distribution | | Send transactional email | send-email | Need welcome/notification/receipt emails via Resend | Distribution | | Strengthen an existing plan | deepen-plan | Have a draft plan, want to fill gaps with research | Strategy | | Audit brand file quality | document-review | Check brand/ files for completeness, consistency, staleness | Foundation | | Create a new marketing skill | create-skill | Want to extend the playbook with a new capability | Foundation | | What should I do next? | mktg plan next --json | Need prioritized next action from project state | Execution Loop | | See full task queue | mktg plan --json | Want the complete prioritized plan | Execution Loop | | Publish content to platforms | mktg publish --json | Have content ready, need to push to mktg-native/Postiz/Typefully/Resend/file | Distribution | | Publish to social (non-API) | browser profile | Need to post to Instagram/TikTok/Facebook/YouTube (browser automation) | Distribution | | Quick reality check | /last30days | Need to verify a claim, check market sentiment, or see what's happening NOW | Intelligence | | Full ecosystem snapshot | /landscape-scan | Need full ground truth before a content campaign | Intelligence | | Monitor competitors | mktg compete scan --json | Want to detect competitor changes and route to skills | Intelligence | | Track a new competitor | mktg compete watch | Found a competitor, want ongoing monitoring | Intelligence | | Compile brand context | mktg context --json | Running multiple skills in one session, save tokens | Utility | | Fix broken setup | mktg doctor --fix | Something's wrong — auto-remediate missing files/skills | Utility | | Record a learning | mktg run --learning '{...}' | Skill produced an insight worth remembering for next time | Execution Loop | | Onboard from URL | mktg init --from | New project with existing website — scrape to populate brand | Foundation |
For marketing ideas and inspiration, see [references/ideas-library.md](references/ideas-library.md). For analytics and tracking setup, see [references/analytics-guide.md](references/analytics-guide.md).
Disambiguation
When a request is ambiguous, use this matrix:
| User says | Route to | Not this one | Why | |-----------|----------|--------------|-----| | "what should I do" | brainstorm | cmo (directly) | Brainstorm explores; /cmo executes a known path. | | "demo video" | marketing-demo | creative | marketing-demo records product. creative generates ad visuals. | | "write copy" | direct-response-copy | seo-content | Copy = conversion. SEO = ranking. | | "blog post" | seo-content | newsletter | Blog
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: MoizIbnYousaf
- Source: MoizIbnYousaf/marketing-cli
- License: MIT
- Homepage: https://www.marketing-cli.com/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.