[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XEVT3NGRN1FT7JPMAPXS6M":3,"skill-same:01M6XEVT3NGRN1FT7JPMAPXS6M":68},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":13,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M6XEVT3NGRN1FT7JPMAPXS6M","segment-combiner",null,"Combine multiple segment detection results into a unified list. Use when you need to merge segments from different detectors, prepare removal lists for video processing, or consolidate detection outputs.","Waaaalnut\u002Fskillsbench","Waaaalnut","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F103995656?v=4","01M6XCS9K1V51EY3JMB7DGMX24","01M6XCS9Q4WPW88W62C55G1H44",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Fsegment-combiner\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"segment","segment combiner","detection","Video","video processing","list","results","use","consolidate","merge","processing","you","segments","combine","for","outputs","when","prepare","2026-11-10 10:12:30",false,"---\nname: segment-combiner\ndescription: Combine multiple segment detection results into a unified list. Use when you need to merge segments from different detectors, prepare removal lists for video processing, or consolidate detection outputs.\n---\n\n# Segment Combiner\n\nCombines multiple segment JSON files into a single unified segments file for video processing.\n\n## Use Cases\n\n- Merging segments from multiple detectors\n- Consolidating detection results\n- Preparing unified input for video-processor\n\n## Usage\n\n```bash\npython3 \u002Froot\u002F.claude\u002Fskills\u002Fsegment-combiner\u002Fscripts\u002Fcombine_segments.py \\\n    --segments \u002Fpath\u002Fto\u002Fsegments1.json \u002Fpath\u002Fto\u002Fsegments2.json \\\n    --output \u002Fpath\u002Fto\u002Fall_segments.json\n```\n\n### Parameters\n\n- `--segments`: One or more segment JSON files to combine\n- `--output`: Path to output combined segments JSON\n\n### Input Format\n\nEach input file should have a `segments` array:\n\n```json\n{\n  \"segments\": [\n    {\"start\": 0, \"end\": 120, \"duration\": 120},\n    {\"start\": 300, \"end\": 305, \"duration\": 5}\n  ]\n}\n```\n\n### Output Format\n\n```json\n{\n  \"segments\": [\n    {\"start\": 0, \"end\": 120, \"duration\": 120},\n    {\"start\": 300, \"end\": 305, \"duration\": 5}\n  ],\n  \"total_segments\": 2,\n  \"total_duration_seconds\": 125\n}\n```\n\n## Dependencies\n\n- Python 3.11+\n\n## Example\n\n```bash\n# Combine segments from multiple detectors\npython3 \u002Froot\u002F.claude\u002Fskills\u002Fsegment-combiner\u002Fscripts\u002Fcombine_segments.py \\\n    --segments initial_silence.json pauses.json \\\n    --output all_segments.json\n```\n\n## Notes\n\n- Segments are sorted by start time\n- Compatible with video-processor --remove-segments input\n- All input files must have `segments` array\n","# Segment Combiner\n\nCombines multiple segment JSON files into a single unified segments file for video processing.\n\n## Use Cases\n\n- Merging segments from multiple detectors\n- Consolidating detection results\n- Preparing unified input for video-processor\n\n## Usage\n\n```bash\npython3 \u002Froot\u002F.claude\u002Fskills\u002Fsegment-combiner\u002Fscripts\u002Fcombine_segments.py \\\n    --segments \u002Fpath\u002Fto\u002Fsegments1.json \u002Fpath\u002Fto\u002Fsegments2.json \\\n    --output \u002Fpath\u002Fto\u002Fall_segments.json\n```\n\n### Parameters\n\n- `--segments`: One or more segment JSON files to combine\n- `--output`: Path to output combined segments JSON\n\n### Input Format\n\nEach input file should have a `segments` array:\n\n```json\n{\n  \"segments\": [\n    {\"start\": 0, \"end\": 120, \"duration\": 120},\n    {\"start\": 300, \"end\": 305, \"duration\": 5}\n  ]\n}\n```\n\n### Output Format\n\n```json\n{\n  \"segments\": [\n    {\"start\": 0, \"end\": 120, \"duration\": 120},\n    {\"start\": 300, \"end\": 305, \"duration\": 5}\n  ],\n  \"total_segments\": 2,\n  \"total_duration_seconds\": 125\n}\n```\n\n## Dependencies\n\n- Python 3.11+\n\n## Example\n\n```bash\n# Combine segments from multiple detectors\npython3 \u002Froot\u002F.claude\u002Fskills\u002Fsegment-combiner\u002Fscripts\u002Fcombine_segments.py \\\n    --segments initial_silence.json pauses.json \\\n    --output all_segments.json\n```\n\n## Notes\n\n- Segments are sorted by start time\n- Compatible with video-processor --remove-segments input\n- All input files must have `segments` array\n",{"name":5,"description":7},"main","7eeb258ada72b7f58119b0e7a2c00ea89d9beedd","tasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Fsegment-combiner","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench","https:\u002F\u002Fgithub.com\u002FWaaaalnut","student of Zhejiang University","2026-04-21 23:16:23",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add Waaaalnut\u002Fskillsbench --skill segment-combiner",{"tool":54,"command":55},"bunx","bunx skills add Waaaalnut\u002Fskillsbench --skill segment-combiner",{"tool":57,"command":58},"pnpm","pnpm dlx skills add Waaaalnut\u002Fskillsbench --skill segment-combiner","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Fsegment-combiner\u002FSKILL.md",true,[62],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"scripts\u002Fcombine_segments.py","SCRIPT","脚本",1566,"https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Fsegment-combiner\u002Fscripts\u002Fcombine_segments.py",[69,83,97,120,142,162],{"skillNo":70,"name":71,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":79,"publishedAt":36},"01M6XEWMJ6VY3ZC53MPDCPG3GH","data-reconciliation","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fxlsx-recover-data\u002Fenvironment\u002Fskills\u002Fdata-reconciliation\u002FSKILL.md",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[80,81,82],"data reconciliation","data","reconciliation",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":36},"01M6XEW8MNPMF1KRXV6ATGFRQF","speech-to-text","Transcribe video to timestamped text using Whisper tiny model (pre-installed).","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-tutorial-indexer\u002Fenvironment\u002Fskills\u002Fspeech-to-text\u002FSKILL.md",[],[90,91,92,93,94,95,21,96],"speech","speech to text","text","transcribe video","whisper","model","transcribe",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":108,"publishedAt":36},"01M6XEW3FQZP0T1RKQQJFXVY9T","video-processor","Process videos by removing segments and concatenating remaining parts. Use when you need to remove detected pauses\u002Fopenings from videos, create highlight reels, or batch process segment removals using ffmpeg filter_complex.","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Fvideo-processor\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[109,21,110,111,112,34,113,114,25,115,116,18,29,117,118,30,119],"processor","video processor","create","batch","process","remove","ffmpeg","filter","videos","reels","parts",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":36},"01M6XEVXJ5KZ0NTY3XZKRY4AS1","silence-detector","Detect initial silence segments in audio\u002Fvideo using energy-based analysis. Use when you need to find low-energy periods at the start of recordings (title slides, setup time, pre-roll silence).","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Fsilence-detector\u002FSKILL.md",[126],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},[128,129,30,130,29,131,132,133,34,134,135,25,136,137,21,138,139,140,141],"detector","silence detector","slides","at","energy","title","detect","time","find","Audio","analysis","start","setup","recordings",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":151,"publishedAt":36},"01M6XEVMPVASGS2KX86QK4FMT7","report-generator","Generate compression reports for video processing. Use when you need to create structured JSON reports with duration statistics, compression ratios, and segment details after video processing.","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Freport-generator\u002FSKILL.md",[148],{"categoryNo":149,"categoryName":150,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000034","行政与办公人员",[152,153,154,155,21,156,157,111,22,32,34,29,158,28,18,159,160,161,25],"generator","report generator","report","json","compression","generate","with","statistics","structured","reports",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":36},"01M6XEVENVQRR0KHK0WZZM7ZTW","pause-detector","Detect pauses and silence in audio using local dynamic thresholds. Use when you need to find natural pauses in lectures, board-writing silences, or breaks between sections. Uses local context comparison to avoid false positives from volume variation.","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Fpause-detector\u002FSKILL.md",[],[169,170,128,171,34,29,172,134,173,174,175,25,176,177,136,137,178],"pause detector","pause","thresholds","comparison","false","local","volume","context","board","writing"]