/brag
만들었으니, 자랑합시다.
요구사항
- Node.js +
npx hyperframes: 렌더링 엔진;npx는 첫 사용 시 가져옵니다.npx hyperframes check는 사전 렌더링 게이트입니다. - ffmpeg: 포스터 프레임 추출 및 프레임 0 설정(4단계).
- 선택 사항: 맞춤 트랙 큐 분석을 위한
uv(scripts/analyze_music_cues.py);--voice옵션 사용 시 Hyperframes를 통한 Kokoro 내레이션. - 스킬 에셋(음악, 효과음)은 이 스킬 내부
assets/디렉토리에 위치합니다: 설치 시{{APPDATA}}/devin/skills/brag/assets/(POSIX:~/.config/devin/skills/brag/assets/).
호출 디스패치 (먼저 실행되어야 함)
모델 확인. 당신이 Claude Opus 5.5이고, 호출에 전체 워크플로우(--full, "use the full brag") 또는 음성 해설(--voice, brag-slim에서는 지원하지 않음)이 요청되지 않은 경우, brag-slim으로 전환하십시오: <skill-dir>/slim.md (여기에 포함된 /brag-slim 스킬)을 읽고 이 파일 대신 해당 스킬을 따라 나머지 실행을 진행하십시오. 사용자의 입력과 다른 옵션(--no-music, --title, ...)을 일반 언어 지시사항으로 전달하십시오. 먼저 사용자에게 한 줄로 알리십시오. 예: "Opus 5.5를 사용 중이므로 /brag-slim을 사용합니다: 제가 비디오를 직접 제작합니다. 'use the full brag'라고 말하면 다시 전환합니다." 다른 모델이거나 모델을 확인할 수 없는 경우, 이 확인을 건너뛰십시오.
프로젝트를 검사하기 전에, 전체 /brag 호출을 파싱하십시오. 호출에 --voice가 포함된 경우 voice.enabled = true로 설정하십시오. 해당 실행에 대해서만 내레이션을 활성화하십시오. 내레이션을 자동으로 활성화하지 말고 일반적인 음성 없는 워크플로우로 대체하지 마십시오.
/brag는 현재 프로젝트 웹사이트나 앱을 Hyperframes를 사용하여 짧고 세련된 공유 가능한 런칭 비디오로 변환합니다. 이는 좁고, 독단적이며, 재미있습니다.
이 스킬이 하는 일
- 현재 프로젝트 코드를 읽어 앱을 이해합니다.
- 이 프로젝트에 특화된 짧은 자랑 컨셉을 계획합니다.
- 비디오 대본과 스토리보드를 작성합니다.
- 집중된 구성 브리프를 Hyperframes에 전달합니다.
- 유효성 검사, 렌더링 및 공유 카피를 작성합니다.
호출 파싱
사용자는 자연어 또는 플래그로 호출할 수 있습니다:
/brag
/brag --tone chaotic
/brag --tone polished --format vertical
/brag this. Make it feel like a ridiculous startup launch.
다음 옵션을 파싱하십시오:
| 옵션 | 값 | 기본값 |
|---|---|---|
--tone | 프리셋 또는 자유 형식 설명 | 추론 |
--format | landscape, vertical, square | landscape |
--duration | 초 | 자동 (15-25초) |
--no-music | 플래그 | 음악 켜짐 |
--no-sfx | 플래그 | 효과음 켜짐 |
--title | 문자열 | 프로젝트에서 추론 |
--voice | 플래그 | 내레이션 꺼짐 |
음성 해설은 선택 사항입니다. --voice가 있으면 Hyperframes를 통해 Kokoro를 사용하고 제공자 선택 로직을 추가하지 마십시오. 음성 워크플로우는 의도적으로 단일 제공자입니다.
톤은 프리셋(default, polished, yc-parody, chaotic, deadpan, cinematic, app-store)이거나 "2016년 페이크 시리즈 A 런칭", "박물관 전시", 또는 "과도하게 제작된 모바일 게임 광고"와 같은 창의적인 방향일 수 있습니다.
사용자가 자유 형식 톤 방향을 제시하면, 템포와 구조에 대해 가장 가까운 프리셋에 매핑하되, 계획과 구성 브리프에 사용자의 방향을 유지하십시오.
내레이션 가이드
--voice가 활성화되면, 다음 지침을 따르는 내레이션을 작성하십시오: 시각 자료를 보완하고, 보이는 텍스트를 단순히 읽지 않아야 하며, 장면 템포와 일치하고, 자연스럽고 대화체처럼 들리며, 장면 간에 매끄럽게 이동해야 합니다. 대본을 간결하고 제품에 특화되게 유지하여 음성이 별도의 내레이션 트랙이 아닌 편집의 일부처럼 느껴지도록 하십시오.
출력 디렉토리
기본적으로 출력은 brag-output/로 이동합니다. 이전 실행을 덮어쓰지 않으려면 타임스탬프가 있는 디렉토리를 사용하십시오:
brag-output-2026-05-04-143022/
다음과 같은 경우 타임스탬프를 사용하십시오:
- 사용자가 이전 결과를 덮어쓰지 않고 새 실행을 명시적으로 요청한 경우
- 프로젝트에
brag-output/디렉토리가 이미 존재하는 경우
실행 시작 시 타임스탬프를 생성(YYYY-MM-DD-HHmmss)하고 해당 실행의 모든 출력 경로(계획, 브리프, 구성, 렌더링, 공유 카피)에 일관되게 사용하십시오.
스킬 디렉토리
<skill-dir>은 이 SKILL.md가 포함된 디렉토리입니다. 스킬 로더는 스킬이 로드될 때 "이 스킬의 기본 디렉토리"라고 출력합니다. 그렇지 않으면 스킬이 설치된 위치입니다. 번들 에셋은 <skill-dir>/assets/ 아래에 있고 스크립트는 <skill-dir>/scripts/ 아래에 있습니다. 설치 경로를 추측하지 마십시오: %APPDATA%/devin/skills/ (POSIX ~/.config/devin/skills/) 아래의 설치된 복사본, 플러그인 설치, 그리고 이 저장소 모두 위치가 다릅니다.
1단계: 프로젝트 검사
참조: references/step-1-inspect.md
프로젝트 디렉토리를 스캔하고 자랑 비디오를 계획하는 데 필요한 정보를 추출하십시오.
게이트: 자랑 계획 평가 기준의 9가지 질문에 모두 답할 수 있어야 합니다.
2단계: 계획 및 스토리보드
<output-dir>/brag-plan.md를 작성하십시오 (<output-dir>는 위에서 선택한 brag-output/ 또는 타임스탬프가 있는 변형입니다). 계획 평가 기준에 답하십시오. 창의적인 각도를 결정하십시오. 장면, 텍스트, 타이밍, 전환 및 효과음 큐를 포함한 비트별 스토리보드를 작성하십시오.
음악이 선택된 경우, 간결한 음악 큐 가이드 섹션을 포함하십시오: 번들 트랙의 큐 프리셋이 <skill-dir>/assets/music/cues/에 있으면 읽고, 그렇지 않으면 구성 시점에 큐가 감지될 것이라고 명시하십시오 (모든 트랙은 이제 비트 동기화를 지원합니다 - references/audio.md 참조). 큐 메타데이터는 선택적 타이밍 가이드일 뿐입니다: 이야기, 가독성, 템포 및 제품 명확성이 항상 우선입니다.
게이트: <output-dir>/brag-plan.md가 전체 스토리보드와 함께 존재해야 합니다. 장면 지속 시간의 합계가 15-25초여야 합니다.
3단계: Hyperframes에 전달
참조: 번들의 hyperframes 스킬 (HTML/데이터 속성 구성 계약; extensions/hyperframes/wrapper.py는 doctor/init/render를 위해 npx hyperframes를 래핑함) 및 animation-direction (모션 어휘, 이징, 비트-시각 매핑). HeyGen 도메인 스킬 (hyperframes-registry, media-use, hyperframes-cli)은 선택 사항입니다: Hyperframes 플러그인이 함께 설치된 경우 해당 네이티브 지침을 따르고, 그렇지 않으면 references/step-3-compose.md에 따라 네이티브하게 구성하십시오. /brag는 자체 워크플로우입니다: brag 계획 및 구성 브리프는 모든 스토리라인 또는 SPEC.md 단계를 대체하며, npx hyperframes check는 brag의 유일한 게이트입니다. 일반적인 런칭 비디오 워크플로우로 라우팅하지 마십시오.
참조: references/step-3-compose.md
참조: references/audio.md
구성 브리프를 작성하고 Hyperframes를 사용하여 <output-dir>/composition/에 비디오 구현을 생성하십시오.
/brag는 제품 각도, 소스 자료, 스토리보드, 톤, 형식, 오디오 선택, 음악 큐 가이드 및 전달 기대치를 소유합니다. Hyperframes는 구체적인 구성 구조, 정확한 애니메이션 타이밍, 애니메이션 메커니즘, 런타임 선택, 린팅 규칙 및 렌더링 워크플로우를 소유합니다.
게이트: npx hyperframes check가 <output-dir>/composition/ 내에서 오류 없이 통과해야 합니다 (렌더링 전 단일 브라우저 게이트 - npx hyperframes check --help 참조).
4단계: 유효성 검사, 렌더링 및 전달
참조: references/step-4-deliver.md
유효성을 검사하고, 미리 보고, <output-dir>/brag.mp4로 렌더링하고, 최상의 포스터 프레임을 <output-dir>/brag.jpg로 선택하고, 해당 포스터를 비디오의 프레임 0으로 구워서 모든 곳에서 유휴 썸네일이 되도록 하고, <output-dir>/share-copy.txt를 작성하십시오.
게이트: <output-dir>/brag.mp4가 존재해야 합니다. 최상의 프레임 포스터 <output-dir>/brag.jpg가 선택되고 (임의의 프레임이 아님) brag.mp4의 프레임 0으로 구워져야 합니다. 공유 카피가 작성되어야 합니다.
톤 시스템
/brag와 함께 7가지 톤 프리셋이 제공됩니다. 각각은 대본 에너지, 템포, 타이포그래피 개성 및 전환 스타일을 변경합니다. 프리셋은 기본값일 뿐, 제한 사항이 아닙니다.
전체 정의: references/tones.md
| 톤 | 에너지 | 한 줄 설명 |
|---|---|---|
default | 장난기, 깔끔함, 게시 가능 | 좋은 분위기의 기본값 |
polished | 진지함, 우아함 | 농담이 아닌 프로젝트용 |
yc-parody | 무표정한 스타트업 에너지 | 터무니없는 프로젝트에 적용된 가짜 진지함 |
chaotic | 빠름, 시끄러움, 공격적 | 과장되고 제정신 아님 |
deadpan | 차분함, 건조함, 과소 표현 | 농담은 아무것도 농담이 아니라는 것 |
cinematic | 극적, 트레일러 규모 | 큰 움직임, 더 큰 주장 |
app-store | 부드러움, 기능 카드처럼 깔끔 | 기업적이지만 지루하지 않음 |
자유 형식의 창의적인 방향을 항상 허용하여 프리셋을 개선하거나 재정의하십시오.
창작 법칙
이 법칙은 톤에 관계없이 모든 brag 비디오에 적용됩니다.
짧게. 15-25초. 이유 없이 1초도 넘지 마십시오. 내레이션이 켜져 있든 꺼져 있든 관계없이 적용됩니다. 내레이션이 시간을 연장하지 않습니다.
읽을 수 있게. 모션과 컷을 통해 템포를 높게 유지하고, 텍스트를 깜빡이게 하여 속도를 높이지 마십시오. 시청자가 읽어야 하는 모든 줄은 읽을 수 있을 만큼 충분히 오래 유지됩니다 (짧은 레이블 ~0.8초 정착; 문장은 단어당 ~0.3초). 빠르게 들어오고, 그런 다음 유지 — 빠르게 들어오고 사라지지 않습니다.
구체적이게. 비디오가 어떤 프로젝트가 아닌 이 특정 프로젝트를 위해 만들어진 것처럼 느껴져야 합니다.
실제 제품을 보여주세요. 적어도 하나의 장면은 제품의 실제 UI, 카피 또는 핵심 비주얼을 표시해야 합니다. 추상적인 채우기는 안 됩니다.
일반적인 SaaS 언어는 금지. "워크플로우를 간소화하세요"는 금지입니다. 프로젝트의 실제 카피와 주장을 사용하십시오.
훅이 전부입니다. 처음 2초가 시청자가 계속 볼지 여부를 결정합니다. 다른 무엇보다 먼저 훅을 계획하십시오.
재미는 그 자리를 얻습니다. 유머는 프로젝트의 터무니없음에서 나와야 하며, 재미있으려고 애쓰는 데서 나오지 않아야 합니다.
패턴:
훅 (2-3초) → 공개 (2-4초) → 2-3개의 강력한 하이라이트 (5-12초) → 결말/아웃트로 (2-4초)
이것을 적응시키십시오. 모든 프로젝트에 정확히 3개의 하이라이트가 필요한 것은 아닙니다. 패턴은 시작 형태일 뿐, 템플릿이 아닙니다.