[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KK9EXK8WNXK27VBWSBVMHG":3,"skill-same:01M6KK9EXK8WNXK27VBWSBVMHG":68},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":53,"install":54,"resources":67},"01M6KK9EXK8WNXK27VBWSBVMHG","video-frame-extraction",null,"Extract key frames (I-frames) from video files using FFmpeg. Use this skill whenever the user needs to pull keyframes, thumbnails, or important frames from MP4, MKV, AVI, or other video formats. Outputs PNG image files named with zero-padded indices (e.g., keyframes_001.png).","cxcscmu\u002FSkillLearnBench","cxcscmu","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F142838272?v=4","01M6KCQDFQWPDSN0MKZY96MSQP","01M6KCQDM7G70TKJ28NTSQC0RZ",93,"MIT","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fb4-skill-creator-claude-sonnet-4-6\u002Fvideo-object-counting\u002Fvideo-frame-extraction\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"video frame extraction","extraction","frame","Video","use","formats","with","ffmpeg","keyframes","thumbnails","files","image","extract","user","mp4","png","ZeRO","pull","2026-11-10 10:12:30",false,"---\nname: video-frame-extraction\ndescription: Extract key frames (I-frames) from video files using FFmpeg. Use this skill whenever the user needs to pull keyframes, thumbnails, or important frames from MP4, MKV, AVI, or other video formats. Outputs PNG image files named with zero-padded indices (e.g., keyframes_001.png).\n---\n\n# Video Frame Extraction with FFmpeg\n\nExtract I-frames (keyframes) from a video file and save them as sequentially numbered PNG images.\n\n## Command\n\n```bash\nffmpeg -i \u003Cinput_video> -vf \"select=eq(pict_type\\,I)\" -vsync vfr \u003Coutput_dir>\u002Fkeyframes_%03d.png\n```\n\n- `select=eq(pict_type\\,I)` — selects only I-frames (intra-coded keyframes)\n- `-vsync vfr` — variable frame rate output to avoid duplicates\n- `%03d` — zero-padded 3-digit index starting at 1 (e.g., 001, 002, ...)\n\n## Example\n\n```bash\nffmpeg -i \u002Froot\u002Fsuper-mario.mp4 -vf \"select=eq(pict_type\\,I)\" -vsync vfr \u002Froot\u002Fkeyframes_%03d.png\n```\n\nOutput files: `\u002Froot\u002Fkeyframes_001.png`, `\u002Froot\u002Fkeyframes_002.png`, etc.\n\n## Listing Extracted Frames\n\nAfter extraction, list frames sorted by name to get timeline order:\n\n```python\nimport glob, os\nframes = sorted(glob.glob('\u002Froot\u002Fkeyframes_*.png'))\n```\n\n## Notes\n\n- I-frames are the most information-rich frames and good representatives for scene analysis.\n- Frame indices start at 1, not 0.\n- If the video has no explicit I-frames, use `-vf fps=1` to extract one frame per second instead.\n","# Video Frame Extraction with FFmpeg\n\nExtract I-frames (keyframes) from a video file and save them as sequentially numbered PNG images.\n\n## Command\n\n```bash\nffmpeg -i \u003Cinput_video> -vf \"select=eq(pict_type\\,I)\" -vsync vfr \u003Coutput_dir>\u002Fkeyframes_%03d.png\n```\n\n- `select=eq(pict_type\\,I)` — selects only I-frames (intra-coded keyframes)\n- `-vsync vfr` — variable frame rate output to avoid duplicates\n- `%03d` — zero-padded 3-digit index starting at 1 (e.g., 001, 002, ...)\n\n## Example\n\n```bash\nffmpeg -i \u002Froot\u002Fsuper-mario.mp4 -vf \"select=eq(pict_type\\,I)\" -vsync vfr \u002Froot\u002Fkeyframes_%03d.png\n```\n\nOutput files: `\u002Froot\u002Fkeyframes_001.png`, `\u002Froot\u002Fkeyframes_002.png`, etc.\n\n## Listing Extracted Frames\n\nAfter extraction, list frames sorted by name to get timeline order:\n\n```python\nimport glob, os\nframes = sorted(glob.glob('\u002Froot\u002Fkeyframes_*.png'))\n```\n\n## Notes\n\n- I-frames are the most information-rich frames and good representatives for scene analysis.\n- Frame indices start at 1, not 0.\n- If the video has no explicit I-frames, use `-vf fps=1` to extract one frame per second instead.\n",{"name":5,"description":7},"main","726e1f79b96b0cb3d729d0e55a1c847e0b5353ae","skills\u002Fb4-skill-creator-claude-sonnet-4-6\u002Fvideo-object-counting\u002Fvideo-frame-extraction",7,"https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench","https:\u002F\u002Fcxcscmu.github.io\u002FSkillLearnBench","https:\u002F\u002Fgithub.com\u002Fcxcscmu","2026-10-02 22:55:36",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add cxcscmu\u002FSkillLearnBench --skill video-frame-extraction",{"tool":60,"command":61},"bunx","bunx skills add cxcscmu\u002FSkillLearnBench --skill video-frame-extraction",{"tool":63,"command":64},"pnpm","pnpm dlx skills add cxcscmu\u002FSkillLearnBench --skill video-frame-extraction","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fb4-skill-creator-claude-sonnet-4-6\u002Fvideo-object-counting\u002Fvideo-frame-extraction\u002FSKILL.md",true,[],[69,82,106,124,144,156],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":76,"publishedAt":41},"01M6KM5KH175P5ABP5JMX2SBDQ","object_counter","Count occurrences of an object in the image using computer vision algorithm.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Fvideo-object-counting\u002Fobject_counter\u002FSKILL.md",[75],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[77,78,79,80,81,34],"object counter","object","vision","computer","Computer Vision",{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":91,"publishedAt":41},"01M6KM51TMVXG79MMPCS6Y8G86","travel-planning-workflow","Invoke this skill when performing travel planning. It defines a structured workflow for generating itineraries. Following this workflow is essential to ensure the final plan satisfies user requirements.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftravel-planning\u002Ftravel-planning-workflow\u002FSKILL.md",[88],{"categoryNo":89,"categoryName":90,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[92,93,94,95,96,97,98,99,100,101,36,102,103,104,105],"workflow","planning","planning workflow","travel","travel planning","travel planning workflow","structured","performing","plan","for","it","requirements","essential","itineraries",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":112,"publishedAt":41},"01M6KM4DY820XHS9YTSK5QP5HD","bundled-dataset-search-tool","invoke this skill when you need to perform database search for travel planning. This skill provides some useful pre-packaged tools to look up accommodations, attractions, cities, driving distance, flights, and restaurants from the bundled dataset.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftravel-planning\u002Fbundled-dataset-search-tool\u002FSKILL.md",[],[113,114,115,116,117,118,119,95,120,121,96,122,101,123,93],"search","tool","dataset","bundled dataset search tool","restaurants","Tools","up","look","flights","you","database",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":41},"01M6KM465BB9PQ0B548HQSVAWZ","glm-output","Output-processing guidance for GLM tasks. Especially useful after glm-basics and glm-calibration when you need verifier-matching metrics from output.nc and a final \u002Froot\u002Fmetrics.json.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftemperature-simulation\u002Fglm-output\u002FSKILL.md",[],[131,132,133,101,134,135,136,137,138,139,140,141,122,142,143],"glm output","output","glm","tasks","metrics","json","basics","guidance","matching","verifier","processing","root","calibration",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":151,"publishedAt":41},"01M6KM40KY3QWDW5W97S39R2BC","glm-calibration","Calibration guidance for GLM tasks. Often most effective after glm-basics has clarified the setup; glm-output is the companion skill for exact final metric computation.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftemperature-simulation\u002Fglm-calibration\u002FSKILL.md",[150],{"categoryNo":89,"categoryName":90,"taxonomyType":20,"taxonomyTypeDesc":21},[152,143,133,132,138,137,134,153,154,101,155],"glm calibration","setup","companion","metric",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":41},"01M6KM3VHHVSGMGHJQB3PPT6YG","glm-basics","A good starting point for GLM calibration tasks. Use to inspect glm3.nml, confirm how GLM runs, and identify the relevant files before moving on to calibration and output evaluation.","https:\u002F\u002Fgithub.com\u002Fcxcscmu\u002FSkillLearnBench\u002Fblob\u002Fmain\u002Fskills\u002Fhuman_authored\u002Ftemperature-simulation\u002Fglm-basics\u002FSKILL.md",[],[163,133,137,164,152,143,101,132,165,33,166,27,167,168,134],"glm basics","inspect","relevant","good","how","Evaluation"]