본문으로 건너뛰기
cccskills
무료GitHub에 공개

brag

Create a short launch video from the current website or app project using Hyperframes. The skill reads the code, plans scenes, adds music and optional narration, checks and renders the video, and prepares a poster and share copy.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag", "let's brag about this", "make a launch video", "turn this into a video", or wants to share what they built. Reads the project code directly — no live URL or screenshots needed.

설치 방법 보기

이럴 때 유용합니다

  • Creating a launch video from the current app project
  • Making a vertical video with a chosen tone
  • Adding narration to a short product introduction
  • Preparing a video, poster image, and social post copy

포함된 파일(200)

  • SKILL.md8.9 KB
  • assets/music/cues/happy-beats-business-moves-vol-1-by-ende-dot-app.music-cues.json78.9 KB
  • assets/music/cues/happy-beats-business-moves-vol-1-by-ende-dot-app.music-cues.md1.2 KB
  • assets/music/cues/happy-beats-business-moves-vol-10-by-ende-dot-app.music-cues.json37.6 KB
  • assets/music/cues/happy-beats-business-moves-vol-10-by-ende-dot-app.music-cues.md1.2 KB
  • assets/music/cues/happy-beats-business-moves-vol-11-by-ende-dot-app.music-cues.json46.3 KB
  • assets/music/cues/happy-beats-business-moves-vol-11-by-ende-dot-app.music-cues.md1.2 KB
  • assets/music/cues/happy-beats-business-moves-vol-12-by-ende-dot-app.music-cues.json57.9 KB
  • assets/music/cues/happy-beats-business-moves-vol-12-by-ende-dot-app.music-cues.md1.2 KB
  • assets/music/cues/happy-beats-business-moves-vol-9-by-ende-dot-app.music-cues.json57.4 KB
  • assets/music/cues/happy-beats-business-moves-vol-9-by-ende-dot-app.music-cues.md1.2 KB
  • assets/music/happy-beats-business-moves-vol-1-by-ende-dot-app.mp33.8 MB
  • assets/music/happy-beats-business-moves-vol-10-by-ende-dot-app.mp31.4 MB
  • assets/music/happy-beats-business-moves-vol-11-by-ende-dot-app.mp32.0 MB
  • assets/music/happy-beats-business-moves-vol-12-by-ende-dot-app.mp32.7 MB
  • assets/music/happy-beats-business-moves-vol-9-by-ende-dot-app.mp32.6 MB
  • assets/music/README.md985 B
  • assets/sfx/casino/card-fan-1.ogg12.2 KB
  • assets/sfx/casino/card-fan-2.ogg17.9 KB
  • assets/sfx/casino/card-place-1.ogg9.4 KB
  • assets/sfx/casino/card-place-2.ogg7.9 KB
  • assets/sfx/casino/card-place-3.ogg11.2 KB
  • assets/sfx/casino/card-place-4.ogg9.4 KB
  • assets/sfx/casino/card-shove-1.ogg10.4 KB
  • assets/sfx/casino/card-shove-2.ogg10.2 KB
  • assets/sfx/casino/card-shove-3.ogg9.7 KB
  • assets/sfx/casino/card-shove-4.ogg10.6 KB
  • assets/sfx/casino/card-shuffle.ogg29.3 KB
  • assets/sfx/casino/card-slide-1.ogg8.6 KB
  • assets/sfx/casino/card-slide-2.ogg8.8 KB
  • assets/sfx/casino/card-slide-3.ogg8.9 KB
  • assets/sfx/casino/card-slide-4.ogg7.7 KB
  • assets/sfx/casino/card-slide-5.ogg9.0 KB
  • assets/sfx/casino/card-slide-6.ogg8.6 KB
  • assets/sfx/casino/card-slide-7.ogg9.4 KB
  • assets/sfx/casino/card-slide-8.ogg9.6 KB
  • assets/sfx/casino/cards-pack-open-1.ogg12.4 KB
  • assets/sfx/casino/cards-pack-open-2.ogg10.7 KB
  • assets/sfx/casino/chip-lay-1.ogg5.6 KB
  • assets/sfx/casino/chip-lay-2.ogg6.0 KB
  • assets/sfx/casino/chip-lay-3.ogg6.2 KB
  • assets/sfx/casino/chips-collide-1.ogg6.2 KB
  • assets/sfx/casino/chips-collide-2.ogg5.8 KB
  • assets/sfx/casino/chips-collide-3.ogg6.2 KB
  • assets/sfx/casino/chips-collide-4.ogg5.9 KB
  • assets/sfx/casino/chips-handle-1.ogg9.2 KB
  • assets/sfx/casino/chips-handle-2.ogg8.4 KB
  • assets/sfx/casino/chips-handle-3.ogg6.1 KB
  • assets/sfx/casino/chips-handle-4.ogg7.2 KB
  • assets/sfx/casino/chips-handle-6.ogg8.7 KB
  • assets/sfx/casino/chips-stack-1.ogg6.3 KB
  • assets/sfx/casino/chips-stack-2.ogg5.5 KB
  • assets/sfx/casino/chips-stack-3.ogg7.0 KB
  • assets/sfx/casino/chips-stack-4.ogg6.0 KB
  • assets/sfx/casino/chips-stack-5.ogg5.6 KB
  • assets/sfx/casino/chips-stack-6.ogg5.7 KB
  • assets/sfx/casino/dice-grab-1.ogg10.0 KB
  • assets/sfx/casino/dice-grab-2.ogg11.2 KB
  • assets/sfx/casino/dice-shake-1.ogg18.9 KB
  • assets/sfx/casino/dice-shake-2.ogg19.5 KB
  • assets/sfx/casino/dice-shake-3.ogg19.3 KB
  • assets/sfx/casino/dice-throw-1.ogg9.3 KB
  • assets/sfx/casino/dice-throw-2.ogg7.4 KB
  • assets/sfx/casino/dice-throw-3.ogg9.0 KB
  • assets/sfx/casino/die-throw-1.ogg8.2 KB
  • assets/sfx/casino/die-throw-2.ogg9.6 KB
  • assets/sfx/casino/die-throw-3.ogg9.8 KB
  • assets/sfx/casino/die-throw-4.ogg8.0 KB
  • assets/sfx/impact/footstep_carpet_000.ogg6.2 KB
  • assets/sfx/impact/footstep_carpet_003.ogg6.2 KB
  • assets/sfx/impact/footstep_carpet_004.ogg6.2 KB
  • assets/sfx/impact/footstep_concrete_000.ogg5.7 KB
  • assets/sfx/impact/footstep_concrete_001.ogg6.2 KB
  • assets/sfx/impact/footstep_concrete_002.ogg6.1 KB
  • assets/sfx/impact/footstep_concrete_003.ogg5.7 KB
  • assets/sfx/impact/footstep_concrete_004.ogg5.8 KB
  • assets/sfx/impact/footstep_grass_000.ogg8.1 KB
  • assets/sfx/impact/footstep_grass_001.ogg8.1 KB
  • assets/sfx/impact/footstep_grass_002.ogg8.1 KB
  • assets/sfx/impact/footstep_grass_003.ogg7.9 KB
  • assets/sfx/impact/footstep_grass_004.ogg7.6 KB
  • assets/sfx/impact/footstep_snow_000.ogg7.7 KB
  • assets/sfx/impact/footstep_snow_001.ogg7.6 KB
  • assets/sfx/impact/footstep_snow_002.ogg7.5 KB
  • assets/sfx/impact/footstep_snow_003.ogg7.7 KB
  • assets/sfx/impact/footstep_snow_004.ogg7.5 KB
  • assets/sfx/impact/footstep_wood_000.ogg5.8 KB
  • assets/sfx/impact/footstep_wood_001.ogg5.8 KB
  • assets/sfx/impact/footstep_wood_002.ogg5.8 KB
  • assets/sfx/impact/footstep_wood_003.ogg6.1 KB
  • assets/sfx/impact/footstep_wood_004.ogg5.7 KB
  • assets/sfx/impact/impactBell_heavy_000.ogg13.6 KB
  • assets/sfx/impact/impactBell_heavy_003.ogg9.2 KB
  • assets/sfx/impact/impactBell_heavy_004.ogg6.4 KB
  • assets/sfx/impact/impactGeneric_light_000.ogg5.7 KB
  • assets/sfx/impact/impactGeneric_light_001.ogg5.5 KB
  • assets/sfx/impact/impactGeneric_light_002.ogg5.7 KB
  • assets/sfx/impact/impactGeneric_light_003.ogg5.7 KB
  • assets/sfx/impact/impactGeneric_light_004.ogg5.6 KB
  • assets/sfx/impact/impactGlass_heavy_002.ogg7.5 KB
  • assets/sfx/impact/impactGlass_light_001.ogg6.4 KB
  • assets/sfx/impact/impactGlass_light_002.ogg6.4 KB
  • assets/sfx/impact/impactGlass_light_003.ogg6.5 KB
  • assets/sfx/impact/impactGlass_medium_000.ogg8.2 KB
  • assets/sfx/impact/impactGlass_medium_002.ogg8.1 KB
  • assets/sfx/impact/impactGlass_medium_004.ogg8.2 KB
  • assets/sfx/impact/impactMetal_heavy_000.ogg6.0 KB
  • assets/sfx/impact/impactMetal_heavy_002.ogg5.5 KB
  • assets/sfx/impact/impactMetal_heavy_004.ogg5.7 KB
  • assets/sfx/impact/impactMetal_light_002.ogg6.6 KB
  • assets/sfx/impact/impactMetal_light_003.ogg8.8 KB
  • assets/sfx/impact/impactMetal_medium_000.ogg7.0 KB
  • assets/sfx/impact/impactMetal_medium_001.ogg6.0 KB
  • assets/sfx/impact/impactMetal_medium_002.ogg5.7 KB
  • assets/sfx/impact/impactMetal_medium_003.ogg6.8 KB
  • assets/sfx/impact/impactMetal_medium_004.ogg5.6 KB
  • assets/sfx/impact/impactMining_001.ogg11.2 KB
  • assets/sfx/impact/impactPlank_medium_000.ogg11.7 KB
  • assets/sfx/impact/impactPlank_medium_001.ogg11.8 KB
  • assets/sfx/impact/impactPlank_medium_002.ogg12.0 KB
  • assets/sfx/impact/impactPlank_medium_003.ogg11.9 KB
  • assets/sfx/impact/impactPlank_medium_004.ogg11.8 KB
  • assets/sfx/impact/impactPlate_heavy_000.ogg9.8 KB
  • assets/sfx/impact/impactPlate_heavy_001.ogg8.5 KB
  • assets/sfx/impact/impactPlate_heavy_002.ogg9.9 KB
  • assets/sfx/impact/impactPlate_heavy_003.ogg8.3 KB
  • assets/sfx/impact/impactPlate_heavy_004.ogg10.8 KB
  • assets/sfx/impact/impactPlate_light_000.ogg10.2 KB
  • assets/sfx/impact/impactPlate_light_001.ogg11.5 KB
  • assets/sfx/impact/impactPlate_light_002.ogg9.7 KB
  • assets/sfx/impact/impactPlate_light_003.ogg10.4 KB
  • assets/sfx/impact/impactPlate_light_004.ogg11.6 KB
  • assets/sfx/impact/impactPlate_medium_000.ogg10.7 KB
  • assets/sfx/impact/impactPlate_medium_001.ogg11.2 KB
  • assets/sfx/impact/impactPlate_medium_002.ogg10.0 KB
  • assets/sfx/impact/impactPlate_medium_003.ogg11.3 KB
  • assets/sfx/impact/impactPlate_medium_004.ogg10.5 KB
  • assets/sfx/impact/impactPunch_heavy_000.ogg11.3 KB
  • assets/sfx/impact/impactPunch_heavy_001.ogg10.6 KB
  • assets/sfx/impact/impactPunch_heavy_002.ogg8.8 KB
  • assets/sfx/impact/impactPunch_heavy_003.ogg9.8 KB
  • assets/sfx/impact/impactPunch_heavy_004.ogg10.2 KB
  • assets/sfx/impact/impactPunch_medium_000.ogg8.6 KB
  • assets/sfx/impact/impactPunch_medium_001.ogg8.5 KB
  • assets/sfx/impact/impactPunch_medium_002.ogg10.2 KB
  • assets/sfx/impact/impactPunch_medium_003.ogg9.3 KB
  • assets/sfx/impact/impactPunch_medium_004.ogg9.8 KB
  • assets/sfx/impact/impactSoft_heavy_000.ogg6.4 KB
  • assets/sfx/impact/impactSoft_heavy_001.ogg6.5 KB
  • assets/sfx/impact/impactSoft_heavy_002.ogg6.6 KB
  • assets/sfx/impact/impactSoft_heavy_003.ogg6.5 KB
  • assets/sfx/impact/impactSoft_heavy_004.ogg6.3 KB
  • assets/sfx/impact/impactSoft_medium_000.ogg5.2 KB
  • assets/sfx/impact/impactSoft_medium_001.ogg5.4 KB
  • assets/sfx/impact/impactSoft_medium_002.ogg5.2 KB
  • assets/sfx/impact/impactSoft_medium_003.ogg5.3 KB
  • assets/sfx/impact/impactSoft_medium_004.ogg5.3 KB
  • assets/sfx/impact/impactTin_medium_000.ogg6.4 KB
  • assets/sfx/impact/impactTin_medium_001.ogg6.4 KB
  • assets/sfx/impact/impactTin_medium_002.ogg6.0 KB
  • assets/sfx/impact/impactTin_medium_003.ogg6.4 KB
  • assets/sfx/impact/impactTin_medium_004.ogg6.2 KB
  • assets/sfx/impact/impactWood_heavy_000.ogg6.1 KB
  • assets/sfx/impact/impactWood_heavy_001.ogg6.1 KB
  • assets/sfx/impact/impactWood_heavy_002.ogg6.0 KB
  • assets/sfx/impact/impactWood_heavy_003.ogg6.0 KB
  • assets/sfx/impact/impactWood_heavy_004.ogg6.1 KB
  • assets/sfx/impact/impactWood_light_000.ogg6.2 KB
  • assets/sfx/impact/impactWood_light_001.ogg6.2 KB
  • assets/sfx/impact/impactWood_light_002.ogg6.2 KB
  • assets/sfx/impact/impactWood_light_003.ogg6.2 KB
  • assets/sfx/impact/impactWood_light_004.ogg6.2 KB
  • assets/sfx/impact/impactWood_medium_000.ogg6.4 KB
  • assets/sfx/impact/impactWood_medium_001.ogg6.4 KB
  • assets/sfx/impact/impactWood_medium_002.ogg6.5 KB
  • assets/sfx/impact/impactWood_medium_003.ogg6.4 KB
  • assets/sfx/impact/impactWood_medium_004.ogg6.3 KB
  • assets/sfx/interface/bong_001.ogg4.7 KB
  • assets/sfx/interface/click_001.ogg4.8 KB
  • assets/sfx/interface/click_002.ogg4.2 KB
  • assets/sfx/interface/click_003.ogg4.3 KB
  • assets/sfx/interface/click_004.ogg4.4 KB
  • assets/sfx/interface/click_005.ogg4.3 KB
  • assets/sfx/interface/drop_001.ogg5.7 KB
  • assets/sfx/interface/drop_002.ogg6.3 KB
  • assets/sfx/interface/drop_003.ogg6.1 KB
  • assets/sfx/interface/error_005.ogg7.1 KB
  • assets/sfx/interface/error_006.ogg8.1 KB
  • assets/sfx/interface/glitch_002.ogg5.3 KB
  • assets/sfx/interface/glitch_004.ogg5.1 KB
  • assets/sfx/interface/select_008.ogg6.2 KB
  • assets/sfx/interface/switch_001.ogg6.6 KB
  • assets/sfx/interface/switch_002.ogg6.9 KB
  • assets/sfx/interface/switch_004.ogg7.1 KB
  • assets/sfx/interface/switch_005.ogg7.6 KB
  • assets/sfx/interface/switch_006.ogg7.7 KB
  • assets/sfx/interface/switch_007.ogg7.7 KB
  • assets/sfx/keyboard/keypress-001.wav24.7 KB
  • assets/sfx/keyboard/keypress-002.wav24.7 KB
  • assets/sfx/keyboard/keypress-003.wav24.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

/brag

You built it. Now let's brag about it.

Invocation dispatch (must happen first)

Model check. If you are Claude Opus 5.5 and the invocation doesn't ask for the full workflow (--full, "use the full brag") or for voiceover (--voice, which brag-slim doesn't do), switch to brag-slim: read <skill-dir>/slim.md (the /brag-slim skill, bundled here) and follow it for the rest of this run instead of this file. Pass along the user's input, and pass any other options (--no-music, --title, …) as plain-language direction. Tell the user in one line first, e.g. "You're on Opus 5.5, so I'm using /brag-slim: I build the whole video myself. Say 'use the full brag' to switch back." If you are any other model, or can't tell which model you are, skip this check.

Before inspecting the project, parse the complete /brag invocation. If the invocation contains --voice, set voice.enabled = true. Enable narration only for that run. Do not enable narration automatically and do not fall back to the normal no-voice workflow.

/brag turns the current project website or app into a short, polished, shareable launch video using Hyperframes. It is narrow, opinionated, and fun.

What this skill does

  1. Reads the current project code to understand the app.
  2. Plans a short brag concept specific to this project.
  3. Scripts and storyboards the video.
  4. Hands a focused composition brief to Hyperframes.
  5. Validates, renders, and writes share copy.

Parsing the invocation

The user may invoke with natural language or flags:

/brag
/brag --tone chaotic
/brag --tone polished --format vertical
/brag this. Make it feel like a ridiculous startup launch.

Parse these options:

OptionValuesDefault
--tonepreset or freeform descriptioninferred
--formatlandscape, vertical, squarelandscape
--durationsecondsauto (15-25s)
--no-musicflagmusic on
--no-sfxflagsfx on
--titlestringinferred from project
--voiceflagnarration off

Voice is opt-in. If --voice is present, use Kokoro via Hyperframes and do not add any provider-selection logic. The voice workflow is intentionally single-provider.

Tone can be a preset (default, polished, yc-parody, chaotic, deadpan, cinematic, app-store) or a creative direction such as "fake Series A launch from 2016", "museum exhibit", or "overproduced mobile game ad".

When the user gives freeform tone direction, map it to the nearest preset for pacing and structure, but preserve the user's direction in the plan and composition brief.

Narration guidance

When --voice is enabled, write narration that complements the visuals, does not simply read visible text, matches scene pacing, sounds natural and conversational, and moves smoothly between scenes. Keep the script concise and specific to the product so the voice feels like part of the edit rather than a separate narration track.


Output directory

By default, output goes to brag-output/. To avoid overwriting previous runs, use a timestamped directory:

brag-output-2026-05-04-143022/

Use a timestamp when:

  • The user explicitly asks for a new run without overriding previous results
  • A brag-output/ directory already exists in the project

Generate the timestamp at the start of the run (YYYY-MM-DD-HHmmss) and use it consistently for all output paths in that run: plan, brief, composition, render, and share copy.

Skill directory

<skill-dir> is the directory containing this SKILL.md. Claude Code prints it as "Base directory for this skill" when the skill loads; for other agents it's wherever the skill was installed. Bundled assets are under <skill-dir>/assets/ and scripts under <skill-dir>/scripts/. Don't guess an install path: a plugin install, a ~/.claude/skills/ copy, and this repo all put it somewhere different.


Step 1: Inspect the project

Read: references/step-1-inspect.md

Scan the project directory and extract the information needed to plan the brag video.

Gate: You can answer all 9 questions in the brag planning rubric.


Step 2: Plan and storyboard

Read: references/step-2-plan.md

Write <output-dir>/brag-plan.md (where <output-dir> is brag-output/ or the timestamped variant chosen above). Answer the planning rubric. Commit to a creative angle. Write the beat-by-beat storyboard including scenes, text, timing, transitions, and SFX cues.

When music is selected, include a compact Music cue guidance section: read the bundled track's cue preset from <skill-dir>/assets/music/cues/ if present, otherwise note cues will be detected at composition time (any track now supports beat sync — see references/audio.md). Cue metadata is optional timing guidance only: story, readability, pacing, and product clarity stay primary.

Gate: <output-dir>/brag-plan.md exists with a full storyboard. Scene durations sum to 15–25 seconds.


Step 3: Hand off to Hyperframes

Read: The Hyperframes domain skills — hyperframes-core, hyperframes-animation, hyperframes-creative, hyperframes-keyframes, hyperframes-cli. /brag is its own workflow: do not enter the hyperframes entry-point intent interview or route into its generic promo / launch-video workflow. Read: references/step-3-compose.md Read: references/audio.md

Write the composition brief and use Hyperframes to create the video implementation in <output-dir>/composition/.

/brag owns the product angle, source material, storyboard, tone, format, audio selection, music cue guidance, and delivery expectations. Hyperframes owns the concrete composition structure, exact animation timing, animation mechanics, runtime choices, linting rules, and render workflow.

Gate: npx hyperframes check passes with zero errors inside <output-dir>/composition/ (the single browser gate before render — see hyperframes-cli for what it audits).


Step 4: Validate, render, and deliver

Read: references/step-4-deliver.md

Validate, preview, render to <output-dir>/brag.mp4, pick the best poster frame into <output-dir>/brag.jpg, bake that poster as the video's frame 0 so it's the idle thumbnail everywhere, and write <output-dir>/share-copy.txt.

Gate: <output-dir>/brag.mp4 exists. A best-frame poster <output-dir>/brag.jpg is picked (not an arbitrary frame) and baked as frame 0 of brag.mp4. Share copy is written.


Tone system

Seven tone presets ship with /brag. Each changes scripting energy, pacing, typography personality, and transition style. Presets are defaults, not limits.

Full definitions: references/tones.md

ToneEnergyOne-liner
defaultPlayful, clean, postableThe good-vibes default
polishedSerious, elegantFor projects that are not jokes
yc-parodyDeadpan startup energyFake seriousness applied to absurd projects
chaoticFast, loud, aggressiveOver-the-top and unhinged
deadpanCalm, dry, understatedThe joke is that nothing is a joke
cinematicDramatic, trailer-scaleBig motion, bigger claims
app-storeSmooth, feature-card cleanCorporate but not boring

Always allow a freeform creative direction to refine or override the preset.


Creative laws

These apply to every brag video regardless of tone.

Short. 15–25 seconds. Not one second more without a reason. This holds whether or not narration is on; narration does not extend the window.

Readable. Keep the pace high through motion and cuts, never by flashing text. Every line a viewer must read holds long enough to read it (short label ~0.8s settled; a sentence ~0.3s per word). Fast-in, then hold — never fast-in, then gone.

Specific. The video must feel like it was made for this exact project, not any project.

Show the thing. At least one scene must display actual UI, copy, or a key visual from the product. No abstract filler.

No generic SaaS language. "Streamline your workflow" is banned. Use the project's actual copy and claims.

The hook is everything. The first 2 seconds determine whether someone keeps watching. Plan the hook before anything else.

Funny earns its place. Humor should come from the project's absurdity, not from trying to be funny.

Pattern:

Hook (2-3s) → Reveal (2-4s) → 2-3 sharp highlights (5-12s) → Punchline/outro (2-4s)

Adapt this. Not every project needs exactly 3 highlights. The pattern is a starting shape, not a template.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

brag-slim

무료

Turn a project directory or website URL into a short launch video using its real interface and visual assets. Create the storyboard, motion, music, sound effects, poster image, and share copy with tools available on the machine.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Creating a launch video from a project directory
  • Turning a website URL into a short introduction video
  • Making vertical or square videos for sharing
latent-spaces/brag1.7만2026년 10월 13일 업데이트

latent-spaces의 스킬 모두 보기

이 스킬의 문제 신고