{
  "path": {
    "schema_version": "1.0.0",
    "path_id": "product-screenshots-to-promo-video",
    "path_version": 1,
    "status": "partial",
    "title": "Product screenshots to a directed promo video",
    "short_title": "Screenshots → promo video",
    "summary": "Use video-shotcraft for shot direction and the official Remotion skills for implementation discipline, then verify the rendered file.",
    "outcome": "A reproducible Remotion project and rendered promo video, with a shot plan and technical verification report.",
    "match_terms": [
      {
        "term": "promo video",
        "weight": 8
      },
      {
        "term": "launch video",
        "weight": 8
      },
      {
        "term": "product video",
        "weight": 7
      },
      {
        "term": "product demo",
        "weight": 6
      },
      {
        "term": "teaser",
        "weight": 6
      },
      {
        "term": "motion video",
        "weight": 6
      },
      {
        "term": "social video",
        "weight": 6
      },
      {
        "term": "remotion",
        "weight": 7
      },
      {
        "term": "screenshots",
        "weight": 4
      },
      {
        "term": "video",
        "weight": 3
      },
      {
        "term": "宣传视频",
        "weight": 8
      },
      {
        "term": "发布视频",
        "weight": 8
      },
      {
        "term": "产品视频",
        "weight": 7
      },
      {
        "term": "宣传片",
        "weight": 8
      },
      {
        "term": "产品演示视频",
        "weight": 8
      },
      {
        "term": "动效视频",
        "weight": 7
      },
      {
        "term": "短视频",
        "weight": 6
      },
      {
        "term": "产品截图",
        "weight": 4
      },
      {
        "term": "视频",
        "weight": 3
      }
    ],
    "supported_agents": [
      "claude-code"
    ],
    "starting_points": [
      "files",
      "idea"
    ],
    "priority_fit": {
      "best-quality": 5,
      "fastest": 3,
      "leanest": 2,
      "most-private": 4
    },
    "required_inputs": [
      "Product screenshots or a product URL",
      "One-sentence product promise",
      "Target duration and aspect ratio"
    ],
    "outputs": [
      "Shot plan",
      "Remotion project",
      "Rendered MP4",
      "Video metadata verification report"
    ],
    "required_output_types": [
      "video/mp4"
    ],
    "nodes": [
      {
        "node_id": "shot-plan",
        "node_type": "skill",
        "stage": "Direct the sequence",
        "tested_ref": "video-shotcraft",
        "purpose": "Turn the product story into deliberate shots, timing, transitions, and a still ending rather than an undirected animation.",
        "input": "Product screenshots, product promise, duration, and aspect ratio",
        "output": "shot-plan.md",
        "verification": "function_verified",
        "instruction": "Follow video-shotcraft's required template-versus-free-form choice, then write a frame-addressed shot plan before implementation.",
        "human_confirmation": true
      },
      {
        "node_id": "implementation",
        "node_type": "skill",
        "stage": "Implement in Remotion",
        "tested_ref": "remotion-skills",
        "purpose": "Translate the approved shot plan into a technically correct, editable Remotion composition.",
        "input": "shot-plan.md and normalized product assets",
        "output": "remotion-project/",
        "verification": "function_verified",
        "instruction": "Use the official timing, animation, asset, and project-structure rules while preserving the shot plan's visual direction.",
        "human_confirmation": false
      },
      {
        "node_id": "render-verification",
        "node_type": "verify",
        "stage": "Render and verify",
        "tested_ref": null,
        "purpose": "Prove that the deliverable exists and meets its mechanical contract before subjective review.",
        "input": "remotion-project/",
        "output": "promo.mp4 and verification.json",
        "verification": "unverified",
        "instruction": "Render with a pinned browser executable, then inspect codec, duration, resolution, frame rate, file size, and playback.",
        "human_confirmation": true
      }
    ],
    "evidence_refs": [
      "video-comparison-2026-07-25"
    ],
    "known_limits": [
      "The published comparison used a fixed typography-and-check brief, not user screenshots.",
      "Only still frames are currently public; the final MP4 is not yet downloadable.",
      "Repeat-run workflow success has not been measured.",
      "Headless environments may need a local chrome-headless-shell and concurrency set to one."
    ],
    "next_test": "Run one fixed six-screenshot product pack through the complete path three times, publish the MP4 and source project, and verify duration, resolution, playback, and repeat success."
  },
  "evidence": [
    {
      "schema_version": "1.0.0",
      "evidence_id": "video-comparison-2026-07-25",
      "evidence_type": "comparison-run",
      "date": "2026-07-25",
      "title": "Same five-second brief rendered with video-shotcraft and Remotion official skills",
      "scope": "Both skill methodologies produced a working 150-frame Remotion scene from the same fixed brief. Setup, render timings, failures, output bytes, and frame 75 were recorded.",
      "not_verified": "A user-supplied screenshot-to-video workflow, repeat-run success rate, public MP4 download, audio, or a fifteen-second final promo.",
      "source_ref": "video-shotcraft-vs-remotion-skills",
      "source_url": "/compare/video-shotcraft-vs-remotion-skills/",
      "environment": {
        "os": "Linux 6.8, arm64, 2 cores",
        "node": "v22.22.3",
        "remotion": "4.0.484"
      },
      "metrics": [
        "video-shotcraft: 13.8s render for 150 frames",
        "Remotion official skills: 13.5s render for 150 frames",
        "Both routes required a local chrome-headless-shell in the constrained environment"
      ],
      "artifacts": [
        {
          "label": "video-shotcraft frame 75",
          "type": "image",
          "path": "/assets/compare/video-shotcraft-frame75.png",
          "alt": "video-shotcraft result: centered typewriter title with a green circular check badge"
        },
        {
          "label": "Remotion official skills frame 75",
          "type": "image",
          "path": "/assets/compare/remotion-skills-frame75.png",
          "alt": "Remotion official skills result: left-aligned title with a green check glyph"
        }
      ]
    }
  ],
  "tested_skills": {
    "video-shotcraft": {
      "skill": "video-shotcraft",
      "repo": "Vincentwei1021/video-shotcraft",
      "stars": 400,
      "stars_date": "2026-07-25",
      "stars_note": "Dated readings: 421 (07-22) / 564 (07-23, test day) / 400 (07-25, GitHub UI). Count fell between test and deep comparison; readings logged, no interpretation.",
      "commit_hash": "a87bf81",
      "install_cmd": "npx skills add Vincentwei1021/video-shotcraft -a claude-code -y",
      "env": {
        "os": "Linux 6.18.5 (cloud sandbox, 2 cores)",
        "node": "v22.22.2",
        "npm": "10.9.7"
      },
      "clone_time_sec": 6.7,
      "install_time_sec": 11.9,
      "install_note": "repo is 164MB (106 shot recipe cards + demos + gallery + audio assets + full Remotion template) — heaviest skill in batch, install = full copy",
      "template_npm_install_sec": 7.6,
      "failures": [
        {
          "step": "remotion still (first try)",
          "error": "Maximum for --concurrency is 2 (number of cores)",
          "fix": "add --concurrency=1"
        },
        {
          "step": "remotion still (system chromium)",
          "error": "Old Headless mode removed from Chrome binary — browser launch failed",
          "fix": "use a chrome-headless-shell binary instead of full chromium"
        },
        {
          "step": "remotion auto-download headless shell",
          "error": "403 from remotion.media CDN (sandbox network allowlist)",
          "fix": "point --browser-executable at locally available chromium_headless_shell (Playwright's)"
        }
      ],
      "verification_level": "function_verified",
      "verified_scope": "A frame from the bundled Remotion template rendered successfully and was visually checked.",
      "not_verified": "User-supplied assets, a no-skill baseline, or repeated-run effect.",
      "min_test": {
        "what": "render frame 100 of bundled 36.2s Ink Press promo template (1920x1080)",
        "result": "frame.png rendered and visually verified (2.5D page dolly + typewriter caption)",
        "time_sec": 12.0
      },
      "structure": "SKILL.md (zh) + references/(shots|sequences|aesthetic-rules|music-beat-sync|sound-design|pipeline) + template/ (Remotion 4.0.484 project) + demos/ + gallery; 223 md files",
      "notes": "SKILL.md is Chinese-first (README bilingual) — worth a callout for EN users. Depends on Remotion at use-time (not install-time). Skill workflow asks user to choose template vs free-form before producing.",
      "tested_date": "2026-07-23",
      "skills_installed": 1
    },
    "remotion-skills": {
      "skill": "remotion skills (official, 10-skill pack)",
      "repo": "remotion-dev/skills",
      "stars": 4073,
      "stars_note": "3,677 on 07-23 (API backfill) -> 4,073 on 07-25 (GitHub UI, re-read for deep comparison).",
      "commit_hash": "0dd76fa",
      "install_cmd": "npx skills add remotion-dev/skills -a claude-code -s '*' -y",
      "env": {
        "os": "Linux 6.18.5 (cloud sandbox)",
        "node": "v22.22.2"
      },
      "clone_time_sec": 1.0,
      "install_time_sec": 2.5,
      "failures": [],
      "verification_level": "function_verified",
      "verified_scope": "All ten skills installed; the official methodology was then used to implement and render the shared five-second comparison scene.",
      "not_verified": "Repeated-run consistency, a no-skill baseline, or effect on a production video project.",
      "verification_evidence": "/compare/video-shotcraft-vs-remotion-skills/",
      "min_test": {
        "what": "install all 10 skills",
        "result": "10 skills land: create/render/captions/markup/saas/docs/upgrade/interactivity/best-practices/mediabunny",
        "time_sec": 2.5
      },
      "notes": "Repo README literally says 'internal package, no documentation' — real docs live at remotion.dev/docs (official SEO, which is why this is a single comparison page for us, not a vertical: red line 1). Render pipeline realities (concurrency cap, headless shell) covered in our video-shotcraft test apply here too.",
      "tested_date": "2026-07-23",
      "stars_date": "2026-07-25",
      "skills_installed": 10
    }
  }
}
