Best for
- Use when the agent needs to add a new capability, someone says 'create a skill', 'new skill', 'add a marketing skill', 'extend the playbook', 'I need a skill for X', 'build a skill', 'make a skill for Y', or 'add capabi…
MoizIbnYousaf/marketing-cli/skills/create-skill/SKILL.md
Create new marketing skills for the mktg playbook. Use when the agent needs to add a new capability, someone says 'create a skill', 'new skill', 'add a marketing skill', 'extend the playbook', 'I need a skill for X', 'build a skill', 'make a skill for Y', or 'add capability for Z'. Also use when someone wants to capture a marketing workflow they just did into a reusable skill, or when they say 'turn this into a skill'. Reads the skill contract, generates SKILL.md with correct frontmatter and str
Decision brief
Meta-skill for extending the mktg marketing playbook. You create new skills that follow the drop-in contract so they work immediately with /cmo, mktg doctor, and the full skill ecosystem.
Compatibility matrix
| 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
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/create-skill"Inspect the Agent Skill "create-skill" from https://github.com/MoizIbnYousaf/marketing-cli/blob/f12fbcbe4929584697b309b9096c9427b0cfce8e/skills/create-skill/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
Gate check. Before creating a new skill, verify it doesn't already exist:
Ask these questions (one at a time, stop when clear):
1. Copy the template from templates/marketing-skill.md. 2. Fill in all frontmatter fields from Phase 1 answers. 3. Write the skill body following this structure: - Title line — / — - Opening paragraph — What this skill does and why it matters (2-3 sentences) - Brand memory refer…
Only create subdirectories if the skill genuinely needs them. Most skills are a single SKILL.md.
1. Remind the agent (or user) to add an entry to skills-manifest.json:
Permission review
The documentation asks the agent to create, modify, or delete local files.
## Phase 3: Create the DirectoryEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 97/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
Meta-skill for extending the mktg marketing playbook. You create new skills that follow the drop-in contract so they work immediately with /cmo, mktg doctor, and the full skill ecosystem.
For brand memory protocol, see /cmo rules/brand-memory.md.
skills-manifest.json in the project root to understand existing skills and avoid overlap.Gate check. Before creating a new skill, verify it doesn't already exist:
| Signal | Action |
|---|---|
| Capability covered by existing skill | Skip. Point to the existing skill. |
| Slight variation of existing skill | Skip. Suggest extending the existing skill instead. |
| Genuinely new marketing capability | Proceed. |
| Orchestrator chaining existing skills | Proceed. Mark as orchestrator layer. |
Check skills-manifest.json for the full list. Common near-misses:
/content-atomizer already handles this/brand-voice covers this/keyword-research + /seo-audit cover thisAsk these questions (one at a time, stop when clear):
webinar-funnel)brand/ files does it need? (voice-profile.md, audience.md, etc.)brand/ files does it update?brand-voice, audience-research)# /<name> — <Short Description>/cmo brand-memory rulesskills/<name>/
├── SKILL.md # Required — the skill itself
├── templates/ # Optional — reusable templates
├── workflows/ # Optional — step-by-step procedures
└── references/ # Optional — supporting knowledge
Only create subdirectories if the skill genuinely needs them. Most skills are a single SKILL.md.
skills-manifest.json:
"<name>": {
"source": "new",
"category": "<category>",
"layer": "<layer>",
"tier": "<tier>",
"reads": ["<file1>.md"],
"writes": ["<file1>.md"],
"depends_on": ["<skill1>"],
"triggers": ["<phrase1>", "<phrase2>"],
"review_interval_days": 60
}
mktg skill validate <name> if the CLI is available. If CLI is unavailable, manually verify:
name, description, allowed-tools fieldsname matches the directory name exactly/<name> and verifying the On Activation flow works.Do NOT modify skills-manifest.json directly in this skill — that's a separate step to avoid merge conflicts.
If the user wants to modify an existing skill (not create a new one):
Every SKILL.md must have this exact frontmatter structure:
---
name: <kebab-case-name>
description: |
<Multi-line description. First sentence: what it does.
Second sentence: when to use it. Remaining: trigger phrases.>
allowed-tools: []
---
name must match the directory namedescription is used by Claude for skill routing — be specific and include trigger phrasesallowed-tools is always [] for marketing skills (they use the agent's default tools)Every skill starts with On Activation — the first thing that runs when invoked:
brand/ files)This pattern matters because it's what makes progressive enhancement work — skills produce useful output at zero context but get noticeably better with brand memory. Skipping it means the skill either errors on missing files or ignores context that would make output 3x better.
Skills must NEVER gate on brand files. They enhance output but are never required:
# Good
1. Read `brand/voice-profile.md` if it exists. Adapt tone accordingly.
2. If not available, use defaults (direct, conversational).
# Bad
1. Read `brand/voice-profile.md`. ERROR if not found.
The template gives structure. Here's how to fill it with substance:
| Anti-pattern | Instead | Why |
|---|---|---|
| Creating a skill that overlaps with an existing one | Check manifest first, extend existing skill | Duplicate skills confuse routing — /cmo won't know which to pick, and the builder gets inconsistent results depending on which triggers. |
| Skipping the description field or writing it vaguely | Description IS routing — be specific, include triggers | Claude decides whether to use a skill based almost entirely on the description. A vague description means the skill never gets invoked, no matter how good the content is. |
| Making brand files required | Progressive enhancement — enhance, never gate | Brand files build up over time. A skill that errors on missing files is useless for new projects, which is exactly when builders need the most help. |
| Adding 10+ phases | 3-5 phases. If more, split into multiple skills | Long skills are hard for agents to follow consistently. Each additional phase increases the chance of drift or skipped steps. |
Hardcoding file paths outside brand/ and campaigns/ | Use the standard directories | Non-standard paths break cross-skill references. If one skill writes to output/ and another looks in brand/, the context chain is broken. |
| Skills that call other skills | Skills read/write files. /cmo orchestrates | Skill-to-skill calls create hidden dependencies and ordering problems. Files are the API — they're inspectable, debuggable, and don't create call chains. |
| Forgetting the worked example | Every skill needs one concrete example | Examples are worth more than abstract instructions. An agent reading a worked example can infer patterns that no amount of rules can convey. |
Alternatives
CherryHQ/cherry-studio
Create a new skill in the current repository. Use when the user wants to create/add a new skill, or mentions creating a skill from scratch. This skill follows the workflow defined in .agents/skills/README.md and helps scaffold, validate, and sync new skills.
MoizIbnYousaf/marketing-cli
Use when the user wants to generate an image or video via Higgsfield AI. Covers 30+ models: Soul V2, Seedance 2.0, Kling 3.0, Veo 3.1, GPT Image 2, Nano Banana 2. Also covers Marketing Studio — branded ad video/image with avatars and products. Use whenever: "generate an image", "make a video", "animate this photo", "image-to-video", "img2vid", "edit this image with AI", "produce a clip", "create an ad", "make a UGC video", "marketing video", "brand video", "TV spot", "import product from URL", "
wshobson/agents
Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens —
MoizIbnYousaf/marketing-cli
Brand-grounded Remotion video pipeline. Take a brief, ground it in `brand/` (voice, audience, positioning, creative-kit), write a beat sheet, scaffold a fresh Remotion project, generate any required assets, compose with frame-driven animations, and bake a final MP4. Use this skill whenever the user wants to build a NEW Remotion video from scratch — product films, motion graphics, code-driven shaders, CRT/glitch effects, HTML-in-canvas demos, React video. Triggers on requests like "make a remotio