Ugc
fal-ai-community/skills
Plan and run UGC-style creator ads and social proof videos with genmedia.
A skill your agent uses when producing UGC-style creator video with Scenario: a talking-head ad or testimonial from a portrait and a script, a founder clip, a product demo or unboxing, a reaction or…
$ npx skills add scenario-labs/skills --skill scenario-ugc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-ugc --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scenario-ugc .claude/skills/scenario-ugc && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scenario-ugc" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-ugc into .claude/skills/scenario-ugc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-ugc", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/scenario-labs/skills/tree/main/skills/scenario-ugcType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add scenario-labs/skills --skill scenario-ugc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-ugc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/scenario-ugc .agents/skills/scenario-ugc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scenario-ugc" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-ugc into .agents/skills/scenario-ugc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-ugc", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-ugc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-ugc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/scenario-ugc .cursor/skills/scenario-ugc && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scenario-ugc" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-ugc into .cursor/skills/scenario-ugc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-ugc", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/scenario-labs/skills.git --path skills/scenario-ugc--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add scenario-labs/skills --skill scenario-ugc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-ugc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/scenario-ugc .gemini/skills/scenario-ugc && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scenario-ugc" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-ugc into .gemini/skills/scenario-ugc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-ugc", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install scenario-labs/skills scenario-ugcInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add scenario-labs/skills --skill scenario-ugc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/scenario-ugc .github/skills/scenario-ugc && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scenario-ugc" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-ugc into .github/skills/scenario-ugc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-ugc", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-ugc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scenario-labs/skills scenario-ugc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/scenario-ugc .opencode/skills/scenario-ugc && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scenario-ugc" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/scenario-ugc into .opencode/skills/scenario-ugc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-ugc", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scenario-ugcA skill your agent uses when producing UGC-style creator video with Scenario: a talking-head ad or testimonial from a portrait and a script, a founder clip, a product demo or unboxing, a reaction or…
Scenario Ugc is an agent skill from scenario-labs/skills. Use when producing UGC-style creator video with Scenario: a talking-head ad or testimonial from a portrait and a script, a founder clip, a product demo or unboxing, a reaction or before-after cut, a faceless voiceover over b-roll, or vertical social video for TikTok, Reels, or Shorts that must feel filmed on a phone rather than produced. Keywords: UGC, creator ad, talking head, testimonial, avatar, lipsync, founder video, social proof, faceless voiceover, organic, vertical video.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Marketing & SEO, covering Influencer and creator marketing, Text to speech and voice and Marketing psychology. It works with TikTok. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scenario Ugc loads about 3.1k tokens when it runs. Until then it costs about 124 tokens; SKILL.md has 1,415 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 1,415 words, ~3,076 tokens.
.claude/skills/scenario-ugc/SKILL.md (or your agent's skills folder).UGC is a register, not a length: content that reads as a person talking into their own phone, not a brand talking through a camera crew. Everything in this skill serves that register, and most failures come from importing ad craft into it. This skill routes the production; mechanics live in the sibling skills named per lane. Connection and the core loop: see the scenario skill in this repo. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
Two rules are non-negotiable. The product is never generated: demo shots start from an uploaded photo or footage of the real product (scenario-product-shots for stills). And the words are never invented: no fabricated testimonials, review counts, metrics, medical or financial claims, or legal copy; speak only lines the user supplied or approved, and prefer observable statements ("the texture looks lighter") over claims ("this cures acne").
Discover members with recommend, passing the lane's capability and the user's own words: it ranks by measured cost and latency and names the purpose-built pick, where a capability-worded search returns hundreds of keyword hits with nothing to choose between them. Read next_step before taking a pick, per the scenario skill. Keep search for a member you can already name. Never assert a generative model's id as a constant. Scenario's own single-purpose tool models are named outright below: there is exactly one of each, so discovering them would only re-derive a constant.
| Lane | Route | Contract |
|---|---|---|
| Portrait plus speech audio | Talking-avatar members (img2video) | scenario-kling |
| Existing footage, new words | Lipsync members (video2video), audio or text, never both | scenario-kling |
| Recorded delivery, different face | Motion-control members (video2video, say "motion control" in the recommend prompt or lipsync members come back): character still plus the recording as driving video, keepOriginalSound keeps the voice; output lands at the member's own size, the still lending only its orientation | scenario-kling |
| Generated creator speaking natively | Native-audio video families (txt2video), dialogue in quotes with the delivery named (pace, tone, one gesture) | scenario-veo, scenario-seedance, scenario-kling |
| Faceless voiceover | B-roll clips (txt2video) plus TTS narration (txt2audio) | scenario-video, scenario-elevenlabs |
| Product demo inserts | Image-to-video off the uploaded product still | scenario-product-shots, scenario-video |
| Captions, cut, 9:16 master | Assembly tool models; text cards as image layers | scenario-video-assembly, scenario-text-overlay |
Script in six spoken beats: hook (one concrete tension or result), context (why this speaker cares), product moment, proof (visible demo or a user-supplied fact), turn (objection answered or before-after), close (soft CTA). Write for the mouth, not the page: contractions, false starts allowed, no taglines. Spoken pace runs near 2.5 words a second, so a 25-second ad is roughly 60 words, but that is a first guess and avatar members undershoot it: observed rates run 1.76 to 1.94 words a second, and one member padded a 60-word script with 21s of silence instead. Time the returned clip before assembling, then trim the silences where there are any and cut the script where the delivery is simply slow. The compositor has no cut inside a layer, so a trim is one layer per kept segment, each with its own trimStart and duration.
Keep the register in every visual prompt: phone-height framing, available light, a real location with clutter, natural skin texture, one handheld drift at most. Cinematic grammar (dolly moves, golden-hour rim light, shallow anamorphic looks, graded color, retouched skin) reads as an ad and kills belief. Compose 9:16 natively, reframing any non-vertical still a lane consumes (the avatar portrait, a motion-control character still, the product photo) per scenario-formats before generating; a cropped 16:9 master frames like television.
collection_create, catalog write lane, name only), then collection_add_assets each keeper as it lands; its returned itemCount is the receipt.upload_asset the founder's recorded narration, or generate TTS per scenario-elevenlabs when they want a stand-in voice they approved.recommend with capability="img2video" and the brief in the user's words; pick from its ranked list by input contract (a script-taking member when the speech exists only as text, an audio-taking one when a recording exists), then by whether the member can be told not to burn in captions: some hallucinate gibberish subtitles that no negative prompt suppresses, and the ones with a switch cost several times more, which recommend prices for you.upload_asset the portrait. Prompt the speaker's hands empty and the set free of products: avatar members invent props and label type. model_run with dry_run=true first: avatar members sit far apart on price, so quote before spending.wait=false, then jobs_wait with the returned job id, re-called with pending_job_ids on timeout, never a second model_run.scenario-video), 3 to 5 seconds, one micro-move. Whether aspectRatio survives a start image is per member and the schema note can be wrong either way, so read width and height off the returned asset rather than assuming the ratio held.model_scenario-compose-video per scenario-video-assembly: talking head as the spine, insert cut over beats three and four, product-name card from scenario-text-overlay as an image layer, dropped outright when no approved product name exists, since inventing one is the fabrication the brief forbids. Every overlay layer needs an explicit width and height or the compositor scales it, and durationMode: "custom" pins the master's length against image layers that would stretch it. A succeeded compose job is not proof the layers drew or landed where sent: pull a frame from the composite and confirm the card is present and placed before delivering. Captions come last, on the finished cut, from the captioner scenario-video-assembly discovers with recommend (two exist, so no fixed id), positioned inside the platform's safe zone: the compositor has no text layer.asset_display the master. Gate every generated clip, the talking head included: take the frames from the platform, the free firstFrame and lastFrame off asset_get first and model_scenario-video-to-image-seq when a mid-clip frame is what settles it, then verify them against the uploads (scenario-asset-analysis); a local extraction is not a substitute at any budget, because it yields no asset to file or audit and the gate stops being traceable; an invented product in the speaker's hands or legible generated type fails a clip exactly like label drift on the insert. Report spend by summing this run's own job records by job id: jobs_list is project-scoped and over-reports, and usage's headline figure is project-lifetime.text to a lipsync member: exclusive inputs; pick one.dry_run on avatar and lipsync runs: per-member pricing varies too widely to guess.© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/scenario-ugc of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Ugc next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scenario Ugc this skillscenario-labs/skills | 946 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Ugcfal-ai-community/skills | 251 | — | ~1.5k | Automated safety check: Pass | None | |
| Tiktok Shop Reviewsnexscope-ai/eCommerce-Skills | 1.1k | — | ~440 | Automated safety check: Pass | MIT | |
| Reelclaw Adsdansugc/reelclaw | 145 | — | ~3.9k | Automated safety check: Notes | MIT | |
| Gingiris Ugc MatrixGingiris-1031/Competitor-analysis-tool | 110 | — | ~790 | Automated safety check: Pass | None | |
| Higgsfield Content FactoryDaanKieft/ai-influencer | 116 | — | ~15k | Automated safety check: Pass | None |
fal-ai-community/skills
Plan and run UGC-style creator ads and social proof videos with genmedia.
nexscope-ai/eCommerce-Skills
Review strategy for TikTok Shop — encouraging reviews, responding, leveraging UGC, social proof
dansugc/reelclaw
Make short-form UGC video ads (TikTok, Reels, Shorts) for the product in the current repo with DansUGC ReelClaw and real human creator reactions from the DansUGC library.
Gingiris-1031/Competitor-analysis-tool
🇺🇸 UGC Matrix Growth Playbook — Scale user-generated content with AI + real creators.
DaanKieft/ai-influencer
A 5-stage AI content pipeline using Higgsfield MCP, focused on viral UGC content split evenly across 5 formats: UGC Entertainment (challenges), Street Interview, Unboxing, Product Review, ASMR.
nexscope-ai/eCommerce-Skills
TikTok Shop affiliate program strategy and creator collaboration.
scenario-labs/skills
A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…
scenario-labs/skills
A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.
scenario-labs/skills
A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…
scenario-labs/skills
A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…
scenario-labs/skills
A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…
scenario-labs/skills
A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…
Works with
Categories
A skill your agent uses when producing UGC-style creator video with Scenario: a talking-head ad or testimonial from a portrait and a script, a founder clip, a product demo or unboxing, a reaction or…. Scenario Ugc is an agent skill from scenario-labs/skills. Use when producing UGC-style creator video with Scenario: a talking-head ad or testimonial from a portrait and a script, a founder clip, a product demo or unboxing, a reaction or before-after cut, a faceless voiceover over b-roll, or vertical social video for TikTok, Reels, or Shorts that must feel filmed on a phone rather than produced.
Scenario Ugc fits situations like: producing UGC-style creator video with Scenario: a talking-head ad; testimonial from a portrait and a script; before-after cut; A faceless voiceover over b-roll.
Run `npx skills add scenario-labs/skills --skill scenario-ugc -a claude-code`. Or copy the skill folder (skills/scenario-ugc in scenario-labs/skills) into .claude/skills/scenario-ugc in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-ugc -a codex`. Or copy the skill folder (skills/scenario-ugc in scenario-labs/skills) into .agents/skills/scenario-ugc in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-ugc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-ugc, .gemini/skills/scenario-ugc, .github/skills/scenario-ugc and .opencode/skills/scenario-ugc in your project.
Going by SKILL.md and its folder, Scenario Ugc needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Scenario Ugc is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Scenario Ugc: Ugc (fal-ai-community/skills, 251 stars), Tiktok Shop Reviews (nexscope-ai/eCommerce-Skills, 1.1k stars), Reelclaw Ads (dansugc/reelclaw, 145 stars) and Gingiris Ugc Matrix (Gingiris-1031/Competitor-analysis-tool, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.
Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.