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

erode-video

Generate product pitch videos for the Erode project from screenshots. Use this skill whenever the user wants to create, update, or regenerate the product demo video, landing page animation, or pitch clip for erode.dev or the GitHub repo. Also trigger when the user mentions "product video", "demo video", "pitch video", "update the video", "regenerate video", or "landing page animation" in the context of Erode.

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

연동 도구GitHub
설치 방법 보기

포함된 파일(9)

  • SKILL.md4.7 KB
  • screenshots/01_pr_opened.png331.1 KB
  • screenshots/02_drift_detected.png363.3 KB
  • screenshots/03_model_updated.png315.9 KB
  • screenshots/mocks/01_pr_opened.html15.1 KB
  • screenshots/mocks/02_drift_detected.html19.0 KB
  • screenshots/mocks/03_model_updated.html15.7 KB
  • screenshots/video_config.json1.2 KB
  • scripts/generate_video.py19.4 KB

SKILL.md(원문)

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

Erode Video Generator

Generates an MP4 video and an optimized GIF from a folder of screenshots. The video includes animated text overlays, Ken Burns zoom effects, smooth transitions, step indicators, and an intro/outro with Erode branding. The GIF is half-resolution (960px wide) at 12 fps for README embeds and social previews.

Quick Start

pip install pillow
python scripts/generate_video.py --input-dir ./screenshots

Dependencies

  • Python 3.8+
  • Pillow (pip install pillow)
  • FFmpeg (must be on PATH)
  • Poppins font family (falls back to DejaVu Sans Bold if unavailable)

Input Directory Structure

screenshots/
├── video_config.json     # Slide order, titles, subtitles, timing
├── 01_pr_opened.png      # Screenshots named however you like
├── 02_drift_detected.png
└── 04_model_update.png

Filenames don't matter for ordering — that comes from video_config.json.

Configuration

Create a video_config.json in your screenshots folder. Here's the full schema with defaults:

{
  "intro": {
    "title": "erode",
    "tagline": "See the architectural diff, not just the code diff",
    "duration_sec": 2.5
  },
  "slides": [
    {
      "image": "01_pr_opened.png",
      "title": "A developer opens a pull request",
      "subtitle": "Erode filters the diff and starts its analysis pipeline",
      "accent": "#FF6B35",
      "duration_sec": 4.0
    }
  ],
  "outro": {
    "headline": "Shared understanding that keeps pace with the code.",
    "url": "erode.dev",
    "tags": "Open source • Architecture as Code • LikeC4 • Structurizr",
    "duration_sec": 3.0
  },
  "settings": {
    "width": 1920,
    "height": 1080,
    "fps": 30,
    "transition_sec": 0.6,
    "crf": 23
  }
}

Each slide has:

  • image — filename relative to the input directory
  • title — bold heading shown above the screenshot
  • subtitle — smaller text below the title
  • accent — hex color for the step label, underline bar, and step dot
  • duration_sec — how long the slide stays on screen

CLI Arguments

ArgumentDefaultDescription
--input-dir./screenshotsFolder containing screenshots + config
--outputpackages/web/public/videos/erode_pitch.mp4Output MP4 video path (directory auto-created)
--output-gifsame as --output with .gif extensionOutput GIF path
--configvideo_config.jsonConfig filename inside input-dir
--widthfrom config or 1920Video width
--heightfrom config or 1080Video height
--fpsfrom config or 30Frames per second
--crffrom config or 23FFmpeg quality (lower = better, 18-28 range)

Screenshot Editing Tips

Before generating, crop/trim screenshots for a cleaner result:

  • Crop browser chrome — remove URL bar, tabs, window decorations
  • Focus on the key area — just the PR comment, terminal output, or diff
  • Consistent sizes — the script handles mixed sizes, but similar ratios look best
  • Resolution — aim for 1400px+ wide for crisp 1080p output

Quick crops with ImageMagick:

# Remove 100px from top (browser chrome)
convert input.png -gravity North -chop 0x100 cropped.png

# Resize to max 1800px wide
convert input.png -resize 1800x resized.png

Updating the Video

When screenshots change:

  1. Replace the screenshot files
  2. Update video_config.json titles/subtitles if needed
  3. Re-run the script

Same inputs always produce the same output — fully deterministic and CI-friendly.

GitHub Actions Example

- name: Generate demo video
  run: |
    pip install pillow
    python .claude/skills/erode-video/scripts/generate_video.py \
      --input-dir .claude/skills/erode-video/screenshots

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

adr

무료

Create and manage Architecture Decision Records (ADRs). Use when making architectural changes (refactoring, API versioning, new domain layers, schema changes), when reviewing recent commits for documentation needs, or when the user mentions ADR, architecture decisions, or documenting technical decisions.

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

erode-app/erode542026년 10월 15일 업데이트

doc-sync

무료

Detect documentation and architecture-model drift by comparing source-of-truth code (CLI commands, flags, env vars, GH Action inputs/outputs, package structure, pipeline stages, providers, adapters, platforms) against web docs, README, and LikeC4 architecture model (.c4 files). Use when files that define the user-facing interface or internal structure change, when the user asks to check docs, or when mentioning doc drift, architecture drift, stale docs, or documentation sync.

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

erode-app/erode542026년 10월 15일 업데이트

Enforce the project's documentation voice when writing or reviewing public-facing content. Triggers on edits to doc files (packages/web/src/content/docs/**/*.md) and README.md. Catches LLM prose patterns, marketing language, and messaging drift.

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

erode-app/erode542026년 10월 15일 업데이트

Use this skill whenever code changes introduce new imports, API calls, database connections, message queues, or service-to-service communication. Also use before any commit or push. Catches undeclared dependencies and architecture violations using Erode.

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

erode-app/erode542026년 10월 15일 업데이트

Conventional commits with project conventions. Use when the user asks to commit, make a commit, or wants to follow the project's git commit standard.

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

erode-app/erode542026년 10월 15일 업데이트

Sync the local LikeC4 syntax guide with the upstream LikeC4 skills repository (github.com/likec4/likec4/tree/main/skills/likec4-dsl). Use when the user asks to update, sync, or check the LikeC4 syntax guide, when upstream LikeC4 DSL changes are suspected, or when mentioning likec4 syntax sync, DSL drift, or syntax guide update.

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

erode-app/erode542026년 10월 15일 업데이트

erode-app의 스킬 모두 보기

이 스킬의 문제 신고