huashu-douyin-script — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited huashu-douyin-script (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A complete workflow from competitor video breakdown to script generation. Transforms "copy viral videos by instinct" into "AI-powered systematic breakdown + structured replication".
uv (Python package manager)yt-dlp (video download — pip install yt-dlp or brew install yt-dlp)GEMINI_API_KEY environment variable (for Gemini video analysis — get from <https://aistudio.google.com/apikey>)Path convention: SKILL_DIR in the instructions below refers to the absolute path of the directory containing this SKILL.md file. Before running scripts, use dirname or a Glob tool to determine the actual location of SKILL.md and replace SKILL_DIR.
Gather the following from the user:
Required:
Optional:
If the user has only provided partial information, proactively ask for what's missing.
Run the download script:
uv run SKILL_DIR/scripts/download_video.py \
--urls "URL1" "URL2" \
--output-dir _temp/video-downloadsParameters:
--urls: Supports short links, page links, and share text (auto-extracts URL)--output-dir: Defaults to _temp/video-downloads/ in the current working directory--cookies-browser: Default chrome; options include edge / firefoxIf download fails:
_temp/video-downloads/For each successfully downloaded video, call Gemini video analysis:
uv run SKILL_DIR/scripts/analyze_video.py \
--video "_temp/video-downloads/video-1-xxx.mp4" \
--prompt "PROMPT_BELOW" \
--model flash \
--resolution medium \
--output "_temp/video-downloads/analysis-1.md"Use the flash model + medium resolution (sufficient for short videos; saves cost).
Multiple videos can be analysed in parallel (use run_in_background=true).
Viral Analysis Prompt (pass in via --prompt):
As a senior short-form video e-commerce analyst, conduct a 7-dimension in-depth breakdown of this video.
Special focus: the first 3 seconds are the most critical part — break them down at a near-frame-by-frame level.
## 1. Hook Analysis (First 3 Seconds) ⭐ Most Critical
The first 3 seconds = copy hook + visual hook. Analyse both tracks in detail.
### 1a. Copy Hook
- Hook type (counterintuitive / pain point / data / scenario / suspense / benefit)
- Full verbatim transcript of the hook copy
- Relevance of copy to the product (strong / weak connection)
### 1b. Visual Hook (Frame-by-frame description)
- Frame 0: Describe the composition, tone, and main subject of the very first frame
- Visual hook type (visual spectacle / product stacking / sudden cut / action impact / text pop / first-person POV)
- Specific frame description: shot framing, tone, camera movement, effects, facial expression and actions
- Visual information density: how many information elements appear on screen simultaneously
### 1c. Copy × Visual Synergy
- Do the copy and visuals simultaneously reinforce the same message?
- Sound design: are there sound effects, BGM changes, or voice tone changes in the first 3 seconds?
- Combined hook intensity score (1–10) with reasoning
## 2. Shot Structure
Break down each shot in a table:
| Time | Shot Type | Frame Content | Voiceover / Subtitle | Transition |
## 3. Rhythm Design
- Timestamps of fast-cut segments
- Rhythm variation pattern (fast-slow-fast / gradually accelerating / pulsed)
- Alignment between BGM and visual content
## 4. Visual Elements
- Colour tone and filter style
- Subtitle style and appearance timing
- Product presentation method
- Composition characteristics
## 5. Conversion Design
- CTA type and timing
- Price anchoring strategy
- Urgency creation methods
- Conversion funnel (video → ? → ?)
## 6. Compliance Check
- Are there any absolute superlatives or prohibited expressions?
- Are efficacy claims compliant?
- Any potential review risks?
## 7. Replicable Elements
- Directly replicable: hook sentence patterns, shot structure, visual style, CTA scripts
- Not replicable: unique scenes, specific KOLs, brand authority
Please output in English, as detailed as possible.When competitor videos are available → Consolidate analysis results:
Read all analysis-*.md files and compare against the validated formulas in references/proven-formulas.md. Claude then synthesises:
When no competitor videos are available → Use validated formulas directly:
Read references/proven-formulas.md, select the closest formula for the product category as a baseline. Remind the user: scripts without competitor analysis may lack category specificity — recommend sourcing competitor videos later.
Save the consolidated summary to _temp/video-downloads/[product-name]-viral-analysis-summary.md
Present to the user for confirmation:
Formula accumulation: After analysis is complete, append the new category's formula to references/proven-formulas.md for continuous knowledge building.
Generate the script based on the viral formula + product information + conversational style samples.
Pre-generation preparation:
references/script-style-samples.md for conversational style examplesreferences/analysis-dimensions.mdScript Generation Prompt Templates:
#### Seeding Video Script
You are a short-form video director specialising in seeding content.
## Task
Generate a [duration]-second seeding video script for the following product.
## Product Information
{product name, core selling points, target audience, price, brand information}
## Viral Formula (based on competitor analysis)
{Viral formula extracted in Step 4}
## Conversational Style Requirements
Reference the style characteristics of the following real scripts:
- Extremely conversational: write the way you speak; short sentences (15 words max)
- Specific data anchors: use concrete numbers, not "a lot" or "many"
- Sensory description: engage visual / tactile / taste / smell
- Emotional triggers: identity resonance, anxiety activation, scenario empathy
- Brand endorsement simplified: one sentence max
- Price anchoring + urgency
Real script examples:
{Select 1–2 examples from script-style-samples.md in the same category or similar style}
## Output Requirements
### Part A: Full Script
- First 3 seconds must have a strong hook (reference the most effective hook type from analysis)
- Middle section presents core selling points (max 3 — viewers won't remember more)
- Clear CTA at the end
- Fully conversational throughout — like a friend recommending something
- No absolute superlatives; compliant with platform ad review standards
- Annotate estimated duration for each segment
### Part B: Storyboard Table (first 3 seconds must describe the visual hook in detail)
| Shot # | Duration | Shot Type | Frame Content | Voiceover / Subtitle | Filming Notes |
⚠️ The storyboard for the first 3 seconds must include:
- Visual hook type (visual spectacle / product stacking / sudden cut / action impact / text pop / first-person POV)
- Specific frame description: composition, tone, camera movement, effects, expression and action
- First frame design: if paused at second 0, can this frame attract a click?
- Copy × visual synergy: do audio and visuals reinforce the same message simultaneously?#### Paid Traffic Ad Creative Script
You are an ad creative director specialising in high-conversion paid traffic material.
## Task
Write a [duration]-second paid traffic ad creative script for the following product.
## Product Information
{product name, core selling points, target audience, price, campaign objective}
## Viral Formula (based on competitor analysis)
{Viral formula extracted in Step 4}
## Conversational Style Requirements
{Same style requirements as the seeding script}
## Ad Creative Special Requirements
- First 3 seconds must have a strong hook (data-driven or pain-point based; do not open with a question)
- High information density; core selling points stated directly
- CTA must be hard: clearly guide to click / enter live stream / purchase
- No absolute superlatives; no unverified efficacy claims
- Compliant with platform ad review standards
## Output
### Part A: Full Script (with duration annotations)
### Part B: Storyboard Table
| Shot # | Duration | Frame Content | Voiceover / Subtitle | Production Notes |Save the script to _temp/video-downloads/[product-name]-seeding-script.md or [product-name]-ad-creative-script.md
Conduct video-script-specific proofreading of the generated script — 5 checks:
#### Check 1: Conversational Level
Reference the video script colloquialisation rules:
#### Check 2: Hook Strength
#### Check 3: Pacing and Duration
#### Check 4: Ad Compliance Review (Critical!)
This is the most common reason ad creative material gets rejected. Even if certain language appears in a brand's official marketing materials, the platform's review system may still reject it.
4a. Absolute Superlatives (must remove):
4b. Time + Efficacy Claims (high risk — most commonly rejected):
4c. Efficacy Claim Wording:
4d. Comparisons and Disparagement:
4e. Inducement and Misrepresentation:
Rewrite principle: Replace third-person data with first-person sensory descriptions. "After using it I felt..." is far safer than "Clinically proven to..."
#### Check 5: AI-Tone Check
Reference the 6 categories of AI-sounding language:
After proofreading, show the list of changes to the user for confirmation, then apply the changes.
All intermediate outputs and final deliverables are saved in _temp/video-downloads/:
_temp/video-downloads/
├── video-1-[ID].mp4 # Downloaded video
├── video-2-[ID].mp4
├── analysis-1.md # Video analysis results
├── analysis-2.md
├── [product-name]-viral-analysis-summary.md # Multi-video consolidated summary
├── [product-name]-seeding-script.md # Final seeding script
└── [product-name]-ad-creative-script.md # Final ad creative script| Resource | Path | Purpose |
param($m) $inner = $m.Groups[1].Value
$cells = $inner -split '\|' $fixedCells = $cells | ForEach-Object { $cell = --- name: huashu-douyin-script description: | Short video viral script creation workflow. End-to-end process from competitor video breakdown to script generation: download Douyin videos → Gemini video analysis → viral formula extraction → script + storyboard generation → AI-tone proofreading. Use when the user mentions "short video script", "viral breakdown", "competitor analysis", "promotional script", "ad material", "seeding script", "video breakdown", or "short video analysis".
A complete workflow from competitor video breakdown to script generation. Transforms "copy viral videos by instinct" into "AI-powered systematic breakdown + structured replication".
uv (Python package manager)yt-dlp (video download — pip install yt-dlp or brew install yt-dlp)GEMINI_API_KEY environment variable (for Gemini video analysis — get from <https://aistudio.google.com/apikey>)Path convention: SKILL_DIR in the instructions below refers to the absolute path of the directory containing this SKILL.md file. Before running scripts, use dirname or a Glob tool to determine the actual location of SKILL.md and replace SKILL_DIR.
Gather the following from the user:
Required:
Optional:
If the user has only provided partial information, proactively ask for what's missing.
Run the download script:
uv run SKILL_DIR/scripts/download_video.py \
--urls "URL1" "URL2" \
--output-dir _temp/video-downloadsParameters:
--urls: Supports short links, page links, and share text (auto-extracts URL)--output-dir: Defaults to _temp/video-downloads/ in the current working directory--cookies-browser: Default chrome; options include edge / firefoxIf download fails:
_temp/video-downloads/For each successfully downloaded video, call Gemini video analysis:
uv run SKILL_DIR/scripts/analyze_video.py \
--video "_temp/video-downloads/video-1-xxx.mp4" \
--prompt "PROMPT_BELOW" \
--model flash \
--resolution medium \
--output "_temp/video-downloads/analysis-1.md"Use the flash model + medium resolution (sufficient for short videos; saves cost).
Multiple videos can be analysed in parallel (use run_in_background=true).
Viral Analysis Prompt (pass in via --prompt):
As a senior short-form video e-commerce analyst, conduct a 7-dimension in-depth breakdown of this video.
Special focus: the first 3 seconds are the most critical part — break them down at a near-frame-by-frame level.
## 1. Hook Analysis (First 3 Seconds) ⭐ Most Critical
The first 3 seconds = copy hook + visual hook. Analyse both tracks in detail.
### 1a. Copy Hook
- Hook type (counterintuitive / pain point / data / scenario / suspense / benefit)
- Full verbatim transcript of the hook copy
- Relevance of copy to the product (strong / weak connection)
### 1b. Visual Hook (Frame-by-frame description)
- Frame 0: Describe the composition, tone, and main subject of the very first frame
- Visual hook type (visual spectacle / product stacking / sudden cut / action impact / text pop / first-person POV)
- Specific frame description: shot framing, tone, camera movement, effects, facial expression and actions
- Visual information density: how many information elements appear on screen simultaneously
### 1c. Copy × Visual Synergy
- Do the copy and visuals simultaneously reinforce the same message?
- Sound design: are there sound effects, BGM changes, or voice tone changes in the first 3 seconds?
- Combined hook intensity score (1–10) with reasoning
## 2. Shot Structure
Break down each shot in a table:
| Time | Shot Type | Frame Content | Voiceover / Subtitle | Transition |
## 3. Rhythm Design
- Timestamps of fast-cut segments
- Rhythm variation pattern (fast-slow-fast / gradually accelerating / pulsed)
- Alignment between BGM and visual content
## 4. Visual Elements
- Colour tone and filter style
- Subtitle style and appearance timing
- Product presentation method
- Composition characteristics
## 5. Conversion Design
- CTA type and timing
- Price anchoring strategy
- Urgency creation methods
- Conversion funnel (video → ? → ?)
## 6. Compliance Check
- Are there any absolute superlatives or prohibited expressions?
- Are efficacy claims compliant?
- Any potential review risks?
## 7. Replicable Elements
- Directly replicable: hook sentence patterns, shot structure, visual style, CTA scripts
- Not replicable: unique scenes, specific KOLs, brand authority
Please output in English, as detailed as possible.When competitor videos are available → Consolidate analysis results:
Read all analysis-*.md files and compare against the validated formulas in references/proven-formulas.md. Claude then synthesises:
When no competitor videos are available → Use validated formulas directly:
Read references/proven-formulas.md, select the closest formula for the product category as a baseline. Remind the user: scripts without competitor analysis may lack category specificity — recommend sourcing competitor videos later.
Save the consolidated summary to _temp/video-downloads/[product-name]-viral-analysis-summary.md
Present to the user for confirmation:
Formula accumulation: After analysis is complete, append the new category's formula to references/proven-formulas.md for continuous knowledge building.
Generate the script based on the viral formula + product information + conversational style samples.
Pre-generation preparation:
references/script-style-samples.md for conversational style examplesreferences/analysis-dimensions.mdScript Generation Prompt Templates:
#### Seeding Video Script
You are a short-form video director specialising in seeding content.
## Task
Generate a [duration]-second seeding video script for the following product.
## Product Information
{product name, core selling points, target audience, price, brand information}
## Viral Formula (based on competitor analysis)
{Viral formula extracted in Step 4}
## Conversational Style Requirements
Reference the style characteristics of the following real scripts:
- Extremely conversational: write the way you speak; short sentences (15 words max)
- Specific data anchors: use concrete numbers, not "a lot" or "many"
- Sensory description: engage visual / tactile / taste / smell
- Emotional triggers: identity resonance, anxiety activation, scenario empathy
- Brand endorsement simplified: one sentence max
- Price anchoring + urgency
Real script examples:
{Select 1–2 examples from script-style-samples.md in the same category or similar style}
## Output Requirements
### Part A: Full Script
- First 3 seconds must have a strong hook (reference the most effective hook type from analysis)
- Middle section presents core selling points (max 3 — viewers won't remember more)
- Clear CTA at the end
- Fully conversational throughout — like a friend recommending something
- No absolute superlatives; compliant with platform ad review standards
- Annotate estimated duration for each segment
### Part B: Storyboard Table (first 3 seconds must describe the visual hook in detail)
| Shot # | Duration | Shot Type | Frame Content | Voiceover / Subtitle | Filming Notes |
⚠️ The storyboard for the first 3 seconds must include:
- Visual hook type (visual spectacle / product stacking / sudden cut / action impact / text pop / first-person POV)
- Specific frame description: composition, tone, camera movement, effects, expression and action
- First frame design: if paused at second 0, can this frame attract a click?
- Copy × visual synergy: do audio and visuals reinforce the same message simultaneously?#### Paid Traffic Ad Creative Script
You are an ad creative director specialising in high-conversion paid traffic material.
## Task
Write a [duration]-second paid traffic ad creative script for the following product.
## Product Information
{product name, core selling points, target audience, price, campaign objective}
## Viral Formula (based on competitor analysis)
{Viral formula extracted in Step 4}
## Conversational Style Requirements
{Same style requirements as the seeding script}
## Ad Creative Special Requirements
- First 3 seconds must have a strong hook (data-driven or pain-point based; do not open with a question)
- High information density; core selling points stated directly
- CTA must be hard: clearly guide to click / enter live stream / purchase
- No absolute superlatives; no unverified efficacy claims
- Compliant with platform ad review standards
## Output
### Part A: Full Script (with duration annotations)
### Part B: Storyboard Table
| Shot # | Duration | Frame Content | Voiceover / Subtitle | Production Notes |Save the script to _temp/video-downloads/[product-name]-seeding-script.md or [product-name]-ad-creative-script.md
Conduct video-script-specific proofreading of the generated script — 5 checks:
#### Check 1: Conversational Level
Reference the video script colloquialisation rules:
#### Check 2: Hook Strength
#### Check 3: Pacing and Duration
#### Check 4: Ad Compliance Review (Critical!)
This is the most common reason ad creative material gets rejected. Even if certain language appears in a brand's official marketing materials, the platform's review system may still reject it.
4a. Absolute Superlatives (must remove):
4b. Time + Efficacy Claims (high risk — most commonly rejected):
4c. Efficacy Claim Wording:
4d. Comparisons and Disparagement:
4e. Inducement and Misrepresentation:
Rewrite principle: Replace third-person data with first-person sensory descriptions. "After using it I felt..." is far safer than "Clinically proven to..."
#### Check 5: AI-Tone Check
Reference the 6 categories of AI-sounding language:
After proofreading, show the list of changes to the user for confirmation, then apply the changes.
All intermediate outputs and final deliverables are saved in _temp/video-downloads/:
_temp/video-downloads/
├── video-1-[ID].mp4 # Downloaded video
├── video-2-[ID].mp4
├── analysis-1.md # Video analysis results
├── analysis-2.md
├── [product-name]-viral-analysis-summary.md # Multi-video consolidated summary
├── [product-name]-seeding-script.md # Final seeding script
└── [product-name]-ad-creative-script.md # Final ad creative script| Resource | Path | Purpose |
|---|---|---|
| Analysis dimension framework | references/analysis-dimensions.md | 7-dimension analysis + seeding vs ad material differences |
| Validated viral formulas | references/proven-formulas.md | Category formula library; baseline when no competitor videos are available |
| Conversational style samples | references/script-style-samples.md | Few-shot examples for script generation |
| Video download script | scripts/download_video.py | Video download (yt-dlp) |
| Gemini video analysis | scripts/analyze_video.py | Video comprehension and breakdown (built-in) |
| AI-tone proofreading rules | Embedded in Step 6 | 6 AI-tone identification categories |
| Script colloquialisation | Embedded in Step 6 | Conversational rewriting rules |
When competitor videos are available ("Help me break down these videos and write a script"):
references/proven-formulas.mdWhen no competitor videos are available ("Write me a seeding script for XX product"):
references/proven-formulas.md (Step 4)Total time: ~15–20 minutes with videos; ~5–10 minutes without.
By Huashu | AI Native Coder · Independent Developer WeChat Official Account "Huashu" | 300k+ followers | AI Tools & Productivity Flagship products: Kitty Catchlight (AppStore Paid Rankings Top 1) · Play DeepSeek with One Book
.Trim() if ($cell -match '^:?-+:? | Analysis dimension framework | references/analysis-dimensions.md | 7-dimension analysis + seeding vs ad material differences | | Validated viral formulas | references/proven-formulas.md | Category formula library; baseline when no competitor videos are available | | Conversational style samples | references/script-style-samples.md | Few-shot examples for script generation | | Video download script | scripts/download_video.py | Video download (yt-dlp) | | Gemini video analysis | scripts/analyze_video.py | Video comprehension and breakdown (built-in) | | AI-tone proofreading rules | Embedded in Step 6 | 6 AI-tone identification categories | | Script colloquialisation | Embedded in Step 6 | Conversational rewriting rules |
When competitor videos are available ("Help me break down these videos and write a script"):
references/proven-formulas.mdWhen no competitor videos are available ("Write me a seeding script for XX product"):
references/proven-formulas.md (Step 4)Total time: ~15–20 minutes with videos; ~5–10 minutes without.
By Huashu | AI Native Coder · Independent Developer WeChat Official Account "Huashu" | 300k+ followers | AI Tools & Productivity Flagship products: Kitty Catchlight (AppStore Paid Rankings Top 1) · Play DeepSeek with One Book
) { " $cell " } else { " $cell " } } '|' + ($fixedCells -join '|') + '|'
| Analysis dimension framework | references/analysis-dimensions.md | 7-dimension analysis + seeding vs ad material differences | | Validated viral formulas | references/proven-formulas.md | Category formula library; baseline when no competitor videos are available | | Conversational style samples | references/script-style-samples.md | Few-shot examples for script generation | | Video download script | scripts/download_video.py | Video download (yt-dlp) | | Gemini video analysis | scripts/analyze_video.py | Video comprehension and breakdown (built-in) | | AI-tone proofreading rules | Embedded in Step 6 | 6 AI-tone identification categories | | Script colloquialisation | Embedded in Step 6 | Conversational rewriting rules |
When competitor videos are available ("Help me break down these videos and write a script"):
references/proven-formulas.mdWhen no competitor videos are available ("Write me a seeding script for XX product"):
references/proven-formulas.md (Step 4)Total time: ~15–20 minutes with videos; ~5–10 minutes without.
By Huashu | AI Native Coder · Independent Developer WeChat Official Account "Huashu" | 300k+ followers | AI Tools & Productivity Flagship products: Kitty Catchlight (AppStore Paid Rankings Top 1) · Play DeepSeek with One Book
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.