Community코딩 & 개발github.com

editorial-short

『Fringe Lines』에디토리얼 스타일의 세로 쇼츠를 제작합니다. (종이 배경, 풀블리드/카드/원형 PiP로 전환되는 스피커, 설명 그래픽, 단어 단위 세리프 캡션, 후크 및 엔드 카드, 효과음) 에피소드에서 쇼츠를 만들거나 스타일 변경 또는 수정할 때 사용하세요.

editorial-short란 무엇인가요?

이 스킬은 Fringe Lines 팟캐스트 에피소드를 Greg Isenberg 스타일의 세로 쇼츠(short)로 변환합니다. 주어진 SKILL.md 문서를 기반으로, 사용자는 원하는 클립(30~50초)을 선택하고, 후크(hook), 아웃트로(outro), 그래픽 전환 및 강조 키워드를 정의하는 스타일 스펙(style.json)을 작성합니다. 워드 파일에서 대사를 추출하고, build_short.py 스크립트로 필러를 제거하고 클립을 자르며, style_short.py 스크립트로 최종 영상을 렌더링합니다. 최종 출력은 −14 LUFS의 음량, 단어 단위 캡션, 주황색 이탤릭 강조 키워드, 자동 그래픽 전환, 후크 및 엔드 카드를 포함합니다. 스킬은 전체 파이프라인(설치, 클리핑, 사양 작성, 렌더링, QA)을 안내합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/qdevery/fringe-lines-video/tree/main/.claude/skills/editorial-short

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

에디토리얼 쇼츠 (Fringe Lines)

이 룩은 Greg Isenberg의 쇼츠에서 모델링되었습니다. 모든 쇼츠에 이를 적용하세요:

  • 토킹헤드를 6초 이상 유지하지 마세요.
  • 3~5초마다 그래픽 또는 레이아웃 변경이 들어갑니다.
  • 캡션은 단어 단위로 나타나며, 몇몇 주황색 이탤릭 키워드가 포함됩니다.
  • 그래픽은 말하는 내용을 따르므로, 그래픽이 설명하는 단어에 맞춰 나타납니다.

0. 사전 요구사항 (머신별)

  • pipeline/setup.sh는 venv ~/.shorts-skill과 Remotion node_modules를 ~/.cache/fringe-lines-video에 설치합니다.
  • 에피소드 대본이 존재해야 합니다: work/<ep>/words-quinn.json 및 words-doom.json (pipeline/transcribe_verbatim.py에서 생성).
  • Remotion 소스: pipeline/remotion/src/ShortV2.tsx (레이아웃) 및 Graphics.tsx (그래픽 유형).

1. 순간 선택 (30~50초)

  • 워드 파일에서 독립적인 테이크를 검색하세요:
    • 강력한 오프닝 라인 (주장, 숫자, 또는 고백)이 있을 것
    • 하나의 아이디어를 담을 것
    • 끝 부분에 페이오프 또는 punchline이 있을 것
  • 좋은 신호:
    • 구체적인 숫자 (백분율, 금액, 인원수)
    • 언급된 회사 또는 제품명
    • 반대 시각
    • 개인 실험 ("I let Codex…")
  • 이전 맥락에 의존하는 클립은 피하세요 ("like I said", "that thing").
  • 여러 --range를 이어붙일 수 있습니다. 문장 끝에서 자르고, 이음새에서 단어가 반복되지 않는지 확인하세요.

2. 자르기

work/<ep>/shorts.sh에 다음 줄을 추가하고 실행하세요:

b --name short-NN --range START:END [--range ...] --replace "27=>27%" --replace "claude=>Claude"
  • build_short.py는 다음을 수행합니다:
    • 필러, 더듬거림, 긴 멈춤 제거
    • 활성 카메라 선택
    • work/<ep>/short-NN/clip.mp4 및 props.json 작성
    • 평범한 v1 쇼츠 렌더링
  • --replace는 캡션 텍스트를 수정합니다. 빈 오른쪽은 해당 단어를 숨깁니다.
    • 항상 수정: 숫자 ("27"→"27%"), 제품명 (Claude, Codex, Descript, GTM, SQL), Whisper 오인식.
  • 정확한 출력 타이밍을 얻으려면 다음을 출력하세요: python3 -c "import json;p=json.load(open('work/<ep>/short-NN/props.json'));print(' '.join(f\"{w['text']}@{w['startMs']/1000:.1f}\" for w in p['words']))"

3. 스타일 스펙 작성: work/<ep>/short-NN/style.json

{
  "hook":  {"text": "Microsoft wants *27%* of its staff to quit", "end": 2.8},
  "outro": {"text": "Grow *without* growing *headcount*", "hold": 2.0},
  "emphasis": ["microsoft", "27%", "leave"],
  "scenes": [
    {"at": 0.0,  "mode": "full"},
    {"at": 3.0,  "mode": "graphic", "graphic": {"type": "stat", "kicker": "Microsoft buyout offer", "value": 27, "suffix": "%", "label": "of employees offered a payout to *leave*"}},
    {"at": 6.2,  "mode": "card"}
  ]
}

시간은 자른 클립 내의 초 단위이며, 2단계의 단어 타이밍에서 가져옵니다.

일관성을 유지하는 규칙:

  • 구조:
    • 장면 0은 항상 full이며, 48단어의 hook이 약 2.53초에서 끝납니다.
    • 주장을 말하세요; 클립을 요약하지 마세요.
  • 리듬:
    • full → graphic → card → graphic → card … 순서로 모드를 번갈아 사용하며, 40초 쇼츠에 3~6개의 그래픽을 넣습니다.
    • 후반부에 한 번의 강력한 반응 또는 웃음을 위해 full을 다시 사용하세요.
  • 타이밍:
    • 각 그래픽은 설명하는 단어보다 0.10.3초 전에 시작하고, 2.55초 동안 유지하세요.
    • 두 그래픽이 직접 이어질 수 있습니다 (예: $20 카드 다음 $100 카드).
  • 강조: 10~18개의 키워드를 선택하세요: 숫자, 이름, 그리고 punchline 단어. 일치는 소문자 기준이며 구두점은 무시합니다.
  • 악센트: 모든 텍스트 필드에서 *word*는 주황색 이탤릭으로 렌더링됩니다. 문자열당 하나 또는 두 개를 사용하세요.
  • 아웃트로: 핵심을 다시 진술하거나 시청자에게 질문하는 짧은 한 줄의 2초 엔드 카드.
  • 정직성:
    • 화면의 숫자는 쇼에서 말한 내용과 일치해야 합니다.
    • 차트는 개략적입니다: 가상의 축이나 값 없이 lines 모양을 사용하세요.
    • 발화자가 대략적으로 말한 경우 "roughly" 또는 "~"를 사용하세요.

그래픽 유형 (Graphics.tsx):

유형필드용도
statkicker, prefix, value (number, counts up), decimals, suffix, label하나의 헤드라인 숫자
peoplekicker, value (string), label, filled (0–1)인원수 / 사람 비율
lineskicker, series: [{label, shape: up|flat|down}], caption트렌드 대비
quotetext, by?화면에 표시되는 punchline
headlinesource, title, highlight뉴스, 발표, "평결"
listtitle, items[]단계, 제품, 문제점

새로운 그래픽 유형이 필요하면 Graphics.tsx와 그 유니언 타입에 추가하세요. 카드 스타일 유지: 흰색 또는 잉크 카드, 36px 반경, 스프링 등장, 로컬 프레임 f에서 실행되는 애니메이션.

4. 렌더링

~/.shorts-skill/bin/python pipeline/style_short.py --ep <ep> --name short-NN --spec work/<ep>/short-NN/style.json
  • 얼굴 트랙 (pipeline/face_track.py, YuNet)은 한 번 계산되어 short-NN/faces.json에 캐시됩니다. 원형 PiP와 카드를 얼굴 중앙에 유지합니다. 클립을 다시 자르면 파일을 삭제하세요.
  • 효과음은 합성됩니다: 각 장면 전환마다 슈슉, 그래픽이 배치될 때 팝. --sfx-db -20으로 믹싱됩니다.
  • 음량: −14 LUFS.
  • 출력: out/shorts/<ep>-short-NN-v2.mp4.

5. QA (항상, 보고 전에)

프레임을 추출하여 확인하세요:

for t in 1.5 5 10 15 20 25 30 35 40; do ffmpeg -v error -y -ss $t -i out/shorts/<ep>-short-NN-v2.mp4 -frames:v 1 -vf scale=270:-1 /tmp/q_$t.png; done

다음 각 항목을 확인하세요:

  • 후크: 읽을 수 있어야 하며 얼굴을 가리지 않아야 합니다.
  • 그래픽: y≈1340–1600에 위치한 캡션 블록과 겹치지 않아야 합니다. 카드 밖으로 텍스트가 넘치지 않아야 합니다. "+$500K" 같은 긴 stat 값은 자동으로 축소됩니다.
  • PiP: 얼굴이 원의 중앙에 있어야 합니다.
  • 캡션: *가 남아 있지 않아야 하며, 키워드는 주황색으로 렌더링되어야 합니다.
  • 음량: ffmpeg -i out.mp4 -af ebur128 -f null - 2>&1 | grep " I:"가 약 −14로 나와야 합니다.

사용자에게 보고:

  • 쇼츠의 주제와 길이.
  • 확인해야 할 숫자.
  • 남아 있는 욕설 여부.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

carousel

Make a Fringe Lines image carousel (Instagram/LinkedIn, 1080x1350 PNG slides + PDF) — photo slides with big condensed caps headlines and accent words, large-type text-only slides, chart/screenshot slides, explainer-graphic slides and a follow CTA. Use when asked for a carousel, slide post, or "swipe" post from an episode or a topic.

engaging-monologue

Make a 16:9 FringeLines "engaging monologue" video from a solo talking-head take — jump cuts with punch-ins, the speaker shrinking into a portrait picture-in-picture while serif kinetic text, diagrams (pyramid stack, compare, roadmap, steps, big stat) and b-roll cards build on a paper canvas, plus callout cards, lower thirds, chips, a CTA pill and a green end card, all synced word by word to the speech. Use for YouTube explainers, solo commentary, newsletter-to-video and "one idea, told well" pieces.

infographic

Make a single-image editorial infographic (1080x1350) that explains one idea at a glance — two-tone headline, one-sentence dek, a hero visual with 2–4 numbered callouts and leader lines, an optional side note, a three-column "why it matters" row with icons, byline and sources. Use for "explain X in one graphic" posts about a company move, a framework, an architecture or a trend; the PNG can also be a carousel slide.

podcast-intro

Build the cold open for a long-form Fringe Lines episode — a 35–60 s highlight reel of the episode's best lines with explainer-graphic cutaways, keyword captions, whip transitions + SFX, ending on a title card with the topic list. Use when making or revising the intro of a full episode.

관련 스킬