brag
latent-spaces/brag · Agent Skill
將完成的專案轉換為可以分享的短片啟動影片,加入動畫、音樂和文字。
前往安裝 ↓總覽
| 發布者 | |
|---|---|
| 儲存庫 | latent-spaces/brag ↗ |
| 技能資料夾 | brag |
| 星 | 18,784 |
| 分支 | 1,445 |
| 附帶檔案 | 11 |
| 授權 | MIT |
| 最近更新 | 2026年10月23日 |
| 連結 | 技能原始碼 ↗ · 儲存庫 ↗ |
Mozgi 檢查
我們在技能檔案中發現的內容。詳細資訊需訂閱。
安裝
技能就是一個含 SKILL.md 的資料夾。選擇你的代理,在專案根目錄的終端機(macOS、Linux 或 Windows 的 Git Bash)執行指令。
把提示貼到 Claude、Codex 或其他助理:它會自行檢查並安裝技能。
Install the “brag” skill from mozgi.io (https://mozgi.io/skills/latent-spaces-brag/) for me. 1. Download the archive: https://mozgi.io/skills/latent-spaces-brag/download If it fails, take the skill folder from the source: https://github.com/latent-spaces/brag/tree/main/skills/brag 2. Read SKILL.md and the other files. Check the skill is safe: no hidden commands, no sending data elsewhere, no scripts doing something other than described. If anything looks suspicious, stop and tell me. 3. Put the “brag” folder into your agent's skills folder: .claude/skills/ for Claude Code, .agents/skills/ for Codex, .cursor/skills/ for Cursor, .gemini/skills/ for Gemini CLI. Inside the project if we are in one, otherwise in the home folder (~/.claude/skills/ etc.). 4. Make sure <skills folder>/brag/SKILL.md exists. 5. Briefly tell me what this skill does and offer to try it on my task. If you cannot do a step yourself, tell me what to click or type.
git clone --depth 1 --branch main https://github.com/latent-spaces/brag.git /tmp/brag mkdir -p .claude/skills cp -r /tmp/brag/skills/brag .claude/skills/brag
重新啟動 Claude Code — 技能就會出現在清單中,手動呼叫:/brag。要套用到所有專案,請放在 ~/.claude/skills。
git clone --depth 1 --branch main https://github.com/latent-spaces/brag.git /tmp/brag mkdir -p .agents/skills cp -r /tmp/brag/skills/brag .agents/skills/brag
Codex 會從目前資料夾往上到儲存庫根目錄,在 .agents/skills 中尋找技能;用 /skills 或 $brag 呼叫。所有專案:~/.agents/skills。
git clone --depth 1 --branch main https://github.com/latent-spaces/brag.git /tmp/brag mkdir -p .cursor/skills cp -r /tmp/brag/skills/brag .cursor/skills/brag
Cursor 啟動時會載入技能;在 Agent 聊天輸入「/」呼叫。Cursor 也會讀取 .claude/skills 與 .agents/skills。所有專案:~/.cursor/skills。
git clone --depth 1 --branch main https://github.com/latent-spaces/brag.git /tmp/brag mkdir -p .gemini/skills cp -r /tmp/brag/skills/brag .gemini/skills/brag
任務符合時,Gemini CLI 會提議啟用技能,由你確認。所有專案:~/.gemini/skills。
安裝前請先檢視 SKILL.md 與相關檔案。點擊檔案即可預覽。
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:
| Option | Values | Default |
|---|---|---|
| --tone | preset or freeform description | inferred |
| --format | landscape, vertical, square | landscape |
| --duration | seconds | auto (15-25s) |
| --no-music | flag | music on |
| --no-sfx | flag | sfx on |
| --title | string | inferred from project |
| --voice | flag | narration 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 skills — hyperframes (contract, references/format.md, references/motion.md, references/look.md), hyperframes-cli, hyperframes-registry, and media-use for audio. /brag is its own workflow: skip the hyperframes storyline step: don't read references/types/* or references/story.md, don't propose storylines, and don't write a SPEC.md. The brag plan and composition brief replace them, including the LOOK line references/look.md asks for. Also skip its usage, history, feedback and REVIEW.md steps; check is brag's gate. Do not route into its generic 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 ↗
| Tone | Energy | One-liner |
|---|---|---|
| default | Playful, clean, postable | The good-vibes default |
| polished | Serious, elegant | For projects that are not jokes |
| yc-parody | Deadpan startup energy | Fake seriousness applied to absurd projects |
| chaotic | Fast, loud, aggressive | Over-the-top and unhinged |
| deadpan | Calm, dry, understated | The joke is that nothing is a joke |
| cinematic | Dramatic, trailer-scale | Big motion, bigger claims |
| app-store | Smooth, feature-card clean | Corporate 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.
常見問題
brag 技能有什麼用途?
將完成的專案轉換為可以分享的短片啟動影片,加入動畫、音樂和文字。
如何安裝 brag?
打開本頁的「安裝」區塊並選擇你的代理 — Claude Code、Codex、Cursor 或 Gemini CLI:那裡有把技能資料夾複製到正確位置的現成指令。也可以複製「透過助理」分頁中的提示,讓助理自行檢查並安裝技能。
brag 適用哪些 AI 模型?
技能是純 Markdown 指示(Agent Skills 格式),因此 brag 適用任何讀取 SKILL.md 的代理:Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot、OpenCode 等。只有在任務符合技能描述時,模型才會載入指示。
brag 是免費的嗎?
此技能由 latent-spaces 公開發布,採用 MIT 授權。技能本身免費 — 你只需向 AI 供應商支付實際使用的 token 費用。
安裝技能安全嗎?
技能是代理會遵循的指示,安裝前請閱讀 SKILL.md 及相關檔案。技能資料夾中的腳本只有在代理執行時才會運行 — 留意它的動作,不要授予多餘權限。
技能和 MCP 伺服器或外掛有何不同?
MCP 伺服器或外掛為模型提供新工具 — 會執行並回傳結果的程式碼。技能提供的是知識與流程:如何處理任務、要遵循哪些步驟、好的成果長什麼樣子。它不需要伺服器或 API 金鑰。