$npx -y skills add MoizIbnYousaf/marketing-cli --skill create-skillCreate 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
| 1 | # /create-skill — Skill Creator |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | For brand memory protocol, see /cmo [rules/brand-memory.md](../cmo/rules/brand-memory.md). |
| 6 | |
| 7 | ## On Activation |
| 8 | |
| 9 | 1. Read the skill contract: [workflows/create-new-skill.md](workflows/create-new-skill.md) |
| 10 | 2. Read the template: [templates/marketing-skill.md](templates/marketing-skill.md) |
| 11 | 3. Read `skills-manifest.json` in the project root to understand existing skills and avoid overlap. |
| 12 | 4. Ask: **What marketing capability should this skill add?** |
| 13 | |
| 14 | ## Phase 0: Validate the Need |
| 15 | |
| 16 | Gate check. Before creating a new skill, verify it doesn't already exist: |
| 17 | |
| 18 | | Signal | Action | |
| 19 | |--------|--------| |
| 20 | | Capability covered by existing skill | Skip. Point to the existing skill. | |
| 21 | | Slight variation of existing skill | Skip. Suggest extending the existing skill instead. | |
| 22 | | Genuinely new marketing capability | Proceed. | |
| 23 | | Orchestrator chaining existing skills | Proceed. Mark as orchestrator layer. | |
| 24 | |
| 25 | Check `skills-manifest.json` for the full list. Common near-misses: |
| 26 | - "social media copy" → `/content-atomizer` already handles this |
| 27 | - "brand guidelines" → `/brand-voice` covers this |
| 28 | - "SEO strategy" → `/keyword-research` + `/seo-audit` cover this |
| 29 | |
| 30 | ## Phase 1: Gather Requirements |
| 31 | |
| 32 | Ask these questions (one at a time, stop when clear): |
| 33 | |
| 34 | 1. **Name** — What should the skill be called? (kebab-case, e.g., `webinar-funnel`) |
| 35 | 2. **Trigger phrases** — What would someone say to invoke this? (5-8 natural phrases) |
| 36 | 3. **Category** — Where does it fit? (foundation / strategy / copy-content / distribution / creative / seo / conversion / growth / knowledge) |
| 37 | 4. **Layer** — What layer? (foundation / strategy / execution / orchestrator) |
| 38 | 5. **Tier** — How essential? (must-have / nice-to-have / experimental) |
| 39 | 6. **Brand reads** — Which `brand/` files does it need? (voice-profile.md, audience.md, etc.) |
| 40 | 7. **Brand writes** — Which `brand/` files does it update? |
| 41 | 8. **Dependencies** — Which skills should run first? (e.g., `brand-voice`, `audience-research`) |
| 42 | 9. **Core workflow** — What are the main phases? (3-5 phases typical) |
| 43 | |
| 44 | ## Phase 2: Generate the Skill |
| 45 | |
| 46 | 1. Copy the template from [templates/marketing-skill.md](templates/marketing-skill.md). |
| 47 | 2. Fill in all frontmatter fields from Phase 1 answers. |
| 48 | 3. Write the skill body following this structure: |
| 49 | - **Title line** — `# /<name> — <Short Description>` |
| 50 | - **Opening paragraph** — What this skill does and why it matters (2-3 sentences) |
| 51 | - **Brand memory reference** — Link to `/cmo` brand-memory rules |
| 52 | - **On Activation** — Steps to load context and assess the request |
| 53 | - **Phases 1-N** — The core workflow (3-5 phases) |
| 54 | - **Worked Example** — One concrete example showing the skill in action |
| 55 | - **Anti-Patterns** — Table of common mistakes and corrections |
| 56 | - **YAGNI Principles** — What NOT to add |
| 57 | 4. Write the description field carefully — it's used for routing. Include: |
| 58 | - What the skill does (first sentence) |
| 59 | - When to use it (second sentence) |
| 60 | - Trigger phrases (remaining text) |
| 61 | |
| 62 | ## Phase 3: Create the Directory |
| 63 | |
| 64 | ``` |
| 65 | skills/<name>/ |
| 66 | ├── SKILL.md # Required — the skill itself |
| 67 | ├── templates/ # Optional — reusable templates |
| 68 | ├── workflows/ # Optional — step-by-step procedures |
| 69 | └── references/ # Optional — supporting knowledge |
| 70 | ``` |
| 71 | |
| 72 | Only create subdirectories if the skill genuinely needs them. Most skills are a single SKILL.md. |
| 73 | |
| 74 | ## Phase 4: Register and Validate |
| 75 | |
| 76 | 1. **Remind** the agent (or user) to add an entry to `skills-manifest.json`: |
| 77 | ```json |
| 78 | "<name>": { |
| 79 | "source": "new", |
| 80 | "category": "<category>", |
| 81 | "layer": "<layer>", |
| 82 | "tier": "<tier>", |
| 83 | "reads": ["<file1>.md"], |
| 84 | "writes": ["<file1>.md"], |
| 85 | "depends_on": ["<skill1>"], |
| 86 | "triggers": ["<phrase1>", "<phrase2>"], |
| 87 | "review_interval_days": 60 |
| 88 | } |
| 89 | ``` |
| 90 | 2. **Validate** with `mktg skill validate <name>` if the CLI is available. If CLI is unavailable, manually verify: |
| 91 | - Frontmatter has `name`, `description`, `allowed-tools` fields |
| 92 | - `name` matches the directory name exactly |
| 93 | - Description includes trigger phrases for routing |
| 94 | - All referenced brand files use valid names from the standard set |
| 95 | - No tri |