[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C2T7G1RY2KXJC1K1AQ45BF":3,"skill-same:01M6C2T7G1RY2KXJC1K1AQ45BF":51},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":14,"categories":15,"keywords":21,"publishedAt":26,"linkOnly":27,"markdownContent":28,"markdownBody":28,"frontMatter":29,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":33,"repositoryHtmlUrl":34,"repositoryHomepageUrl":6,"ownerHtmlUrl":35,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":36,"install":37,"resources":50},"01M6C2T7G1RY2KXJC1K1AQ45BF","video-frame-review",null,"jleechanorg\u002Fjleechan-skills","jleechanorg","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F221404966?v=4","01M6C1VJ99XG950X1DWPEBCBGX","01M6C1VJDK5YVDNT3362RT5WSB",6,"MIT","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills_archive\u002F2026-08-27-historical-zero-use\u002Fvideo-frame-review\u002FSKILL.md",[16],{"categoryNo":17,"categoryName":18,"taxonomyType":19,"taxonomyTypeDesc":20},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[22,23,24,25],"review","Video","video frame review","frame","2026-11-10 10:12:30",false,"# Video Frame Review Skill\n\n## How it works\n\nClaude Code is multimodal: `Read` on a JPEG\u002FPNG renders it visually.\nffmpeg extracts frames → Read individual frames at key timestamps = video review without Gemini or any API.\n\nNo external tools needed beyond ffmpeg (already at `\u002Fopt\u002Fhomebrew\u002Fbin\u002Fffmpeg`).\n\n## Standard extraction command\n\n```bash\n# 1 FPS into a frames\u002F directory\nffmpeg -i test.webm -vf fps=1 \u002Ftmp\u002Freview\u002Fframes\u002Fframe_%04d.jpg\n\n# Scene-change only (cheaper, catches state transitions)\nffmpeg -i test.webm -vf \"select='gt(scene,0.4)'\" -vsync vfr \u002Ftmp\u002Freview\u002Fscene\u002Fscene_%04d.jpg\n\n# Contact sheet (quick visual overview, all frames tiled)\nffmpeg -i test.webm -vf \"fps=1,scale=320:-1,tile=4x4\" \u002Ftmp\u002Freview\u002Fcontact_sheet.jpg\n```\n\n## Review strategy\n\nDon't read every frame. Sample strategically:\n\n| Frame | Purpose |\n|---|---|\n| frame_0001 | Loading state — blank? error? |\n| frame_0005 | First meaningful UI state |\n| frame_0010, 0020 | Early flow |\n| frame_0030–0050 | Mid-flow — key interactions |\n| frame_0060–0080 | Late flow |\n| frame_last | Final state — did it succeed? |\n\nRead the contact sheet first for a spatial overview, then dive into specific frames.\n\n## What to look for (skeptically)\n\n- **Does the UI actually change?** Same screen across many frames = stuck\u002Ffrozen\n- **Error messages in GM\u002Fsystem responses?** e.g. `[CHARACTER CREATION - No Character Built]`\n- **Party\u002Fstate panels populated correctly?** Placeholder names (\"Hero L1\") ≠ real character data\n- **Chat history grows?** Empty chat for 60% of video duration = long wait or no actions\n- **Final frame matches claimed outcome?** Video can be 101s of failure and still have valid ffprobe metadata\n\n## Key insight from first use (2026-02-20)\n\nThe `test_full_lifecycle_video` (101.76s) was reported \"pass\" because ffprobe confirmed a valid .webm file. Frame review revealed every GM response was `[CHARACTER CREATION - No Character Built]` — the game never actually worked. Character creation data was never persisted before the session started.\n\n**File existence + duration ≠ test passed. Frame content is the ground truth.**\n\n## Skill invocation pattern\n\n```\n1. ffmpeg extract 1FPS frames to \u002Ftmp\u002Freview\u002Fframes\u002F\n2. Read contact sheet for overview\n3. Read frame_0001 (load state)\n4. Read frame_0005 (first UI)\n5. Read frames at 25%, 50%, 75%, 100% of total count\n6. Read any frames around timestamps of interest from server logs\n7. Report what actually happened on screen\n```\n\n## Cost note\n\nReading ~10 JPEG frames locally costs nothing beyond Claude context. For 34 test videos, batch the review: extract all frames, then sweep through contact sheets first to triage which videos need deep frame inspection.\n",{},"main","42ccd02cbf5e8e47839dc3eab6fc754dc6b339cf",".claude\u002Fskills_archive\u002F2026-08-27-historical-zero-use\u002Fvideo-frame-review",0,"https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills","https:\u002F\u002Fgithub.com\u002Fjleechanorg","2026-11-14 03:18:13",{"source":7,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add jleechanorg\u002Fjleechan-skills --skill video-frame-review",{"tool":43,"command":44},"bunx","bunx skills add jleechanorg\u002Fjleechan-skills --skill video-frame-review",{"tool":46,"command":47},"pnpm","pnpm dlx skills add jleechanorg\u002Fjleechan-skills --skill video-frame-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills_archive\u002F2026-08-27-historical-zero-use\u002Fvideo-frame-review\u002FSKILL.md",true,[],[52,70,92,106,120,136],{"skillNo":53,"name":54,"nameZh":6,"description":55,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":58,"publishedAt":26},"01M716Y5MTJ6GYJZ2ATXCJK8G4","instinct","Use when the user invokes \u002Finstinct or \u002Fin, or asks to \"message Instinct\", \"ask Instinct\", \"tell Instinct\", \"check Instinct\", or read replies from the configured peer assistant. iMessage first, WhatsApp Web as fallback.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Finstinct\u002FSKILL.md",[],[54,59,60,61,62,63,64,65,66,67,68,69],"user","when","replies","check","use","identity","whatsapp","gmail","read","message","ask",{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":81,"publishedAt":26},"01M716Y4HF7FVVMJSA2CCVN5VF","hr","Compatibility alias for history-resume; produce the same fresh-state, provenance-aware resume briefing.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhr\u002FSKILL.md",[76],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[72,82,83,84,85,86,87,88,89,90,91],"resume","compatibility","provenance","for","history","produce","alias","briefing","state","fresh",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":99,"publishedAt":26},"01M716Y1FFNFKFJYYKF8HQA6T8","history-resume","Resume briefing for the current repository branch or worktree using fresh state and admitted history sources.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fhistory-resume\u002FSKILL.md",[98],{"categoryNo":77,"categoryName":78,"taxonomyType":79,"taxonomyTypeDesc":80},[86,82,100,101,59,102,89,103,85,104,105,90,91],"history resume","branch","analysis","repository","worktree","sources",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":26},"01M716XWXJ8EPHK4RH9T14TR85","grok","Alias for the canonical grokbot browser conversation workflow; \u002Fgrok talks to the Grok bot the same way \u002Fdot talks to Dot.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgrok\u002FSKILL.md",[],[108,113,114,115,85,116,88,117,118,119],"dot","bot","workflow","canonical","conversation","browser","grokbot",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":26},"01M70N9Q07DTE0EW5KFXMMMSJ0","codexa-bench","Compare `codexa` and normal `codex` on a fair split of comparable work by default; use `--strict` for duplicate runs of the exact same task.","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcodexa-bench\u002FSKILL.md",[],[127,128,129,63,130,85,131,132,133,134,135],"codexa bench","work","split","default","duplicate","task","compare","normal","codex",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":140,"licenseFileUrl":141,"sourceHtmlUrl":142,"categories":143,"keywords":153,"publishedAt":26},"01M6C24S2X60SP8BBFGAEKPEGW","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fjleechanorg\u002Fjleechan-skills\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Ffrontend-design\u002FSKILL.md",[144,147,150],{"categoryNo":145,"categoryName":146,"taxonomyType":19,"taxonomyTypeDesc":20},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":148,"categoryName":149,"taxonomyType":19,"taxonomyTypeDesc":20},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":151,"categoryName":152,"taxonomyType":79,"taxonomyTypeDesc":80},"01JBSEEDCAT000000000000032","设计师",[154,155,156,63,157,158,159,59,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,60,178],"frontend","design","frontend design","generic","ui design","react","html","components","code","artifacts","ui","aesthetics","Production","web components","landing","applications","quality","web","css","create","examples","with","react components","web ui","pages"]