From meta-skills
Writes 30-60 second scripts for TikTok, Instagram Reels, and YouTube Shorts promoting affiliate products with hook, problem, demo, result, and CTA structure. For short-form affiliate marketing videos.
npx claudepluginhub affitor/affiliate-skills --plugin meta-skillsThis skill uses the workspace's default tool permissions.
Write punchy 30-60 second video scripts for TikTok, Instagram Reels, and YouTube
Generates two A/B short video scripts for TikTok, Reels, YouTube Shorts with hooks, timestamps, CTA, shooting guides, captions, hashtags, viral scores. Asks for product, audience, stage first.
Generates timestamped scripts for 15-60s TikTok, Reels, Shorts videos with hooks in first 2s, visual cues, captions, trending audio strategy, and hashtags.
Generates production-ready video marketing scripts with hook variants, timestamps, visual/audio directions, CTAs, accessibility notes, and thumbnails for YouTube, TikTok, Reels, LinkedIn.
Share bugs, ideas, or general feedback.
Write punchy 30-60 second video scripts for TikTok, Instagram Reels, and YouTube Shorts that stop the scroll, demo the product naturally, and drive affiliate link clicks. Every script is structured for vertical video: hook → problem → demo → result → CTA.
This skill belongs to Stage S2: Content
{
product: {
name: string # (required) "HeyGen"
description: string # (optional) What it does — will be researched if missing
url: string # (optional) Affiliate link or product URL
reward_value: string # (optional) Commission info — never shown in script
}
duration: number # (optional, default: 45) Target duration in seconds: 15 | 30 | 45 | 60
platform: string # (optional, default: "tiktok") "tiktok" | "reels" | "shorts" | "all"
hook_style: string # (optional, default: auto) "question" | "shock" | "relatable" | "bold_claim" | "demo_first"
creator_persona: string # (optional) "beginner marketer" | "tech reviewer" | "productivity nerd"
has_product_access: boolean # (optional, default: true) Can creator do live demo?
personal_experience: string # (optional) Real experience to weave in
audience: string # (optional) "freelancers" | "small business owners" | "students"
}
If product details are sparse, use web_search "[product name] what it does tutorial" to find:
Concrete specifics > vague claims. "Creates a 2-minute video in 30 seconds" beats "saves time on video creation".
Before selecting hook style, see what's actually winning in this niche on TikTok:
If trending-content-scout ran earlier:
top_contentengagement_benchmark to set a target engagement scorecontent-angle-ranker provided a recommended_angle → use itIf no scout data (quick mode):
web_search "[product name] tiktok" → find top TikTok videosweb_search "best [niche] tiktok viral" → find format patternsweb_search "[product name] tiktok review" → see existing contentApply findings to script:
engagement_benchmark.median_views is known → aim to beat it with better hook + formatThis step takes <2 minutes but can 3x the script's potential by building on proven patterns instead of guessing.
Short-form video is won or lost in seconds 1-3. Pick the hook based on the product's strongest angle:
| Hook Style | Template | Best For |
|---|---|---|
| Question | "What if you could [result] without [pain]?" | Products that remove a hard task |
| Shock/Stat | "I replaced [expensive thing] with a $[price]/mo tool" | Cost/efficiency wins |
| Relatable | "[Frustrating situation]? Same. Then I found this." | Niche audience pain |
| Bold Claim | "This [tool] is the reason I [impressive result]" | Strong ROI proof |
| Demo First | [Open with screen recording of the coolest feature immediately] | Visual/AI tools |
| Story Opener | "6 months ago I was [before state]. Now [after state]. Here's why." | Transformation |
For AI tools and visual products → Demo First almost always wins on TikTok. For SaaS productivity tools → Relatable or Shock/Stat hooks work well.
Every script follows this structure (adapt timing to duration):
For 45-second scripts:
For 30-second scripts:
For 60-second scripts:
Format scripts with:
Writing rules:
Per shared/references/ftc-compliance.md for short-form video:
Include brief notes for the creator:
Before presenting output, verify:
If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes.
{
output_schema_version: "1.0.0" # Semver — bump major on breaking changes
scripts: [
{
platform: string # "tiktok" | "reels" | "shorts"
duration_seconds: number # 45
hook_style: string # "demo_first"
scenes: [
{
timecode: string # "0-3s"
visual: string
spoken: string
text_overlay: string
}
]
caption: string # Full TikTok caption
hashtags: string[] # Suggested hashtags
disclosure: string # How and when FTC disclosure appears
}
]
product_name: string
content_angle: string
hook_used: string
}
## TikTok Script: [Product Name] ([Duration]s)
**Hook Style:** [Style name]
**Platform:** [TikTok / Reels / Shorts]
**Target Audience:** [Who this is for]
---
### Script
| Time | Visual | Spoken | Text Overlay |
|------|--------|--------|-------------|
| 0-3s | [What's on screen] | "[Hook line]" | [On-screen text] |
| 3-8s | [Visual] | "[Spoken]" | [Overlay] |
| ... | ... | ... | ... |
---
### Caption
[Full caption text — optimized for TikTok SEO]
**Hashtags:** #[tag1] #[tag2] #[tag3] (5-8 tags max)
---
### Production Notes
- **Film:** [Camera vs screen recording breakdown]
- **Music:** [BPM and mood suggestion]
- **Best time to post:** [Platform-specific optimal time]
- **Disclosure:** #ad text overlay appears at [timecode] for [X] seconds
---
### Hook Alternatives
Want a different opening? Try:
- **[Hook Style 2]:** "[Alternative opening line]"
- **[Hook Style 3]:** "[Alternative opening line]"
recommended_program from context.Example 1: User: "Write a 45-second TikTok script for HeyGen" → Research: HeyGen creates AI avatar videos, talking head from text → Hook: Demo first — open with a finished AI video playing → Script: [0-3s] Show output video → [3-8s] "Made this in 2 minutes, no camera" → [8-30s] Screen record: paste script → avatar speaks → [30-38s] "Used this for my client, saved 4 hours" → [38-44s] "Link in bio, 30-day free trial" → [44-45s] "#ad overlay"
Example 2: User: "TikTok script for Notion affiliate, targeting students" → Hook: Relatable — "POV: it's 2am before finals and your notes are chaos" → Demo: Notion AI organizing scattered notes into a study guide → CTA: "Free forever plan — link in bio" → Caption: "study with me + notion hacks" for algorithm reach
Example 3: User: "I need 3 different hooks for a ConvertKit TikTok script" → Write hook-only variants: Question / Shock / Bold Claim → Full script for the strongest one, alternative openings for others → Note which hook style historically performs best for SaaS on TikTok
shared/references/ftc-compliance.md — disclosure rules for short-form videoshared/references/affiliate-glossary.md — reward_type and program terminologyshared/references/platform-rules.md — TikTok/Reels/Shorts format specsshared/references/flywheel-connections.md — master flywheel connection mapbio-link-deployer)After 5 videos, check: which hook style got the highest completion rate? Which video drove the most bio link clicks? Use that hook style for your next 5 videos.
Next step — copy-paste this prompt: "Schedule my TikTok content for the next 30 days" → runs
social-media-scheduler
social-media-scheduler (S5) — scripts ready to schedule for filming/postingcontent-pillar-atomizer (S2) — successful scripts become content to atomize furthertrending-content-scout (S1) — top TikTok content + engagement data + winning hookscontent-angle-ranker (S1) — recommended angle with format, hook, and parametersaffiliate-program-search (S1) — recommended_program product datapurple-cow-audit (S1) — remarkable angles for script hookscontent-pillar-atomizer (S2) — atomized TikTok scripts from pillar contentBefore delivering output, verify:
Any NO → rewrite before delivering.
When mode: "volume":
volume_output:
variants:
- id: string
content: string
angle: string
chain_metadata:
skill_slug: "tiktok-script-writer"
stage: "content"
timestamp: string
suggested_next:
- "social-media-scheduler"
- "content-pillar-atomizer"