[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6E1D29NX1SC4TRVC07DAF2N":3,"skill-same:01M6E1D29NX1SC4TRVC07DAF2N":101},{"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":28,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":13,"repositoryHtmlUrl":55,"repositoryHomepageUrl":56,"ownerHtmlUrl":57,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":58,"install":59,"resources":72},"01M6E1D29NX1SC4TRVC07DAF2N","Excel Automation",null,"Excel Automation: create workbooks, manage worksheets, read\u002Fwrite cell data, and format spreadsheets via Microsoft Excel and Google Sheets integration","7dvq6yrkgs-stack\u002Fplaywright","7dvq6yrkgs-stack","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F251638143?v=4","01M6E061J2AMGWYZ6TK7Y8NM74","01M6E061PQCQJGQMPBERMCFN5G",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fexcel-automation\u002FSKILL.md",[17,22,25],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000004","电子表格","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[29,30,5,31,32,33,34,35,36,37,38,39,40,41,42,43],"xlsx","automation","google","microsoft","spreadsheets","create","google sheets","integration","data","format","read","write","manage","cell","via","2026-11-10 10:12:30",false,"---\nname: Excel Automation\ndescription: \"Excel Automation: create workbooks, manage worksheets, read\u002Fwrite cell data, and format spreadsheets via Microsoft Excel and Google Sheets integration\"\nrequires:\n  mcp: [rube]\n---\n\n# Excel Automation\n\nAutomate spreadsheet operations including creating workbooks, writing data, formatting cells, upserting rows, and managing worksheets. Works with Microsoft Excel (OneDrive) and Google Sheets.\n\n**Toolkit docs:** [composio.dev\u002Ftoolkits\u002Fexcel](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fexcel)\n\n---\n\n## Setup\n\nThis skill requires the **Rube MCP server** connected at `https:\u002F\u002Frube.app\u002Fmcp`.\n\nBefore executing any tools, ensure an active connection exists for the `excel` (and optionally `googlesheets`) toolkit. If no connection is active, initiate one via `RUBE_MANAGE_CONNECTIONS`.\n\n---\n\n## Core Workflows\n\n### 1. Create a New Excel Workbook\n\nUse `EXCEL_CREATE_WORKBOOK` to generate a new `.xlsx` file and upload it to OneDrive.\n\n**Tool:** `EXCEL_CREATE_WORKBOOK`\n\n**Steps:**\n1. Call `EXCEL_CREATE_WORKBOOK` with worksheet names and data\n2. The tool creates a `.xlsx` file and uploads it to OneDrive\n3. Use the returned file path\u002FURL for subsequent operations\n\n---\n\n### 2. Write Data to a Spreadsheet\n\nUse `GOOGLESHEETS_BATCH_UPDATE` to write values to a specific range or append rows.\n\n**Tool:** `GOOGLESHEETS_BATCH_UPDATE`\n\n**Key Parameters:**\n- `spreadsheet_id` (required) -- The spreadsheet ID from the URL (44-char alphanumeric string)\n- `sheet_name` (required) -- Tab name, e.g., `\"Sheet1\"`, `\"Sales Data\"`\n- `values` (required) -- 2D array of cell values, e.g., `[[\"Name\",\"Amount\"],[\"Alice\",100]]`\n- `first_cell_location` -- Starting cell in A1 notation (e.g., `\"A1\"`, `\"D3\"`). Omit to append rows\n- `valueInputOption` -- `\"USER_ENTERED\"` (default, parses formulas) or `\"RAW\"` (stores as-is)\n\n**Example:**\n```\nTool: GOOGLESHEETS_BATCH_UPDATE\nArguments:\n  spreadsheet_id: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  sheet_name: \"Sheet1\"\n  values: [[\"Item\",\"Cost\",\"Stocked\"],[\"Wheel\",20.50,true],[\"Screw\",0.50,true]]\n  first_cell_location: \"A1\"\n```\n\n---\n\n### 3. Upsert Rows by Key Column\n\nUse `GOOGLESHEETS_UPSERT_ROWS` to update existing rows by matching a key column, or append new rows if no match is found. Ideal for CRM syncs, inventory updates, and deduplication.\n\n**Tool:** `GOOGLESHEETS_UPSERT_ROWS`\n\n**Key Parameters:**\n- `spreadsheetId` (required) -- The spreadsheet ID\n- `sheetName` (required) -- Tab name\n- `rows` (required) -- 2D array of data rows (min 1 row). If `headers` is omitted, the first row is treated as headers\n- `headers` -- Column names for the data, e.g., `[\"Email\",\"Phone\",\"Status\"]`\n- `keyColumn` -- Column header to match on, e.g., `\"Email\"`, `\"SKU\"`, `\"Lead ID\"`\n- `strictMode` -- `true` (default) errors on mismatched columns; `false` truncates silently\n\n**Example:**\n```\nTool: GOOGLESHEETS_UPSERT_ROWS\nArguments:\n  spreadsheetId: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  sheetName: \"Contacts\"\n  keyColumn: \"Email\"\n  headers: [\"Email\",\"Phone\",\"Status\"]\n  rows: [[\"john@example.com\",\"555-0101\",\"Active\"],[\"jane@example.com\",\"555-0102\",\"Pending\"]]\n```\n\n---\n\n### 4. Format Cells\n\nUse `GOOGLESHEETS_FORMAT_CELL` to apply bold, italic, font size, and background colors to ranges.\n\n**Tool:** `GOOGLESHEETS_FORMAT_CELL`\n\n**Key Parameters:**\n- `spreadsheet_id` (required) -- The spreadsheet ID\n- `range` -- Cell range in A1 notation, e.g., `\"A1:D1\"`, `\"B2:B10\"` (recommended over index-based)\n- `sheet_name` -- Worksheet name, e.g., `\"Sheet1\"`\n- `bold` -- `true`\u002F`false`\n- `italic` -- `true`\u002F`false`\n- `fontSize` -- Font size in points, e.g., `12`\n- `red`, `green`, `blue` -- Background color components (0.0--1.0 float scale, NOT 0--255)\n\n**Example (bold header row with blue background):**\n```\nTool: GOOGLESHEETS_FORMAT_CELL\nArguments:\n  spreadsheet_id: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  range: \"A1:D1\"\n  sheet_name: \"Sheet1\"\n  bold: true\n  fontSize: 12\n  red: 0.2\n  green: 0.4\n  blue: 0.9\n```\n\n---\n\n### 5. Add New Worksheet Tabs\n\nUse `GOOGLESHEETS_ADD_SHEET` to create new tabs within an existing spreadsheet.\n\n**Tool:** `GOOGLESHEETS_ADD_SHEET`\n\n**Key Parameters:**\n- `spreadsheetId` (required) -- The spreadsheet ID\n- `title` -- Name for the new tab, e.g., `\"Q4 Report\"`\n- `forceUnique` -- `true` (default) auto-appends suffix if name exists\n\n**Example:**\n```\nTool: GOOGLESHEETS_ADD_SHEET\nArguments:\n  spreadsheetId: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  title: \"Q4 Report\"\n  forceUnique: true\n```\n\n---\n\n### 6. Read Data and Verify Content\n\nUse `GOOGLESHEETS_BATCH_GET` to retrieve data from specified cell ranges for validation or further processing.\n\n**Tool:** `GOOGLESHEETS_BATCH_GET`\n\n**Steps:**\n1. Call `GOOGLESHEETS_BATCH_GET` with the spreadsheet ID and target ranges\n2. Validate headers and data alignment\n3. Use results to inform subsequent write or update operations\n\n**Supporting Tools:**\n- `GOOGLESHEETS_GET_SHEET_NAMES` -- List all tab names in a spreadsheet\n- `GOOGLESHEETS_GET_SPREADSHEET_INFO` -- Get metadata (sheet IDs, properties)\n- `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE` -- Check if a specific tab exists\n\n---\n\n## Recommended Execution Plan\n\n1. **Create or locate the spreadsheet** using `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` or reuse an existing `spreadsheetId`\n2. **Confirm the destination tab** using `GOOGLESHEETS_GET_SHEET_NAMES` or `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE`; create it with `GOOGLESHEETS_ADD_SHEET` if missing\n3. **Read existing headers** (optional) using `GOOGLESHEETS_BATCH_GET` to align columns\n4. **Write or upsert data** using `GOOGLESHEETS_BATCH_UPDATE` or `GOOGLESHEETS_UPSERT_ROWS`\n5. **Apply formatting** (optional) using `GOOGLESHEETS_FORMAT_CELL`\n6. **Verify results** (optional) using `GOOGLESHEETS_BATCH_GET`\n7. **Fallback:** If Google Sheets creation is blocked (HTTP 403), use `EXCEL_CREATE_WORKBOOK` for local `.xlsx` output\n\n---\n\n## Known Pitfalls\n\n| Pitfall | Detail |\n|---------|--------|\n| **HTTP 403 on sheet creation** | `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` fails when Drive create scope is missing. Reuse an existing `spreadsheetId` or fall back to `EXCEL_CREATE_WORKBOOK`. |\n| **Cell limit and rate throttling** | Google Sheets has a ~5,000,000 cell limit per spreadsheet. Excessive write frequency triggers HTTP 429. Batch changes and chunk large writes (~500 rows\u002Fcall). |\n| **Format range off-by-one** | `GOOGLESHEETS_FORMAT_CELL` uses 0-based, endIndex-exclusive ranges when using index mode. Background color uses 0--1 float RGB, NOT 0--255 integer RGB. |\n| **Sheet title uniqueness** | Sheet titles are not guaranteed unique across API responses. Prefer operating by numeric `sheetId` and verify the resolved tab before writing. |\n| **Upsert payload shape** | `GOOGLESHEETS_UPSERT_ROWS` requires headers + 2D rows array. Sending list-of-dicts or empty `rows` causes validation errors. Ensure at least 1 data row. |\n\n---\n\n## Quick Reference\n\n| Tool Slug | Description |\n|-----------|-------------|\n| `EXCEL_CREATE_WORKBOOK` | Create a new `.xlsx` workbook and upload to OneDrive |\n| `GOOGLESHEETS_BATCH_UPDATE` | Write values to a range or append new rows |\n| `GOOGLESHEETS_UPSERT_ROWS` | Update existing rows by key or append new ones |\n| `GOOGLESHEETS_FORMAT_CELL` | Apply text\u002Fbackground formatting to cell ranges |\n| `GOOGLESHEETS_ADD_SHEET` | Add a new worksheet tab to a spreadsheet |\n| `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` | Create a new Google Spreadsheet in Drive |\n| `GOOGLESHEETS_GET_SHEET_NAMES` | List all worksheet names in a spreadsheet |\n| `GOOGLESHEETS_GET_SPREADSHEET_INFO` | Retrieve spreadsheet metadata |\n| `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE` | Check if a worksheet exists by title |\n| `GOOGLESHEETS_BATCH_GET` | Read data from specified cell ranges |\n\n---\n\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n","# Excel Automation\n\nAutomate spreadsheet operations including creating workbooks, writing data, formatting cells, upserting rows, and managing worksheets. Works with Microsoft Excel (OneDrive) and Google Sheets.\n\n**Toolkit docs:** [composio.dev\u002Ftoolkits\u002Fexcel](https:\u002F\u002Fcomposio.dev\u002Ftoolkits\u002Fexcel)\n\n---\n\n## Setup\n\nThis skill requires the **Rube MCP server** connected at `https:\u002F\u002Frube.app\u002Fmcp`.\n\nBefore executing any tools, ensure an active connection exists for the `excel` (and optionally `googlesheets`) toolkit. If no connection is active, initiate one via `RUBE_MANAGE_CONNECTIONS`.\n\n---\n\n## Core Workflows\n\n### 1. Create a New Excel Workbook\n\nUse `EXCEL_CREATE_WORKBOOK` to generate a new `.xlsx` file and upload it to OneDrive.\n\n**Tool:** `EXCEL_CREATE_WORKBOOK`\n\n**Steps:**\n1. Call `EXCEL_CREATE_WORKBOOK` with worksheet names and data\n2. The tool creates a `.xlsx` file and uploads it to OneDrive\n3. Use the returned file path\u002FURL for subsequent operations\n\n---\n\n### 2. Write Data to a Spreadsheet\n\nUse `GOOGLESHEETS_BATCH_UPDATE` to write values to a specific range or append rows.\n\n**Tool:** `GOOGLESHEETS_BATCH_UPDATE`\n\n**Key Parameters:**\n- `spreadsheet_id` (required) -- The spreadsheet ID from the URL (44-char alphanumeric string)\n- `sheet_name` (required) -- Tab name, e.g., `\"Sheet1\"`, `\"Sales Data\"`\n- `values` (required) -- 2D array of cell values, e.g., `[[\"Name\",\"Amount\"],[\"Alice\",100]]`\n- `first_cell_location` -- Starting cell in A1 notation (e.g., `\"A1\"`, `\"D3\"`). Omit to append rows\n- `valueInputOption` -- `\"USER_ENTERED\"` (default, parses formulas) or `\"RAW\"` (stores as-is)\n\n**Example:**\n```\nTool: GOOGLESHEETS_BATCH_UPDATE\nArguments:\n  spreadsheet_id: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  sheet_name: \"Sheet1\"\n  values: [[\"Item\",\"Cost\",\"Stocked\"],[\"Wheel\",20.50,true],[\"Screw\",0.50,true]]\n  first_cell_location: \"A1\"\n```\n\n---\n\n### 3. Upsert Rows by Key Column\n\nUse `GOOGLESHEETS_UPSERT_ROWS` to update existing rows by matching a key column, or append new rows if no match is found. Ideal for CRM syncs, inventory updates, and deduplication.\n\n**Tool:** `GOOGLESHEETS_UPSERT_ROWS`\n\n**Key Parameters:**\n- `spreadsheetId` (required) -- The spreadsheet ID\n- `sheetName` (required) -- Tab name\n- `rows` (required) -- 2D array of data rows (min 1 row). If `headers` is omitted, the first row is treated as headers\n- `headers` -- Column names for the data, e.g., `[\"Email\",\"Phone\",\"Status\"]`\n- `keyColumn` -- Column header to match on, e.g., `\"Email\"`, `\"SKU\"`, `\"Lead ID\"`\n- `strictMode` -- `true` (default) errors on mismatched columns; `false` truncates silently\n\n**Example:**\n```\nTool: GOOGLESHEETS_UPSERT_ROWS\nArguments:\n  spreadsheetId: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  sheetName: \"Contacts\"\n  keyColumn: \"Email\"\n  headers: [\"Email\",\"Phone\",\"Status\"]\n  rows: [[\"john@example.com\",\"555-0101\",\"Active\"],[\"jane@example.com\",\"555-0102\",\"Pending\"]]\n```\n\n---\n\n### 4. Format Cells\n\nUse `GOOGLESHEETS_FORMAT_CELL` to apply bold, italic, font size, and background colors to ranges.\n\n**Tool:** `GOOGLESHEETS_FORMAT_CELL`\n\n**Key Parameters:**\n- `spreadsheet_id` (required) -- The spreadsheet ID\n- `range` -- Cell range in A1 notation, e.g., `\"A1:D1\"`, `\"B2:B10\"` (recommended over index-based)\n- `sheet_name` -- Worksheet name, e.g., `\"Sheet1\"`\n- `bold` -- `true`\u002F`false`\n- `italic` -- `true`\u002F`false`\n- `fontSize` -- Font size in points, e.g., `12`\n- `red`, `green`, `blue` -- Background color components (0.0--1.0 float scale, NOT 0--255)\n\n**Example (bold header row with blue background):**\n```\nTool: GOOGLESHEETS_FORMAT_CELL\nArguments:\n  spreadsheet_id: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  range: \"A1:D1\"\n  sheet_name: \"Sheet1\"\n  bold: true\n  fontSize: 12\n  red: 0.2\n  green: 0.4\n  blue: 0.9\n```\n\n---\n\n### 5. Add New Worksheet Tabs\n\nUse `GOOGLESHEETS_ADD_SHEET` to create new tabs within an existing spreadsheet.\n\n**Tool:** `GOOGLESHEETS_ADD_SHEET`\n\n**Key Parameters:**\n- `spreadsheetId` (required) -- The spreadsheet ID\n- `title` -- Name for the new tab, e.g., `\"Q4 Report\"`\n- `forceUnique` -- `true` (default) auto-appends suffix if name exists\n\n**Example:**\n```\nTool: GOOGLESHEETS_ADD_SHEET\nArguments:\n  spreadsheetId: \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms\"\n  title: \"Q4 Report\"\n  forceUnique: true\n```\n\n---\n\n### 6. Read Data and Verify Content\n\nUse `GOOGLESHEETS_BATCH_GET` to retrieve data from specified cell ranges for validation or further processing.\n\n**Tool:** `GOOGLESHEETS_BATCH_GET`\n\n**Steps:**\n1. Call `GOOGLESHEETS_BATCH_GET` with the spreadsheet ID and target ranges\n2. Validate headers and data alignment\n3. Use results to inform subsequent write or update operations\n\n**Supporting Tools:**\n- `GOOGLESHEETS_GET_SHEET_NAMES` -- List all tab names in a spreadsheet\n- `GOOGLESHEETS_GET_SPREADSHEET_INFO` -- Get metadata (sheet IDs, properties)\n- `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE` -- Check if a specific tab exists\n\n---\n\n## Recommended Execution Plan\n\n1. **Create or locate the spreadsheet** using `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` or reuse an existing `spreadsheetId`\n2. **Confirm the destination tab** using `GOOGLESHEETS_GET_SHEET_NAMES` or `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE`; create it with `GOOGLESHEETS_ADD_SHEET` if missing\n3. **Read existing headers** (optional) using `GOOGLESHEETS_BATCH_GET` to align columns\n4. **Write or upsert data** using `GOOGLESHEETS_BATCH_UPDATE` or `GOOGLESHEETS_UPSERT_ROWS`\n5. **Apply formatting** (optional) using `GOOGLESHEETS_FORMAT_CELL`\n6. **Verify results** (optional) using `GOOGLESHEETS_BATCH_GET`\n7. **Fallback:** If Google Sheets creation is blocked (HTTP 403), use `EXCEL_CREATE_WORKBOOK` for local `.xlsx` output\n\n---\n\n## Known Pitfalls\n\n| Pitfall | Detail |\n|---------|--------|\n| **HTTP 403 on sheet creation** | `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` fails when Drive create scope is missing. Reuse an existing `spreadsheetId` or fall back to `EXCEL_CREATE_WORKBOOK`. |\n| **Cell limit and rate throttling** | Google Sheets has a ~5,000,000 cell limit per spreadsheet. Excessive write frequency triggers HTTP 429. Batch changes and chunk large writes (~500 rows\u002Fcall). |\n| **Format range off-by-one** | `GOOGLESHEETS_FORMAT_CELL` uses 0-based, endIndex-exclusive ranges when using index mode. Background color uses 0--1 float RGB, NOT 0--255 integer RGB. |\n| **Sheet title uniqueness** | Sheet titles are not guaranteed unique across API responses. Prefer operating by numeric `sheetId` and verify the resolved tab before writing. |\n| **Upsert payload shape** | `GOOGLESHEETS_UPSERT_ROWS` requires headers + 2D rows array. Sending list-of-dicts or empty `rows` causes validation errors. Ensure at least 1 data row. |\n\n---\n\n## Quick Reference\n\n| Tool Slug | Description |\n|-----------|-------------|\n| `EXCEL_CREATE_WORKBOOK` | Create a new `.xlsx` workbook and upload to OneDrive |\n| `GOOGLESHEETS_BATCH_UPDATE` | Write values to a range or append new rows |\n| `GOOGLESHEETS_UPSERT_ROWS` | Update existing rows by key or append new ones |\n| `GOOGLESHEETS_FORMAT_CELL` | Apply text\u002Fbackground formatting to cell ranges |\n| `GOOGLESHEETS_ADD_SHEET` | Add a new worksheet tab to a spreadsheet |\n| `GOOGLESHEETS_CREATE_GOOGLE_SHEET1` | Create a new Google Spreadsheet in Drive |\n| `GOOGLESHEETS_GET_SHEET_NAMES` | List all worksheet names in a spreadsheet |\n| `GOOGLESHEETS_GET_SPREADSHEET_INFO` | Retrieve spreadsheet metadata |\n| `GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE` | Check if a worksheet exists by title |\n| `GOOGLESHEETS_BATCH_GET` | Read data from specified cell ranges |\n\n---\n\n*Powered by [Composio](https:\u002F\u002Fcomposio.dev)*\n",{"name":5,"requires":49,"description":7},{"mcp":50},[51],"rube","main","a2e3284ed4488780397ee2f78217366e11470dfb","skills\u002Fexcel-automation","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright","https:\u002F\u002Fplaywright.dev","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack","2026-04-25 06:04:45",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add 7dvq6yrkgs-stack\u002Fplaywright --skill \"Excel Automation\"",{"tool":65,"command":66},"bunx","bunx skills add 7dvq6yrkgs-stack\u002Fplaywright --skill \"Excel Automation\"",{"tool":68,"command":69},"pnpm","pnpm dlx skills add 7dvq6yrkgs-stack\u002Fplaywright --skill \"Excel Automation\"","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fexcel-automation\u002FSKILL.md",true,[73,79,85,89,93,97],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},".skillfish.json","REFERENCE","参考文档",251,"https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fexcel-automation\u002F.skillfish.json",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"core.py","SCRIPT","脚本",328,"https:\u002F\u002Fgithub.com\u002FiDorgham\u002FWorkspace-Factory\u002Fblob\u002Fmaster\u002Ffactory\u002Flibrary\u002Farchive\u002Flegacy_pillars\u002F40_verticals\u002F11_industry_verticals\u002Freal_estate_brokerage\u002Fskills\u002Fcore.py",{"path":86,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":87,"sourceHtmlUrl":88},"manifest.yaml",160,"https:\u002F\u002Fgithub.com\u002FiDorgham\u002FWorkspace-Factory\u002Fblob\u002Fmaster\u002Ffactory\u002Flibrary\u002Farchive\u002Flegacy_pillars\u002F40_verticals\u002F11_industry_verticals\u002Freal_estate_brokerage\u002Fskills\u002Fmanifest.yaml",{"path":90,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":91,"sourceHtmlUrl":92},"README.md",2759,"https:\u002F\u002Fgithub.com\u002FiDorgham\u002FWorkspace-Factory\u002Fblob\u002Fmaster\u002Ffactory\u002Flibrary\u002Farchive\u002Flegacy_pillars\u002F40_verticals\u002F11_industry_verticals\u002Freal_estate_brokerage\u002Fskills\u002FREADME.md",{"path":94,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":95,"sourceHtmlUrl":96},"SKILL.meta.json",143,"https:\u002F\u002Fgithub.com\u002FiDorgham\u002FWorkspace-Factory\u002Fblob\u002Fmaster\u002Ffactory\u002Flibrary\u002Farchive\u002Flegacy_pillars\u002F40_verticals\u002F11_industry_verticals\u002Freal_estate_brokerage\u002Fskills\u002FSKILL.meta.json",{"path":98,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":99,"sourceHtmlUrl":100},"tests\u002Ftest_core.py",272,"https:\u002F\u002Fgithub.com\u002FiDorgham\u002FWorkspace-Factory\u002Fblob\u002Fmaster\u002Ffactory\u002Flibrary\u002Farchive\u002Flegacy_pillars\u002F40_verticals\u002F11_industry_verticals\u002Freal_estate_brokerage\u002Fskills\u002Ftests\u002Ftest_core.py",[102,128,138,148,163,178],{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":118,"publishedAt":44},"01M6E3XK4PRPMQHM7Y98FQPTY1","zyte-api-automation","Automate Zyte API tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzyte-api-automation\u002FSKILL.md",[108,109,112,113],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":110,"categoryName":111,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":114,"categoryName":115,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[119,120,30,121,122,123,124,125,126,127,43],"zyte api automation","api","MCP","tasks","search","Tools","first","automate","composio",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":136,"publishedAt":44},"01M6E3XFX6QSTR1QR59NFXJTMA","zylvie-automation","Automate Zylvie tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzylvie-automation\u002FSKILL.md",[134,135],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[137,30,126,121,122,123,124,125,127,43],"zylvie automation",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":146,"publishedAt":44},"01M6E3XCX2GDYYCHN58ZJHT37M","zoominfo-automation","Automate Zoominfo tasks via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzoominfo-automation\u002FSKILL.md",[144,145],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[147,30,123,124,125,126,127,43,122,121],"zoominfo automation",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":156,"publishedAt":44},"01M6E3X9WJ2T73216WQHHTB9BD","zoho_mail-automation","Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzoho_mail-automation\u002FSKILL.md",[154,155],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[157,158,159,30,121,122,123,160,124,125,126,161,127,162,43],"mail","zoho mail automation","zoho","email","management","mailbox",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":174,"publishedAt":44},"01M6E3X719W648XZBW1EC6JQ64","zoho_invoice-automation","Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzoho_invoice-automation\u002FSKILL.md",[169,170,171],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":172,"categoryName":173,"taxonomyType":116,"taxonomyTypeDesc":117},"01JBSEEDCAT000000000000040","财务",[175,159,30,122,123,124,125,126,176,177,127,43,121],"zoho invoice automation","tracking","payment",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":186,"publishedAt":44},"01M6E3X28JYTC3QTK32AQF7BYB","zoho_inventory-automation","Automate Zoho Inventory tasks via Rube MCP (Composio): items, orders, warehouses, shipments, and stock management. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002F7dvq6yrkgs-stack\u002Fplaywright\u002Fblob\u002Fmain\u002Fskills\u002Fzoho_inventory-automation\u002FSKILL.md",[184,185],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":26,"categoryName":27,"taxonomyType":20,"taxonomyTypeDesc":21},[30,187,159,188,125,126,124,123,122,121,127,43,189,190,161],"inventory","zoho inventory automation","stock","orders"]