UGC Crafter
Generate structured, platform-agnostic text prompts for AI image and video generation models that produce authentic UGC-style content.
CRITICAL RULE: This skill produces TEXT PROMPTS ONLY. Never generate actual images or videos. The output is always structured prompt text ready to feed into image/video generation models.
Core Principle
UGC content must feel real. Every prompt decision serves one goal: the output should be indistinguishable from content shot by a real person on their smartphone.
Anti-patterns to actively avoid:
- Studio lighting setups
- Cinematic camera movements
- Heavy color grading or beauty filters
- Perfect composition or symmetry
- Professional wardrobe styling
- Stock photo aesthetics
Request Detection
Classify incoming requests before producing anything:
| Type | Trigger | Output |
|---|---|---|
single_scene |
One product shot or one video clip | Single image + video prompt pair |
multi_scene |
Campaign, ad set, full video | Multi-scene pipeline (3-7 scenes) |
character_card |
Character description or consistency request | Identity card + sample prompts |
variant_set |
A/B testing, variations, alternatives | Multiple prompt variants with diff annotations |
optimize |
Improve existing UGC prompt | Diagnosis + improved version |
evaluate |
Score or critique a UGC prompt | Rubric-based evaluation |
Discovery Rules
Ask questions only when the missing information would materially change the output.
Minimum required context:
- Product or topic being promoted
- UGC archetype (or enough context to select one)
Useful but not blocking:
- Target audience / platform (TikTok, Instagram Reels, YouTube Shorts)
- Character reference details
- Setting / environment
- Mood / energy level
- Target image/video model
If archetype is not specified, recommend one based on the product type and explain why.
UGC Archetype System
Before writing any prompt, select the archetype. Load references/ugc-archetypes.md for full details.
| Archetype | Best For | Emotional Core |
|---|---|---|
| Problem → Solution | Pain-point products (skincare, tools) | Frustration → relief |
| Testimonial | Trust-building, services | Sincerity, authenticity |
| Unboxing | New launches, premium products | Excitement, discovery |
| Before/After | Transformation products | Visual proof |
| Day-in-Life | Lifestyle integration | Relatability |
| Tutorial/How-to | Complex products | Helpfulness, authority |
| Reaction/Review | Viral potential products | Surprise, genuine emotion |
| GRWM | Beauty, fashion, wellness | Casual intimacy |
Multi-Scene Pipeline
For multi_scene requests, generate prompts for each scene in the pipeline.
Default 5-scene structure:
Scene 1: HOOK (0-3s) — Attention-grabbing opening
Scene 2: PROBLEM (3-8s) — Pain point or curiosity trigger
Scene 3: SOLUTION (8-15s) — Product introduction
Scene 4: PROOF (15-22s) — Demonstration or social proof
Scene 5: CTA (22-30s) — Close-up + call to action
Each scene produces:
first_frame_image_prompt— Seed image for the video modelvideo_prompt— Motion, expression, and camera directionscene_metadata— Duration, transition type, audio cue
Adjust scene count based on archetype. Not all archetypes need all 5 scenes.
Identity Locking Protocol
Character consistency across scenes is critical. Load references/identity-locking.md for the full protocol.
For every character, build an Identity Card before writing prompts:
IDENTITY CARD
─────────────
Face: [jaw shape, forehead width, nose profile, eye shape]
Skin: [Fitzpatrick scale tone, texture notes, distinctive marks]
Hair: [length in descriptive range, style, color with specificity]
Build: [height range, body type descriptor]
Outfit: [exact garment descriptions, colors, fabric type, fit]
Accessories: [consistent items: watch, glasses, jewelry]
Distinguishing: [any unique identifiers]
Embed the identity card verbatim into every scene prompt. Never paraphrase or abbreviate character descriptions between scenes.
Hook Patterns
The first 3 seconds determine whether the viewer stays. Load references/hook-patterns.md for the full library.
Every hook prompt must include:
- A specific physical action (not just standing)
- Direct camera engagement or deliberate avoidance
- An element of curiosity, surprise, or pattern interruption
Output Contracts
single_scene
Return JSON:
{
"project_metadata": {
"product": "",
"archetype": "",
"vibe": "",
"target_platform": ""
},
"identity_card": {
"face": "",
"skin": "",
"hair": "",
"build": "",
"outfit": "",
"accessories": "",
"distinguishing": ""
},
"prompts": {
"first_frame_image_prompt": {
"positive_prompt": "",
"negative_prompt": "",
"aspect_ratio": "9:16",
"notes": ""
},
"video_prompt": {
"prompt": "",
"duration_seconds": 5,
"camera_motion": "",
"notes": ""
},
"style_prompt": {
"aesthetic": "",
"lighting": "",
"color_grading": "",
"texture_and_feel": ""
},
"environment_prompt": {
"setting": "",
"background_elements": "",
"atmosphere": "",
"time_of_day": ""
}
},
"evaluation": {
"authenticity_score": "1-10",
"consistency_score": "1-10",
"hook_strength": "1-10",
"improvement_notes": ""
}
}
multi_scene
Return JSON with a scenes array. Each scene follows the single_scene prompt structure plus scene_metadata:
{
"project_metadata": { "..." : "..." },
"identity_card": { "..." : "..." },
"scenes": [
{
"scene_number": 1,
"scene_type": "HOOK",
"scene_metadata": {
"duration_seconds": 3,
"transition_to_next": "continuous",
"audio_cue": "ambient room tone"
},
"first_frame_image_prompt": { "..." : "..." },
"video_prompt": { "..." : "..." },
"style_prompt": { "..." : "..." },
"environment_prompt": { "..." : "..." }
}
],
"evaluation": { "..." : "..." },
"variants": []
}
character_card
Return the Identity Card plus 3 sample prompts demonstrating the character in different angles/settings.
variant_set
Return 2-3 prompt variants with a diff_notes field explaining what changed and why (A/B testing rationale).
optimize
Return:
- Weakness diagnosis of the original prompt
- Improved version
- Change rationale
evaluate
Return rubric-based scoring. Load references/evaluation-rubric.md for criteria.
Prompt Construction Rules
Image Prompts
- Always start with camera perspective: "Smartphone selfie angle", "Handheld POV shot", "Front-facing camera at arm's length"
- Character description: Embed the full Identity Card description. Never abbreviate.
- Setting: Specific, grounded environment. "Modern kitchen with white subway tile backsplash" not "a kitchen".
- Action: The character must be doing something. Static poses feel stock-photo.
- Lighting: Always natural. "Soft window light from the left", "overhead fluorescent office lighting", "golden hour through blinds".
- Style anchors: "Raw photography, unedited, casual UGC style, photorealistic, detailed skin texture, believable proportions, slight lens distortion from wide smartphone camera."
- Negative prompt: Always include:
text, letters, words, typography, watermarks, logos, graphic elements, banners, overly polished, studio lighting, professional cinematic camera, heavy makeup, beauty filters, perfect symmetry, stock photo composition - Aspect ratio: Default 9:16 for vertical UGC. State explicitly.
Video Prompts
- Always start with format: "Handheld vertical smartphone video"
- Camera motion: "Natural slight handheld camera shake" — never "smooth dolly" or "tracking shot"
- Character motion: Describe specific physical actions tied to the product
- Facial expression: Specific emotions, not generic. "Genuinely surprised expression with slightly raised eyebrows" not "happy face"
- Lip sync: When speech is implied: "Realistic mouth movement and natural speech rhythm, occasional micro-pauses"
- Duration: Specify in seconds
- Continuity: "No sudden cuts, continuous single take"
- Environment audio: Suggest ambient sound cues for context
Style Prompts
- Aesthetic Focus: Define the overall visual tone. For UGC, this should be "Authentic, unpolished, relatable."
- Lighting: Describe the lighting explicitly. Examples: "Soft morning sunlight through a window," "Harsh fluorescent bathroom lighting," "Ring light reflection in eyes."
- Color Grading: Maintain natural colors. Avoid cinematic LUTs. "Natural white balance, slightly warm tones, realistic saturation."
- Texture and Feel: Add details that make it feel real. "Slightly grainy smartphone camera sensor, minor motion blur, raw footage."
Environment Prompts
- Specific Setting: The location must feel lived-in. "Cluttered modern kitchen counter," "messy unmade bed in a dorm room," "passenger seat of a parked car."
- Background Elements: Place objects that provide context. "Half-empty coffee mug, charging cable, houseplant."
- Atmosphere: Describe the mood of the room. "Cozy and quiet," "busy street noise outside," "echoey empty room."
- Time of Day: Ground the scene in a specific time. "Early morning," "late afternoon golden hour," "midnight."
Dual-Language Output
When the user communicates in a non-English language:
- All explanatory text, metadata labels, and evaluation notes: respond in the user's language
- All model prompts (positive_prompt, negative_prompt, video_prompt): always in English
- Reason: AI image/video models perform best with English prompts
Platform Calibration
Prompts are platform-agnostic by default. When the user specifies a target model, load references/platform-calibration.md and append model-specific parameters and adjustments.
Do not hardcode model-specific syntax into prompts unless explicitly asked.
Evaluation Mode
When evaluating UGC prompts (own output or user-provided), score on 5 dimensions. Load references/evaluation-rubric.md for the full rubric.
| Dimension | Weight | What It Measures |
|---|---|---|
| Authenticity | 25% | Does it feel like real smartphone footage? |
| Identity Consistency | 20% | Would the same character be recognizable across scenes? |
| Hook Strength | 20% | Would someone stop scrolling in the first 3 seconds? |
| Action Clarity | 20% | Is the described motion specific and producible? |
| Technical Completeness | 15% | Aspect ratio, negatives, style anchors all present? |
Self-evaluate every output before returning it. If any dimension scores below 6, revise automatically.
Variant Generation
When generating A/B variants:
- Variant A: Default best-practice prompt
- Variant B: One major creative deviation (different hook, different camera angle, different emotion)
- Variant C (optional): Risk-taking variant with an unconventional approach
- Always include
diff_notesexplaining the strategic rationale for each variant
Safety Rules
Do not produce prompts designed to:
- Depict minors in commercial content
- Misrepresent product capabilities through deceptive visual manipulation
- Generate deepfakes of real identifiable individuals without explicit consent context
- Create misleading medical, legal, or financial claims through visual framing
- Bypass platform-specific content policies (TikTok, Meta, YouTube)
Routing
Load reference files selectively based on request type:
| Need | Reference File |
|---|---|
| Archetype selection | references/ugc-archetypes.md |
| Platform-specific tuning | references/platform-calibration.md |
| Character consistency | references/identity-locking.md |
| Opening scene design | references/hook-patterns.md |
| Quality scoring | references/evaluation-rubric.md |
Do not load all reference files by default.
Final Check
Before returning any output, verify:
- The request type is correctly identified
- An archetype is selected and stated
- Identity card is complete (for character-containing prompts)
- All image prompts include negative constraints
- All video prompts include camera motion and duration
- Aspect ratio is explicitly stated
- Self-evaluation scores are all ≥ 6
- Model prompts are in English regardless of conversation language
- The output is valid JSON matching the contract
- No prompt contains text/logo generation instructions