MoizIbnYousaf/marketing-cli/skills/slideshow-script/SKILL.md
slideshow-script
Generate 5 different narrative scripts for visual slideshows from a single positioning angle. Each script uses a different storytelling framework (AIDA, PAS, BAB, Star-Story-Solution, Stat-Flip) producing genuinely different stories, not layout variations. Make sure to use this skill whenever the user wants slideshow scripts, TikTok content scripts, carousel copy, narrative frameworks for visual content, or says anything about writing scripts for slides or social media storytelling. Even 'write
- Source repository stars
- 27
- Declared platforms
- 0
- Static risk flags
- 2
- Last source update
- 2026-07-28
- Source checked
- 2026-07-28
Decision brief
What it does—and where it fits
Generate 5 different narrative scripts from a single positioning angle. Each script uses a different storytelling framework, producing 5 publishable pieces of content instead of 5 variations of 1 script.
Not for
- Same hook across scripts — The whole point of 5 scripts is 5 chances to grab attention differently. If two scripts start with a question hook, you've wasted one. A viewer who scrolled past hook A might stop for hook B —…
- Recycled proof points — Reusing the same stat in multiple scripts means a viewer who sees script 2 after script 1 hears the same argument. Each script should use different proof points from positioning.md so every post…
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/slideshow-script"Inspect the Agent Skill "slideshow-script" from https://github.com/MoizIbnYousaf/marketing-cli/blob/f12fbcbe4929584697b309b9096c9427b0cfce8e/skills/slideshow-script/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
Read in parallel (if they exist): - brand/positioning.md — available angles, headlines, proof points - brand/audience.md — pain points, desires, language patterns - brand/voice-profile.md — tone, vocabulary, do's/don'ts, signature phrases
brand/positioning.md — available angles, headlines, proof pointsbrand/audience.md — pain points, desires, language patternsbrand/voice-profile.md — tone, vocabulary, do's/don'ts, signature phrases - 02
Phase 1: Load Brand Context
Read in parallel (if they exist): - brand/positioning.md — available angles, headlines, proof points - brand/audience.md — pain points, desires, language patterns - brand/voice-profile.md — tone, vocabulary, do's/don'ts, signature phrases
brand/positioning.md — available angles, headlines, proof pointsbrand/audience.md — pain points, desires, language patternsbrand/voice-profile.md — tone, vocabulary, do's/don'ts, signature phrases - 03
Phase 2: Select Positioning Angle
If the user hasn't specified an angle, present the available angles from brand/positioning.md:
If the user hasn't specified an angle, present the available angles from brand/positioning.md: - 04
Phase 3: Generate 5 Scripts
For the selected positioning angle, generate 5 narratively distinct scripts — one per framework:
Hook (slide 1) — the first thing seen, must grab in 1-3 seconds5-7 slides — each with type annotation (stat, anchorword, emotionalpivot, cascade, cta, logointro)CTA (final slide) — clear action with URL/handle - 05
Phase 4: Match Scripts to Visual Directions
Each script gets a recommended visual direction for /paper-marketing:
Each script gets a recommended visual direction for /paper-marketing:These are recommendations — the user can override.
Permission review
Static risk signals and limitations
Writes files
The documentation asks the agent to create, modify, or delete local files.
For each approved script, write a structured YAML file:Runs scripts
The documentation asks the agent to run terminal commands or scripts.
Next: Run /paper-marketing to design each script, or /tiktok-slideshow for the full pipeline.Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/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/slideshow-script/SKILL.md
- Commit
- f12fbcbe4929584697b309b9096c9427b0cfce8e
- License
- MIT
- Collected
- 2026-07-28
- Default branch
- main
View the original SKILL.md
/slideshow-script — Narrative Script Generation
Generate 5 different narrative scripts from a single positioning angle. Each script uses a different storytelling framework, producing 5 publishable pieces of content instead of 5 variations of 1 script.
For scripting frameworks reference, see references/frameworks.md. For content spec YAML schema, see references/content-spec-schema.md.
Why 5 Scripts, Not 5 Layouts
Old model: 1 script × 5 visual layouts = 1 usable output (pick 1, waste 4)
New model: 5 scripts × 5 visual layouts = 5 usable outputs (post all 5)
Each script has a DIFFERENT narrative, DIFFERENT hook, DIFFERENT proof points. When paired with /paper-marketing, each agent gets a unique script AND a unique design direction.
Workflow
Phase 1: Load Brand Context
Read in parallel (if they exist):
brand/positioning.md— available angles, headlines, proof pointsbrand/audience.md— pain points, desires, language patternsbrand/voice-profile.md— tone, vocabulary, do's/don'ts, signature phrases
If any files are missing, the skill still works — see Progressive Enhancement below for how to handle zero-context and partial-context scenarios.
Phase 2: Select Positioning Angle
If the user hasn't specified an angle, present the available angles from brand/positioning.md:
"Which positioning angle should I write 5 scripts for?"
[List angles from positioning.md with their headlines]
Options:
1-N. Select a specific angle
N+1. "Use the primary angle"
Phase 3: Generate 5 Scripts
For the selected positioning angle, generate 5 narratively distinct scripts — one per framework:
| # | Framework | Structure | Hook Style |
|---|---|---|---|
| 1 | AIDA | Attention → Interest → Desire → Action | Bold claim or question |
| 2 | PAS | Problem → Agitate → Solution | Pain point the audience feels |
| 3 | BAB | Before → After → Bridge | "Life before" vs "life after" |
| 4 | Star-Story-Solution | Hook character → conflict → resolution | Personal/relatable story |
| 5 | Stat-Flip | Surprising data → reframe → CTA | Shocking statistic |
Each script includes:
- Hook (slide 1) — the first thing seen, must grab in 1-3 seconds
- 5-7 slides — each with
typeannotation (stat, anchor_word, emotional_pivot, cascade, cta, logo_intro) - CTA (final slide) — clear action with URL/handle
- Animation hints — spring preset suggestion per slide (bouncy, smooth, heavy, snappy)
Script generation rules:
- All 5 must use the SAME positioning angle but tell DIFFERENT stories
- No two scripts should share the same hook
- Each script should use different proof points from the positioning doc
- Voice rules from voice-profile.md apply to ALL scripts
- Slide count can vary (5-9) based on what the narrative needs
Phase 4: Match Scripts to Visual Directions
Each script gets a recommended visual direction for /paper-marketing:
| Framework | Best Visual Direction | Why |
|---|---|---|
| AIDA | Typographic | Text IS the design, progressive revelation |
| PAS | Contrast Play / Split | Tension between problem and solution |
| BAB | Atmospheric | Emotional transformation needs breathing room |
| Star-Story-Solution | Editorial | Story flow needs magazine-like pacing |
| Stat-Flip | Data-Led | Numbers are the visual anchors |
These are recommendations — the user can override.
Phase 5: Present for Approval
Use AskUserQuestion to show all 5 scripts with their visual direction:
"Here are 5 narrative scripts for '{angle_name}', each using a different storytelling framework:"
1. **AIDA** (→ Typographic): "{hook}" — Attention grab → feature interest → desire trigger → CTA
2. **PAS** (→ Contrast Play): "{hook}" — Pain → twist → relief
3. **BAB** (→ Atmospheric): "{hook}" — Before/after transformation
4. **Star-Story-Solution** (→ Editorial): "{hook}" — Story arc → resolution
5. **Stat-Flip** (→ Data-Led): "{hook}" — Shocking stat → reframe
Options:
1. "All 5 look great" — write all 5 content specs
2. "Regenerate #{n}" — rewrite a specific script
3. "Change the angle" — try a different positioning angle
4. "Edit a script" — modify specific slides
5. "Only use 3 of these" — select a subset
Phase 6: Write Content Spec YAMLs
For each approved script, write a structured YAML file:
Path: marketing/content-specs/{project}-{framework}.yaml
Example: marketing/content-specs/lumi-aida.yaml
See references/content-spec-schema.md for the full schema.
spec_version: 1
project: lumi
content_type: tiktok-slideshow
scripting_framework: AIDA
platform:
name: tiktok
width: 1080
height: 1920
aspect: "9:16"
positioning_angle: "The 30-Second Active Gate"
visual_direction: typographic
slides:
- index: 1
type: stat
headline: "30"
subhead: "seconds."
body: null
animation_hint: spring_bouncy
role: hook
- index: 2
type: anchor_word
headline: "Breathe in"
subhead: "That's how long five deep breaths take."
body: null
animation_hint: spring_heavy
role: interest
# ... more slides
- index: 7
type: cta
headline: "lumi.com"
subhead: "Presence before everything."
body: null
animation_hint: spring_smooth
role: action
cta:
url: "lumi.com"
tagline: "Presence before everything."
handle: "@lumi"
voice_constraints:
tone: "calm, certain, mindful"
avoid: ["hype", "guilt", "exclamation marks"]
signature_phrases: ["Take 5 breaths. Unlock your phone.", "Presence before everything."]
Phase 7: Summary
Report what was written:
5 content specs written to marketing/content-specs/:
1. lumi-aida.yaml (7 slides, Typographic)
2. lumi-pas.yaml (6 slides, Contrast Play)
3. lumi-bab.yaml (7 slides, Atmospheric)
4. lumi-story.yaml (8 slides, Editorial)
5. lumi-statflip.yaml (5 slides, Data-Led)
Next: Run /paper-marketing to design each script, or /tiktok-slideshow for the full pipeline.
Standalone Usage
This skill works independently from any orchestrator:
/slideshow-scriptalone → generates scripts for manual design work/slideshow-script→/paper-marketing→ manual export (no video)/slideshow-script→/content-atomizer→ repurpose scripts as text posts/slideshow-script→/email-sequences→ use narratives in email campaigns
Progressive Enhancement
This skill works at three levels of context:
- Zero context — No brand files. Ask the user for: product name, one-sentence description, target audience, and the key benefit. Generate scripts from that. They'll be generic but functional.
- Partial context — Only
positioning.mdexists. Generate scripts from the positioning angles. Copy will be accurate but may lack voice personality. - Full context — All three brand files exist (
positioning.md,audience.md,voice-profile.md). Scripts use the right angles, speak to the right pain points, and sound like the brand.
Anti-Patterns
- Same hook across scripts — The whole point of 5 scripts is 5 chances to grab attention differently. If two scripts start with a question hook, you've wasted one. A viewer who scrolled past hook A might stop for hook B — but only if B looks and sounds different.
- Recycled proof points — Reusing the same stat in multiple scripts means a viewer who sees script 2 after script 1 hears the same argument. Each script should use different proof points from positioning.md so every post adds new information.
- Generic voice — "Transform your life" could be any brand on any platform. Viewers tune it out because they've seen it a thousand times. Using the exact vocabulary and signature phrases from voice-profile.md makes the content feel authored and recognizable.
- Platform-specific copy in scripts — Scripts are the narrative layer, not the design layer. Writing "swipe right" or "link in bio" locks the script to one platform. Keep scripts platform-agnostic so the same narrative works for TikTok, Instagram, YouTube Shorts, or any other format.
- Too many slides — Every slide the viewer must sit through is friction. If a slide doesn't advance the narrative toward the CTA, it's a drop-off point. 5-7 slides usually hits the sweet spot for social content.
- Ignoring the framework — Each framework works because of its specific psychological structure. AIDA builds desire before asking for action. PAS makes pain visceral before offering relief. Blending frameworks dilutes the psychological effect that makes each one work.
Edge Cases
- positioning.md missing — Ask the user: "What's the main angle or benefit you want to highlight?" Use their answer as the positioning angle. Offer to run /positioning-angles to build proper angles.
- Only 1-2 proof points available — Generate fewer scripts (3 instead of 5) and tell the user which frameworks were dropped and why. Quality over quantity.
- User wants fewer than 5 scripts — Respect the request. Ask which frameworks they want, or recommend the best 2-3 for their content type.
- User wants a framework not in the list — Accept custom frameworks. Ask for the structure (what are the phases?) and generate a script following that structure.
- Brand voice conflicts with framework — If the brand voice is "calm, no hype" but PAS requires agitation, dial the agitation to match the voice. Agitate with quiet observations, not exclamation marks.
Principles
- 5 narratives, not 5 variations — every output should be publishable
- Frameworks enforce diversity — AIDA and PAS produce fundamentally different stories
- Content spec is the contract — downstream skills read YAML, not prose
- Archetype annotations matter —
type: stattells Paper agents AND Remotion what to emphasize - Voice rules are non-negotiable — all 5 scripts must sound like the brand
Alternatives
Compare before choosing
MoizIbnYousaf/marketing-cli
higgsfield-generate
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-landingpage
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 —
coreyhaines31/marketingskills
emails
When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold out
JasonColapietro/suede-creator-skills
suede-workflow-skills
Umbrella workflow for 67 public skills: Full Send, copy, design, code review, SEO, launch packaging, MCP QA, iOS and Android app shipping, and creator workflows. Loads the full public skill pack.