
viral-hook
Use when the user asks for viral hook or a task matching the examples below. Prepend a 4s viral hook + optional designed title to a user's video, then hard-cut into the real clip. An attention-grabbing event erupts into the user's OWN scene; the title is rendered in-scene by Seedance. One MCP call does the whole render. Requires Pika MCP. Triggers: "add a viral hook", "disruption hook on my video", "hook + title on my clip", "viral hook with typography", "scroll-stopper intro".
- Installs
- 1K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/pika-labs/pika-plugins --skill viral-hook- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads viral-hook automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Viral Hook
Prepends an extreme, no-dialogue ~4s hook to a user's video — an attention-grabbing event that erupts into the user's own scene, with an optional designed title burned into the lower third — then hard-cuts into the untouched clip.
generate_viral_hook does the whole render in one call and returns BOTH
the hook and the stitched final. This skill's job is the creative judgment the tool can't
make: read the scene, pick a hook action from the menu, and write a title.
Hook rules (govern what you WRITE as hook_action)
- Certain to grab attention, fast. Extreme and unmissable inside ~2s — over plausibility or relevance to the video's topic.
- Erupts into the user's OWN scene. Same person, location, lighting — the tool anchors on the best visual anchor frame: 0s when usable, otherwise the first detectable face frame. Describe the event entering THAT space, never a different setting.
- Use the scene's real geometry. Enter through a doorway with depth, a wall behind the subject, headroom above.
- No dialogue. Voice-free (only ambient / impact SFX) — don't write spoken lines into
hook_action.
Hook super-category menu
Four super-categories. Rotate super-category per run on the same clip/session — without rotation, regenerates collapse to vehicle / explosion / creature. Archetypes are starting points, not a closed list; invent freely within the category.
A. Destructive intrusion — external force violently enters and damages the scene
| Archetype | What happens | Scene affordance |
|---|---|---|
| Incoming vehicle | car / truck / bus smashes through a wall or doorway and barrels at camera | background depth or a back wall |
| Flash flood / wave | a wall bursts and water surges down toward camera | corridor / back wall |
| Structural collapse | ceiling / wall / shelf caves in, debris rains down | headroom / walls |
| Explosion / blast | fireball erupts behind them, shockwave + debris rush forward | a background surface |
| Creature attack | animal / monster lunges from off-frame or bursts in | open off-frame edge |
| Absurd intruder | dinosaur, elephant, UFO, giant hand enters behind them | background space |
| Natural disaster | tornado / meteor / lightning / sinkhole | exterior or large space |
B. Physics anomaly — laws of physics break, photoreal; scene + subject stay, motion goes wrong
| Archetype | What happens | Scene affordance |
|---|---|---|
| Gravity flips upward | subject, loose objects, and dust fall UP toward the ceiling | any indoor scene |
| Time freeze around subject | every other object holds mid-air while the subject keeps moving | scene with loose / moving objects |
| Magnetic pull from ceiling | hair, clothing, jewelry, small objects yank upward as if a ceiling magnet fired | indoor scene + loose props |
| Room rotates 90° | walls + floor rotate around the upright subject until "down" is now a wall | enclosed space, visible walls + floor |
| Object orbit | all small loose objects lift off and orbit the subject like a tornado | scene with props on surfaces |
| Inverted color flash | the scene briefly inverts to negative colors and back, like a glitch | any scene |
C. Content-supersized — an element FROM the clip appears building-sized and crashes in
Pull the element from the scene reading (Step 2) — hero product, pet, drink, phone, logo.
| Archetype | What happens | Source element |
|---|---|---|
| Giant hero product | the product being shown appears at 10× scale and smashes through the wall / ceiling | the product in the clip |
| Building-scale pet | the subject's pet appears at building height in the window / doorway | a pet in the clip |
| Giant drink | the cup / can / bottle becomes building-sized and tips over the room | a drink in the clip |
| Giant phone | the subject's phone scales up to fill the back wall, screen glowing | a phone in the clip |
| Giant logo | a brand mark on a wall / shirt / packaging grows to cover the back wall | any logo in the clip |
D. Content-projectile — a relevant object FROM the clip flies at the subject at speed
Source from the scene reading.
| Archetype | What happens | Source element |
|---|---|---|
| Hero-object slam | the product they're showing flies at high speed into their face | the hero product |
| Food / drink splash | their food or drink hurtles into them, splattering everywhere | food or drink in the clip |
| Swarm pelt | many copies of a small object (sneakers / pills / cans) pelt them like hail | a small repeating object |
| Prop whip | an object on a surface (mug, lamp, book) whips off and slams into them | any heavy prop visible |
Title rules (when the user wants one)
- ≤7 words, ALL CAPS, one punchy line. Tie it to BOTH the hook action AND the clip's actual content. Example: giant-sneaker projectile + sneaker unboxing → "THIS DROP HITS DIFFERENT."
- Optional — omit for a title-free hook.
- Typography defaults to bold distressed display type with a thick black outline. The user
may override via
type_style(a free-form style string) or by pasting abrand.md— extract ONLY the typography directives (fonts, weights, treatments), ignore logos / palette / voice. Warn that thin / un-outlined styles may wobble over the 4s.
Workflow
Step 0 — Intake (empty args)
If no video was provided, print this menu verbatim and STOP — do not call any tool:
What would you like a viral hook on? Paste any of:
- A local video path — e.g.
/Users/me/Desktop/clip.mp4- An https URL to an mp4
- A path + a title — e.g.
clip.mp4 — "YOUR PROMPTS WON'T SAVE YOU"- A path + "surprise me" — agent picks the hook action and title
Wait for the next message. Don't guess an input.
Step 1 — Get a URL
If the input is a local file, upload_asset it and use the returned
public_url. If it's already an https URL, use it directly. Any format is fine — no
transcoding or probing here.
Step 2 — Read the scene
analyze_media(video_url) → capture the subject + framing, indoor/outdoor + setting,
lighting, photoreal vs stylized aesthetic, and the spirit/topic. Also note the hero
objects (product, pet, drink, phone, logos), including whether each one is visible near the
opening or only appears later — required for super-categories C and D. This reading is passed
verbatim as the scene parameter.
Step 3 — Pick the hook action
Rotate super-category vs the previous run on this clip; pick a different one if possible.
Choose the strongest archetype the scene's geometry supports (A/B) or the most prominent hero
object (C/D). Write the specific hook action — entry vector + motion + scale + peak — as one
vivid sentence. This is hook_action. For C/D, name the exact hero object so the tool ties
it to the clip. If the hero object appears later in the clip rather than near the opening,
make the first hook frame explicit: "from the first frame, the subject is holding/using
[hero object]".
Step 4 — Title + style
Ask whether the user wants a title. If yes, propose a ≤7-word ALL-CAPS line tying the hook
action to the topic, get approval, and offer typography choices before rendering: default,
custom direction, or brand.md. If the user has no preference, use default and say so. If no
title is wanted, skip — the hook renders title-free.
Step 5 — Render
Call generate_viral_hook({ video_url, scene, hook_action, title?, type_style? }).
If it returns {task_id, status}, poll task_status(task_id) in a tight
loop until terminal, then read the result. On failed, surface the error — don't retry blindly.
Step 6 — Deliver
Present both clips:
- hook only:
[[video:<hook_url>]] - final stitched:
[[video:<final_url>]]
What NOT to do
- Don't re-implement the render in the skill. No extract_frame / generate_image /
edit_concat / transcode here —
generate_viral_hookowns all of it. If the hook looks wrong, change thehook_action/titletext, not the pipeline. - Don't pass a seed. Variations should come from
hook_action,title, ortype_style. - Don't bake a title onto the real video. The title belongs only on the hook.
- Don't auto-edit an approved title. If a rephrase is needed, ask.
FAQ
What does the viral-hook skill do?
Use when the user asks for viral hook or a task matching the examples below. Prepend a 4s viral hook + optional designed title to a user's video, then hard-cut into the real clip. An attention-grabbing event erupts into the user's OWN scene; the title is rendered in-scene by Seedance. One MCP call does the whole render. Requires Pika MCP. Triggers: "add a viral hook", "disruption hook on my video", "hook + title on my clip", "viral hook with typography", "scroll-stopper intro".
How do I install viral-hook?
Run npx skills add https://github.com/pika-labs/pika-plugins --skill viral-hook in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/viral-hook/ (personal) or .claude/skills/viral-hook/ (project).
Which AI agents can use viral-hook?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is viral-hook safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains viral-hook?
It is published by pika-labs in pika-labs/pika-plugins. It has 1,009 recorded installs.
More from pika-labs/pika-plugins
ugc-ads
pika-labs/pika-plugins
Use when the user asks for ugc ads or a task matching the examples below. Multi-cut jump-cut UGC product ad — HOOK + 3 JUMP CUTs + OUTRO, 15s, 9:16 vertical (3:4 optional, seedance only), POV first-person talking-head selfie, every beat has spoken dialogue with native lip-sync, 5-act narrative arc (set → name → reveal → twist → punchline). Six category essences (HAUL / APP / FOOD / BEAUTY / FITNESS / TECH) auto-picked from the input URL. Creator-style raw UGC talking-head with multi-beat conversational dialogue. Use when the user asks to "make a UGC ad", "jump-cut product ad", "POV product reveal", "creator-style ad", "haul-style ad", "unboxing ad", "TikTok-style product video", or "talking-head ad about [URL]".
build-a-brand
pika-labs/pika-plugins
Use when the user asks for build a brand or a task matching the examples below. Build a practical brand identity from any input — an idea, an existing website, a list of reference brands, product photos, or "I want to rebrand X". Default to a fast quick-brand path for founder-kit users, and offer the full 14-16-page guidelines as an opt-in upgrade. Use when someone wants a brand identity but does NOT need a full commerce launch (no Shopify, no product listings, no social posting). Trigger phrases: "build me a brand", "make me a brand", "design a brand identity", "brand guidelines for [X]", "i want a brand book", "create a brand from scratch", "brand for [idea]", "i want a brand that feels like [X] + [Y]", "rebrand my [thing]", "visual identity for [thing]", "build-a-brand".
founder-product-video
pika-labs/pika-plugins
Use when the user asks for founder product video or a task matching the examples below. Generate a 65-second founder-style product video from a product URL + user-supplied imagery. Output is a 16:9 1080p MP4 — 4 × 15s SeeDance acts of a talking founder + 5s branded end card + background music. The user's actual product screenshots are composited onto product reveal shots after Seedance generation, so readable UI and brand text are real, not AI-imagined. Triggers — "founder video", "product video", "60s pitch video", "make a video of [founder] for [URL]", "talking founder explainer". Requires Pika MCP. Uses a supplied brand kit folder (brand.json or an exported build-a-brand kit with brand.md, tokens, logo assets); if no kit exists, run build-a-brand first.
app-sizzle
pika-labs/pika-plugins
Use when the user asks for app sizzle or a task matching the examples below. Generate cinematic 1080p iOS app teaser videos from real App Store screenshots, with a GPT-image-2 enhancement pass on each selected screen before generation. Output is a beat-driven cinematic teaser built from GPT-enhanced screenshots, ending with the brand logo/icon plus a deterministic COMING SOON overlay. Screens sourced from Pika MCP App Store fetch, a live website (auto-captured), user-supplied files, or URLs. Starts by sourcing real screens and brand assets before any generation. Triggers on: app sizzle, app teaser, app promo, iOS app promo video, app video, app product video, coming soon, seedance, motion graphics, make a promo for my app, make a video for [app], gpt enhance promo. NOT for: short-form consumer content like GRWM, vlogs, UGC, or non-app product ads (use content-video); app-sizzle is specifically for iOS app teaser videos sourced from App Store screens or real app UI.
app-store-screens
pika-labs/pika-plugins
Use when the user asks for app store screens or a task matching the examples below. Generate 5–6 App Store screenshots in a given brand's aesthetic from a brand.md, raw product screenshots, or a public App Store listing fetched through Pika MCP. Story-driven (hook → value → features → proof → close), splashy, on-brand. Outputs 1290×2796 PNGs ready to drop into App Store Connect. Use when someone wants App Store / store listing assets — including: "make me app store screenshots", "design app store screens for [brand]", "I have a brand.md and screenshots, generate store assets", "screenshot set for app launch", "iOS store screens", "app store creative", "store listing visuals", "splashy app store screens", "app-store-screens".
podcast
pika-labs/pika-plugins
Use when the user asks for podcast or a task matching the examples below. Two-host podcast video for any URL or free-form topic — 1 minute, 4 acts × 15s, native multi-shot dialogue, optional voice cloning for Host A. Use when the user asks to "make a podcast", "podcast about [thing]", "podcast review of [url]", "two-host explainer", "interview-style clip", "two people talking on camera", "I/me and X talk about Y", or "interview with [persona] about [topic]". Native audio is the deliverable; captions are skipped by default because podcast dialogue mistranscribes domain terms.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available