[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XEMY0AXMBXXNDFGJ0Z3PSH":3,"skill-same:01M6XEMY0AXMBXXNDFGJ0Z3PSH":76},{"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":30,"publishedAt":50,"linkOnly":51,"markdownContent":52,"markdownBody":53,"frontMatter":54,"refName":55,"commitSha":56,"skillDirectory":57,"forksCount":13,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M6XEMY0AXMBXXNDFGJ0Z3PSH","xlsx",null,"Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and pivot tables. When Claude needs to work with spreadsheets (.xlsx files) for: (1) Creating new spreadsheets with data and formatting, (2) Reading or analyzing Excel data with pandas, (3) Creating pivot tables programmatically with openpyxl, (4) Building multi-sheet workbooks with source data and pivot table sheets, or (5) Any Excel file operations","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\u002Fsales-pivot-analysis\u002Fenvironment\u002Fskills\u002Fxlsx\u002FSKILL.md",[17,22,25],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000004","电子表格","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":26,"categoryName":27,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[5,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49],"files","when","for","sheets","openpyxl","formulas","with","multi","creation","sheet","operations","editing","work","analysis","spreadsheet","file","pandas","support","data analysis","2026-11-10 10:12:30",false,"---\nname: xlsx\ndescription: \"Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and pivot tables. When Claude needs to work with spreadsheets (.xlsx files) for: (1) Creating new spreadsheets with data and formatting, (2) Reading or analyzing Excel data with pandas, (3) Creating pivot tables programmatically with openpyxl, (4) Building multi-sheet workbooks with source data and pivot table sheets, or (5) Any Excel file operations\"\n---\n\n# XLSX Creation, Editing, and Analysis\n\n## Overview\n\nThis skill covers working with Excel files using Python libraries: **openpyxl** for Excel-specific features (formatting, formulas, pivot tables) and **pandas** for data analysis.\n\n## Reading Data\n\n### With pandas (recommended for analysis)\n```python\nimport pandas as pd\n\ndf = pd.read_excel('file.xlsx')  # First sheet\nall_sheets = pd.read_excel('file.xlsx', sheet_name=None)  # All sheets as dict\ndf.head()      # Preview\ndf.describe()  # Statistics\n```\n\n### With openpyxl (for cell-level access)\n```python\nfrom openpyxl import load_workbook\n\nwb = load_workbook('file.xlsx')\nws = wb.active\nvalue = ws['A1'].value\n\n# Read calculated values (not formulas)\nwb = load_workbook('file.xlsx', data_only=True)\n```\n\n## Creating Excel Files\n\n```python\nfrom openpyxl import Workbook\nfrom openpyxl.styles import Font, PatternFill, Alignment\n\nwb = Workbook()\nws = wb.active\nws.title = \"Data\"\n\n# Add data\nws['A1'] = 'Header'\nws.append(['Row', 'of', 'data'])\n\n# Formatting\nws['A1'].font = Font(bold=True)\nws['A1'].fill = PatternFill('solid', start_color='2c3e50')\n\nwb.save('output.xlsx')\n```\n\n## Creating Pivot Tables\n\nPivot tables summarize data by grouping and aggregating. Use openpyxl's pivot table API.\n\n**CRITICAL: All pivot tables MUST use `cacheId=0`**. Using any other cacheId (1, 2, etc.) will cause openpyxl to fail when reading the file back with `KeyError`. This is an openpyxl limitation.\n\n### Basic Pivot Table Structure\n\n```python\nfrom openpyxl import Workbook\nfrom openpyxl.pivot.table import TableDefinition, Location, PivotField, DataField, RowColField\nfrom openpyxl.pivot.cache import CacheDefinition, CacheField, CacheSource, WorksheetSource, SharedItems\n\n# 1. Create workbook with source data\nwb = Workbook()\ndata_ws = wb.active\ndata_ws.title = \"SourceData\"\n\n# Write your data (with headers in row 1)\ndata = [\n    [\"CategoryName\", \"ProductName\", \"Quantity\", \"Revenue\"],\n    [\"Beverages\", \"Chai\", 25, 450.00],\n    [\"Seafood\", \"Ikura\", 12, 372.00],\n    # ... more rows\n]\nfor row in data:\n    data_ws.append(row)\n\nnum_rows = len(data)\n\n# 2. Create pivot table sheet\npivot_ws = wb.create_sheet(\"PivotAnalysis\")\n\n# 3. Define the cache (source data reference)\ncache = CacheDefinition(\n    cacheSource=CacheSource(\n        type=\"worksheet\",\n        worksheetSource=WorksheetSource(\n            ref=f\"A1:D{num_rows}\",  # Adjust to your data range\n            sheet=\"SourceData\"\n        )\n    ),\n    cacheFields=[\n        CacheField(name=\"CategoryName\", sharedItems=SharedItems(count=8)),\n        CacheField(name=\"ProductName\", sharedItems=SharedItems(count=40)),\n        CacheField(name=\"Quantity\", sharedItems=SharedItems()),\n        CacheField(name=\"Revenue\", sharedItems=SharedItems()),\n    ]\n)\n\n# 4. Create pivot table definition\npivot = TableDefinition(\n    name=\"RevenueByCategory\",\n    cacheId=0,  # MUST be 0 for ALL pivot tables - any other value breaks openpyxl\n    dataCaption=\"Values\",\n    location=Location(\n        ref=\"A3:B10\",  # Where pivot table will appear\n        firstHeaderRow=1,\n        firstDataRow=1,\n        firstDataCol=1\n    ),\n)\n\n# 5. Configure pivot fields (one for each source column)\n# Fields are indexed 0, 1, 2, 3 matching cache field order\n\n# Field 0: CategoryName - use as ROW\npivot.pivotFields.append(PivotField(axis=\"axisRow\", showAll=False))\n# Field 1: ProductName - not used (just include it)\npivot.pivotFields.append(PivotField(showAll=False))\n# Field 2: Quantity - not used\npivot.pivotFields.append(PivotField(showAll=False))\n# Field 3: Revenue - use as DATA (for aggregation)\npivot.pivotFields.append(PivotField(dataField=True, showAll=False))\n\n# 6. Add row field reference (index of the field to use as rows)\npivot.rowFields.append(RowColField(x=0))  # CategoryName is field 0\n\n# 7. Add data field with aggregation\npivot.dataFields.append(DataField(\n    name=\"Total Revenue\",\n    fld=3,  # Revenue is field index 3\n    subtotal=\"sum\"  # Options: sum, count, average, max, min, product, stdDev, var\n))\n\n# 8. Attach cache and add to worksheet\npivot.cache = cache\npivot_ws._pivots.append(pivot)\n\nwb.save('output_with_pivot.xlsx')\n```\n\n### Common Pivot Table Configurations\n\n#### Count by Category (Order Count)\n```python\n# Row field: CategoryName (index 0)\n# Data field: Count any column\n\npivot.rowFields.append(RowColField(x=0))  # CategoryName as rows\npivot.dataFields.append(DataField(\n    name=\"Order Count\",\n    fld=1,  # Any field works for count\n    subtotal=\"count\"\n))\n```\n\n#### Sum by Category (Total Revenue)\n```python\npivot.rowFields.append(RowColField(x=0))  # CategoryName as rows\npivot.dataFields.append(DataField(\n    name=\"Total Revenue\",\n    fld=3,  # Revenue field\n    subtotal=\"sum\"\n))\n```\n\n#### Two-Dimensional Pivot (Rows and Columns)\n```python\n# CategoryName as rows, Quarter as columns, revenue as values\npivot.pivotFields[0] = PivotField(axis=\"axisRow\", showAll=False)  # Category = row\npivot.pivotFields[1] = PivotField(axis=\"axisCol\", showAll=False)  # Quarter = col\npivot.pivotFields[3] = PivotField(dataField=True, showAll=False)  # Revenue = data\n\npivot.rowFields.append(RowColField(x=0))  # Category\npivot.colFields.append(RowColField(x=1))  # Quarter\npivot.dataFields.append(DataField(name=\"Revenue\", fld=3, subtotal=\"sum\"))\n```\n\n#### Multiple Data Fields\n```python\n# Show both count and sum\npivot.dataFields.append(DataField(name=\"Order Count\", fld=2, subtotal=\"count\"))\npivot.dataFields.append(DataField(name=\"Total Revenue\", fld=3, subtotal=\"sum\"))\n```\n\n### Pivot Table Field Configuration Reference\n\n| axis value | Meaning |\n|------------|---------|\n| `\"axisRow\"` | Field appears as row labels |\n| `\"axisCol\"` | Field appears as column labels |\n| `\"axisPage\"` | Field is a filter\u002Fslicer |\n| (none) | Field not used for grouping |\n\n| subtotal value | Aggregation |\n|----------------|-------------|\n| `\"sum\"` | Sum of values |\n| `\"count\"` | Count of items |\n| `\"average\"` | Average\u002Fmean |\n| `\"max\"` | Maximum value |\n| `\"min\"` | Minimum value |\n| `\"product\"` | Product of values |\n| `\"stdDev\"` | Standard deviation |\n| `\"var\"` | Variance |\n\n### Important Notes\n\n1. **CRITICAL - cacheId must be 0**: ALL pivot tables must use `cacheId=0`. Using 1, 2, etc. will cause `KeyError` when reading the file\n2. **Field indices must match**: The order of `cacheFields` must match your source data columns\n3. **Location ref**: The `ref` in Location is approximate - Excel will adjust when opened\n4. **Cache field count**: For categorical fields, set `count` parameter to approximate number of unique values\n5. **Multiple pivots**: Each pivot table needs its own sheet for clarity\n6. **Values populate on open**: Pivot table values are calculated when the file is opened in Excel\u002FLibreOffice, not when created\n\n## Working with Existing Excel Files\n\n```python\nfrom openpyxl import load_workbook\n\nwb = load_workbook('existing.xlsx')\nws = wb['SheetName']\n\n# Modify\nws['A1'] = 'New Value'\nws.insert_rows(2)\n\n# Add new sheet\nnew_ws = wb.create_sheet('Analysis')\n\nwb.save('modified.xlsx')\n```\n\n## Best Practices\n\n1. **Use pandas for data manipulation**, openpyxl for Excel features\n2. **Match field indices carefully** when creating pivot tables\n3. **Test with small data first** before scaling up\n4. **Name your sheets clearly** (e.g., \"SourceData\", \"RevenueByCategory\")\n5. **Document your pivot table structure** with comments in code\n","# XLSX Creation, Editing, and Analysis\n\n## Overview\n\nThis skill covers working with Excel files using Python libraries: **openpyxl** for Excel-specific features (formatting, formulas, pivot tables) and **pandas** for data analysis.\n\n## Reading Data\n\n### With pandas (recommended for analysis)\n```python\nimport pandas as pd\n\ndf = pd.read_excel('file.xlsx')  # First sheet\nall_sheets = pd.read_excel('file.xlsx', sheet_name=None)  # All sheets as dict\ndf.head()      # Preview\ndf.describe()  # Statistics\n```\n\n### With openpyxl (for cell-level access)\n```python\nfrom openpyxl import load_workbook\n\nwb = load_workbook('file.xlsx')\nws = wb.active\nvalue = ws['A1'].value\n\n# Read calculated values (not formulas)\nwb = load_workbook('file.xlsx', data_only=True)\n```\n\n## Creating Excel Files\n\n```python\nfrom openpyxl import Workbook\nfrom openpyxl.styles import Font, PatternFill, Alignment\n\nwb = Workbook()\nws = wb.active\nws.title = \"Data\"\n\n# Add data\nws['A1'] = 'Header'\nws.append(['Row', 'of', 'data'])\n\n# Formatting\nws['A1'].font = Font(bold=True)\nws['A1'].fill = PatternFill('solid', start_color='2c3e50')\n\nwb.save('output.xlsx')\n```\n\n## Creating Pivot Tables\n\nPivot tables summarize data by grouping and aggregating. Use openpyxl's pivot table API.\n\n**CRITICAL: All pivot tables MUST use `cacheId=0`**. Using any other cacheId (1, 2, etc.) will cause openpyxl to fail when reading the file back with `KeyError`. This is an openpyxl limitation.\n\n### Basic Pivot Table Structure\n\n```python\nfrom openpyxl import Workbook\nfrom openpyxl.pivot.table import TableDefinition, Location, PivotField, DataField, RowColField\nfrom openpyxl.pivot.cache import CacheDefinition, CacheField, CacheSource, WorksheetSource, SharedItems\n\n# 1. Create workbook with source data\nwb = Workbook()\ndata_ws = wb.active\ndata_ws.title = \"SourceData\"\n\n# Write your data (with headers in row 1)\ndata = [\n    [\"CategoryName\", \"ProductName\", \"Quantity\", \"Revenue\"],\n    [\"Beverages\", \"Chai\", 25, 450.00],\n    [\"Seafood\", \"Ikura\", 12, 372.00],\n    # ... more rows\n]\nfor row in data:\n    data_ws.append(row)\n\nnum_rows = len(data)\n\n# 2. Create pivot table sheet\npivot_ws = wb.create_sheet(\"PivotAnalysis\")\n\n# 3. Define the cache (source data reference)\ncache = CacheDefinition(\n    cacheSource=CacheSource(\n        type=\"worksheet\",\n        worksheetSource=WorksheetSource(\n            ref=f\"A1:D{num_rows}\",  # Adjust to your data range\n            sheet=\"SourceData\"\n        )\n    ),\n    cacheFields=[\n        CacheField(name=\"CategoryName\", sharedItems=SharedItems(count=8)),\n        CacheField(name=\"ProductName\", sharedItems=SharedItems(count=40)),\n        CacheField(name=\"Quantity\", sharedItems=SharedItems()),\n        CacheField(name=\"Revenue\", sharedItems=SharedItems()),\n    ]\n)\n\n# 4. Create pivot table definition\npivot = TableDefinition(\n    name=\"RevenueByCategory\",\n    cacheId=0,  # MUST be 0 for ALL pivot tables - any other value breaks openpyxl\n    dataCaption=\"Values\",\n    location=Location(\n        ref=\"A3:B10\",  # Where pivot table will appear\n        firstHeaderRow=1,\n        firstDataRow=1,\n        firstDataCol=1\n    ),\n)\n\n# 5. Configure pivot fields (one for each source column)\n# Fields are indexed 0, 1, 2, 3 matching cache field order\n\n# Field 0: CategoryName - use as ROW\npivot.pivotFields.append(PivotField(axis=\"axisRow\", showAll=False))\n# Field 1: ProductName - not used (just include it)\npivot.pivotFields.append(PivotField(showAll=False))\n# Field 2: Quantity - not used\npivot.pivotFields.append(PivotField(showAll=False))\n# Field 3: Revenue - use as DATA (for aggregation)\npivot.pivotFields.append(PivotField(dataField=True, showAll=False))\n\n# 6. Add row field reference (index of the field to use as rows)\npivot.rowFields.append(RowColField(x=0))  # CategoryName is field 0\n\n# 7. Add data field with aggregation\npivot.dataFields.append(DataField(\n    name=\"Total Revenue\",\n    fld=3,  # Revenue is field index 3\n    subtotal=\"sum\"  # Options: sum, count, average, max, min, product, stdDev, var\n))\n\n# 8. Attach cache and add to worksheet\npivot.cache = cache\npivot_ws._pivots.append(pivot)\n\nwb.save('output_with_pivot.xlsx')\n```\n\n### Common Pivot Table Configurations\n\n#### Count by Category (Order Count)\n```python\n# Row field: CategoryName (index 0)\n# Data field: Count any column\n\npivot.rowFields.append(RowColField(x=0))  # CategoryName as rows\npivot.dataFields.append(DataField(\n    name=\"Order Count\",\n    fld=1,  # Any field works for count\n    subtotal=\"count\"\n))\n```\n\n#### Sum by Category (Total Revenue)\n```python\npivot.rowFields.append(RowColField(x=0))  # CategoryName as rows\npivot.dataFields.append(DataField(\n    name=\"Total Revenue\",\n    fld=3,  # Revenue field\n    subtotal=\"sum\"\n))\n```\n\n#### Two-Dimensional Pivot (Rows and Columns)\n```python\n# CategoryName as rows, Quarter as columns, revenue as values\npivot.pivotFields[0] = PivotField(axis=\"axisRow\", showAll=False)  # Category = row\npivot.pivotFields[1] = PivotField(axis=\"axisCol\", showAll=False)  # Quarter = col\npivot.pivotFields[3] = PivotField(dataField=True, showAll=False)  # Revenue = data\n\npivot.rowFields.append(RowColField(x=0))  # Category\npivot.colFields.append(RowColField(x=1))  # Quarter\npivot.dataFields.append(DataField(name=\"Revenue\", fld=3, subtotal=\"sum\"))\n```\n\n#### Multiple Data Fields\n```python\n# Show both count and sum\npivot.dataFields.append(DataField(name=\"Order Count\", fld=2, subtotal=\"count\"))\npivot.dataFields.append(DataField(name=\"Total Revenue\", fld=3, subtotal=\"sum\"))\n```\n\n### Pivot Table Field Configuration Reference\n\n| axis value | Meaning |\n|------------|---------|\n| `\"axisRow\"` | Field appears as row labels |\n| `\"axisCol\"` | Field appears as column labels |\n| `\"axisPage\"` | Field is a filter\u002Fslicer |\n| (none) | Field not used for grouping |\n\n| subtotal value | Aggregation |\n|----------------|-------------|\n| `\"sum\"` | Sum of values |\n| `\"count\"` | Count of items |\n| `\"average\"` | Average\u002Fmean |\n| `\"max\"` | Maximum value |\n| `\"min\"` | Minimum value |\n| `\"product\"` | Product of values |\n| `\"stdDev\"` | Standard deviation |\n| `\"var\"` | Variance |\n\n### Important Notes\n\n1. **CRITICAL - cacheId must be 0**: ALL pivot tables must use `cacheId=0`. Using 1, 2, etc. will cause `KeyError` when reading the file\n2. **Field indices must match**: The order of `cacheFields` must match your source data columns\n3. **Location ref**: The `ref` in Location is approximate - Excel will adjust when opened\n4. **Cache field count**: For categorical fields, set `count` parameter to approximate number of unique values\n5. **Multiple pivots**: Each pivot table needs its own sheet for clarity\n6. **Values populate on open**: Pivot table values are calculated when the file is opened in Excel\u002FLibreOffice, not when created\n\n## Working with Existing Excel Files\n\n```python\nfrom openpyxl import load_workbook\n\nwb = load_workbook('existing.xlsx')\nws = wb['SheetName']\n\n# Modify\nws['A1'] = 'New Value'\nws.insert_rows(2)\n\n# Add new sheet\nnew_ws = wb.create_sheet('Analysis')\n\nwb.save('modified.xlsx')\n```\n\n## Best Practices\n\n1. **Use pandas for data manipulation**, openpyxl for Excel features\n2. **Match field indices carefully** when creating pivot tables\n3. **Test with small data first** before scaling up\n4. **Name your sheets clearly** (e.g., \"SourceData\", \"RevenueByCategory\")\n5. **Document your pivot table structure** with comments in code\n",{"name":5,"description":7},"main","7eeb258ada72b7f58119b0e7a2c00ea89d9beedd","tasks\u002Fsales-pivot-analysis\u002Fenvironment\u002Fskills\u002Fxlsx","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":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add Waaaalnut\u002Fskillsbench --skill xlsx",{"tool":68,"command":69},"bunx","bunx skills add Waaaalnut\u002Fskillsbench --skill xlsx",{"tool":71,"command":72},"pnpm","pnpm dlx skills add Waaaalnut\u002Fskillsbench --skill xlsx","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fsales-pivot-analysis\u002Fenvironment\u002Fskills\u002Fxlsx\u002FSKILL.md",true,[],[77,89,104,129,150,168],{"skillNo":78,"name":79,"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":80,"categories":81,"keywords":85,"publishedAt":50},"01M6XEWMJ6VY3ZC53MPDCPG3GH","data-reconciliation","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fxlsx-recover-data\u002Fenvironment\u002Fskills\u002Fdata-reconciliation\u002FSKILL.md",[82],{"categoryNo":83,"categoryName":84,"taxonomyType":28,"taxonomyTypeDesc":29},"01JBSEEDCAT000000000000033","数据分析师",[86,87,88],"data reconciliation","reconciliation","data",{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":50},"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",[],[96,97,98,99,100,101,102,103],"speech","text","speech to text","transcribe video","whisper","model","Video","transcribe",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":113,"publishedAt":50},"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",[110],{"categoryNo":111,"categoryName":112,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",[102,114,115,116,117,118,32,119,120,121,122,123,124,125,126,127,128],"processor","video processor","batch","create","reels","parts","segments","process","videos","you","segment","filter","ffmpeg","use","remove",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":136,"publishedAt":50},"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",[135],{"categoryNo":111,"categoryName":112,"taxonomyType":20,"taxonomyTypeDesc":21},[137,138,139,140,32,123,141,142,143,144,145,120,146,147,102,44,148,149,127],"detector","silence detector","title","slides","time","energy","at","recordings","detect","find","Audio","start","setup",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":50},"01M6XEVT3NGRN1FT7JPMAPXS6M","segment-combiner","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.","https:\u002F\u002Fgithub.com\u002FWaaaalnut\u002Fskillsbench\u002Fblob\u002Fmain\u002Ftasks\u002Fvideo-silence-remover\u002Fenvironment\u002Fskills\u002Fsegment-combiner\u002FSKILL.md",[],[124,157,102,158,159,160,161,33,32,162,163,120,123,164,165,127,166,167],"segment combiner","detection","prepare","merge","video processing","outputs","combine","processing","consolidate","results","list",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":175,"publishedAt":50},"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",[174],{"categoryNo":26,"categoryName":27,"taxonomyType":28,"taxonomyTypeDesc":29},[176,177,178,124,32,33,123,37,164,179,180,181,127,161,182,102,183,184,117],"generator","report generator","report","statistics","structured","reports","json","compression","generate"]