[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XF76E689SHFC6P5DK5K267":3,"skill-same:01M6XF76E689SHFC6P5DK5K267":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":14,"repositoryHtmlUrl":60,"repositoryHomepageUrl":6,"ownerHtmlUrl":61,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":62,"install":63,"resources":76},"01M6XF76E689SHFC6P5DK5K267","canva-automation",null,"Automate Canva tasks via Rube MCP (Composio): designs, exports, folders, brand templates, autofill. Always search tools first for current schemas.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fcanva-automation\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"automation","canva automation","canva","2026","MCP","search tools","unknown","for","autofill","via","composio","community","brand","automate","first","Tools","templates","search","tasks","2026-11-10 10:12:30",false,"---\nname: canva-automation\ndescription: \"Automate Canva tasks via Rube MCP (Composio): designs, exports, folders, brand templates, autofill. Always search tools first for current schemas.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Canva Automation via Rube MCP\n\nAutomate Canva design operations through Composio's Canva toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Canva connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `canva`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `canva`\n3. If connection is not ACTIVE, follow the returned auth link to complete Canva OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. List and Browse Designs\n\n**When to use**: User wants to find existing designs or browse their Canva library\n\n**Tool sequence**:\n1. `CANVA_LIST_USER_DESIGNS` - List all designs with optional filters [Required]\n\n**Key parameters**:\n- `query`: Search term to filter designs by name\n- `continuation`: Pagination token from previous response\n- `ownership`: Filter by 'owned', 'shared', or 'any'\n- `sort_by`: Sort field (e.g., 'modified_at', 'title')\n\n**Pitfalls**:\n- Results are paginated; follow `continuation` token until absent\n- Deleted designs may still appear briefly; check design status\n- Search is substring-based, not fuzzy matching\n\n### 2. Create and Design\n\n**When to use**: User wants to create a new Canva design from scratch or from a template\n\n**Tool sequence**:\n1. `CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST` - Browse available brand templates [Optional]\n2. `CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET` - Create a new design [Required]\n\n**Key parameters**:\n- `design_type`: Type of design (e.g., 'Presentation', 'Poster', 'SocialMedia')\n- `title`: Name for the new design\n- `asset_id`: Optional asset to include in the design\n- `width` \u002F `height`: Custom dimensions in pixels\n\n**Pitfalls**:\n- Design type must match Canva's predefined types exactly\n- Custom dimensions have minimum and maximum limits\n- Asset must be uploaded first via CANVA_CREATE_ASSET_UPLOAD_JOB before referencing\n\n### 3. Upload Assets\n\n**When to use**: User wants to upload images or files to Canva for use in designs\n\n**Tool sequence**:\n1. `CANVA_CREATE_ASSET_UPLOAD_JOB` - Initiate the asset upload [Required]\n2. `CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS` - Poll until upload completes [Required]\n\n**Key parameters**:\n- `name`: Display name for the asset\n- `url`: Public URL of the file to upload (for URL-based uploads)\n- `job_id`: Upload job ID returned from step 1 (for status polling)\n\n**Pitfalls**:\n- Upload is asynchronous; you MUST poll the job status until it completes\n- Supported formats include PNG, JPG, SVG, MP4, GIF\n- File size limits apply; large files may take longer to process\n- The `job_id` from CREATE returns the ID needed for status polling\n- Status values: 'in_progress', 'success', 'failed'\n\n### 4. Export Designs\n\n**When to use**: User wants to download or export a Canva design as PDF, PNG, or other format\n\n**Tool sequence**:\n1. `CANVA_LIST_USER_DESIGNS` - Find the design to export [Prerequisite]\n2. `CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB` - Start the export process [Required]\n3. `CANVA_GET_DESIGN_EXPORT_JOB_RESULT` - Poll until export completes and get download URL [Required]\n\n**Key parameters**:\n- `design_id`: ID of the design to export\n- `format`: Export format ('pdf', 'png', 'jpg', 'svg', 'mp4', 'gif', 'pptx')\n- `pages`: Specific page numbers to export (array)\n- `quality`: Export quality ('regular', 'high')\n- `job_id`: Export job ID for polling status\n\n**Pitfalls**:\n- Export is asynchronous; you MUST poll the job result until it completes\n- Download URLs from completed exports expire after a limited time\n- Large designs with many pages take longer to export\n- Not all formats support all design types (e.g., MP4 only for animations)\n- Poll interval: wait 2-3 seconds between status checks\n\n### 5. Organize with Folders\n\n**When to use**: User wants to create folders or organize designs into folders\n\n**Tool sequence**:\n1. `CANVA_POST_FOLDERS` - Create a new folder [Required]\n2. `CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER` - Move designs into folders [Optional]\n\n**Key parameters**:\n- `name`: Folder name\n- `parent_folder_id`: Parent folder for nested organization\n- `item_id`: ID of the design or asset to move\n- `folder_id`: Target folder ID\n\n**Pitfalls**:\n- Folder names must be unique within the same parent folder\n- Moving items between folders updates their location immediately\n- Root-level folders have no parent_folder_id\n\n### 6. Autofill from Brand Templates\n\n**When to use**: User wants to generate designs by filling brand template placeholders with data\n\n**Tool sequence**:\n1. `CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST` - List available brand templates [Required]\n2. `CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB` - Start autofill with data [Required]\n\n**Key parameters**:\n- `brand_template_id`: ID of the brand template to use\n- `title`: Title for the generated design\n- `data`: Key-value mapping of placeholder names to replacement values\n\n**Pitfalls**:\n- Template placeholders must match exactly (case-sensitive)\n- Autofill is asynchronous; poll for completion\n- Only brand templates support autofill, not regular designs\n- Data values must match the expected type for each placeholder (text, image URL)\n\n## Common Patterns\n\n### Async Job Pattern\n\nMany Canva operations are asynchronous:\n```\n1. Initiate job (upload, export, autofill) -> get job_id\n2. Poll status endpoint with job_id every 2-3 seconds\n3. Check for 'success' or 'failed' status\n4. On success, extract result (asset_id, download_url, design_id)\n```\n\n### ID Resolution\n\n**Design name -> Design ID**:\n```\n1. Call CANVA_LIST_USER_DESIGNS with query=design_name\n2. Find matching design in results\n3. Extract id field\n```\n\n**Brand template name -> Template ID**:\n```\n1. Call CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST\n2. Find template by name\n3. Extract brand_template_id\n```\n\n### Pagination\n\n- Check response for `continuation` token\n- Pass token in next request's `continuation` parameter\n- Continue until `continuation` is absent or empty\n\n## Known Pitfalls\n\n**Async Operations**:\n- Uploads, exports, and autofills are all asynchronous\n- Always poll job status; do not assume immediate completion\n- Download URLs from exports expire; use them promptly\n\n**Asset Management**:\n- Assets must be uploaded before they can be used in designs\n- Upload job must reach 'success' status before the asset_id is valid\n- Supported formats vary; check Canva documentation for current limits\n\n**Rate Limits**:\n- Canva API has rate limits per endpoint\n- Implement exponential backoff for bulk operations\n- Batch operations where possible to reduce API calls\n\n**Response Parsing**:\n- Response data may be nested under `data` key\n- Job status responses include different fields based on completion state\n- Parse defensively with fallbacks for optional fields\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List designs | CANVA_LIST_USER_DESIGNS | query, continuation |\n| Create design | CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET | design_type, title |\n| Upload asset | CANVA_CREATE_ASSET_UPLOAD_JOB | name, url |\n| Check upload | CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS | job_id |\n| Export design | CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB | design_id, format |\n| Get export | CANVA_GET_DESIGN_EXPORT_JOB_RESULT | job_id |\n| Create folder | CANVA_POST_FOLDERS | name, parent_folder_id |\n| Move to folder | CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER | item_id, folder_id |\n| List templates | CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST | (none) |\n| Autofill template | CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB | brand_template_id, data |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Canva Automation via Rube MCP\n\nAutomate Canva design operations through Composio's Canva toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Canva connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `canva`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `canva`\n3. If connection is not ACTIVE, follow the returned auth link to complete Canva OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. List and Browse Designs\n\n**When to use**: User wants to find existing designs or browse their Canva library\n\n**Tool sequence**:\n1. `CANVA_LIST_USER_DESIGNS` - List all designs with optional filters [Required]\n\n**Key parameters**:\n- `query`: Search term to filter designs by name\n- `continuation`: Pagination token from previous response\n- `ownership`: Filter by 'owned', 'shared', or 'any'\n- `sort_by`: Sort field (e.g., 'modified_at', 'title')\n\n**Pitfalls**:\n- Results are paginated; follow `continuation` token until absent\n- Deleted designs may still appear briefly; check design status\n- Search is substring-based, not fuzzy matching\n\n### 2. Create and Design\n\n**When to use**: User wants to create a new Canva design from scratch or from a template\n\n**Tool sequence**:\n1. `CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST` - Browse available brand templates [Optional]\n2. `CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET` - Create a new design [Required]\n\n**Key parameters**:\n- `design_type`: Type of design (e.g., 'Presentation', 'Poster', 'SocialMedia')\n- `title`: Name for the new design\n- `asset_id`: Optional asset to include in the design\n- `width` \u002F `height`: Custom dimensions in pixels\n\n**Pitfalls**:\n- Design type must match Canva's predefined types exactly\n- Custom dimensions have minimum and maximum limits\n- Asset must be uploaded first via CANVA_CREATE_ASSET_UPLOAD_JOB before referencing\n\n### 3. Upload Assets\n\n**When to use**: User wants to upload images or files to Canva for use in designs\n\n**Tool sequence**:\n1. `CANVA_CREATE_ASSET_UPLOAD_JOB` - Initiate the asset upload [Required]\n2. `CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS` - Poll until upload completes [Required]\n\n**Key parameters**:\n- `name`: Display name for the asset\n- `url`: Public URL of the file to upload (for URL-based uploads)\n- `job_id`: Upload job ID returned from step 1 (for status polling)\n\n**Pitfalls**:\n- Upload is asynchronous; you MUST poll the job status until it completes\n- Supported formats include PNG, JPG, SVG, MP4, GIF\n- File size limits apply; large files may take longer to process\n- The `job_id` from CREATE returns the ID needed for status polling\n- Status values: 'in_progress', 'success', 'failed'\n\n### 4. Export Designs\n\n**When to use**: User wants to download or export a Canva design as PDF, PNG, or other format\n\n**Tool sequence**:\n1. `CANVA_LIST_USER_DESIGNS` - Find the design to export [Prerequisite]\n2. `CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB` - Start the export process [Required]\n3. `CANVA_GET_DESIGN_EXPORT_JOB_RESULT` - Poll until export completes and get download URL [Required]\n\n**Key parameters**:\n- `design_id`: ID of the design to export\n- `format`: Export format ('pdf', 'png', 'jpg', 'svg', 'mp4', 'gif', 'pptx')\n- `pages`: Specific page numbers to export (array)\n- `quality`: Export quality ('regular', 'high')\n- `job_id`: Export job ID for polling status\n\n**Pitfalls**:\n- Export is asynchronous; you MUST poll the job result until it completes\n- Download URLs from completed exports expire after a limited time\n- Large designs with many pages take longer to export\n- Not all formats support all design types (e.g., MP4 only for animations)\n- Poll interval: wait 2-3 seconds between status checks\n\n### 5. Organize with Folders\n\n**When to use**: User wants to create folders or organize designs into folders\n\n**Tool sequence**:\n1. `CANVA_POST_FOLDERS` - Create a new folder [Required]\n2. `CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER` - Move designs into folders [Optional]\n\n**Key parameters**:\n- `name`: Folder name\n- `parent_folder_id`: Parent folder for nested organization\n- `item_id`: ID of the design or asset to move\n- `folder_id`: Target folder ID\n\n**Pitfalls**:\n- Folder names must be unique within the same parent folder\n- Moving items between folders updates their location immediately\n- Root-level folders have no parent_folder_id\n\n### 6. Autofill from Brand Templates\n\n**When to use**: User wants to generate designs by filling brand template placeholders with data\n\n**Tool sequence**:\n1. `CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST` - List available brand templates [Required]\n2. `CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB` - Start autofill with data [Required]\n\n**Key parameters**:\n- `brand_template_id`: ID of the brand template to use\n- `title`: Title for the generated design\n- `data`: Key-value mapping of placeholder names to replacement values\n\n**Pitfalls**:\n- Template placeholders must match exactly (case-sensitive)\n- Autofill is asynchronous; poll for completion\n- Only brand templates support autofill, not regular designs\n- Data values must match the expected type for each placeholder (text, image URL)\n\n## Common Patterns\n\n### Async Job Pattern\n\nMany Canva operations are asynchronous:\n```\n1. Initiate job (upload, export, autofill) -> get job_id\n2. Poll status endpoint with job_id every 2-3 seconds\n3. Check for 'success' or 'failed' status\n4. On success, extract result (asset_id, download_url, design_id)\n```\n\n### ID Resolution\n\n**Design name -> Design ID**:\n```\n1. Call CANVA_LIST_USER_DESIGNS with query=design_name\n2. Find matching design in results\n3. Extract id field\n```\n\n**Brand template name -> Template ID**:\n```\n1. Call CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST\n2. Find template by name\n3. Extract brand_template_id\n```\n\n### Pagination\n\n- Check response for `continuation` token\n- Pass token in next request's `continuation` parameter\n- Continue until `continuation` is absent or empty\n\n## Known Pitfalls\n\n**Async Operations**:\n- Uploads, exports, and autofills are all asynchronous\n- Always poll job status; do not assume immediate completion\n- Download URLs from exports expire; use them promptly\n\n**Asset Management**:\n- Assets must be uploaded before they can be used in designs\n- Upload job must reach 'success' status before the asset_id is valid\n- Supported formats vary; check Canva documentation for current limits\n\n**Rate Limits**:\n- Canva API has rate limits per endpoint\n- Implement exponential backoff for bulk operations\n- Batch operations where possible to reduce API calls\n\n**Response Parsing**:\n- Response data may be nested under `data` key\n- Job status responses include different fields based on completion state\n- Parse defensively with fallbacks for optional fields\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List designs | CANVA_LIST_USER_DESIGNS | query, continuation |\n| Create design | CANVA_CREATE_CANVA_DESIGN_WITH_OPTIONAL_ASSET | design_type, title |\n| Upload asset | CANVA_CREATE_ASSET_UPLOAD_JOB | name, url |\n| Check upload | CANVA_FETCH_ASSET_UPLOAD_JOB_STATUS | job_id |\n| Export design | CANVA_CREATE_CANVA_DESIGN_EXPORT_JOB | design_id, format |\n| Get export | CANVA_GET_DESIGN_EXPORT_JOB_RESULT | job_id |\n| Create folder | CANVA_POST_FOLDERS | name, parent_folder_id |\n| Move to folder | CANVA_MOVE_ITEM_TO_SPECIFIED_FOLDER | item_id, folder_id |\n| List templates | CANVA_ACCESS_USER_SPECIFIC_BRAND_TEMPLATES_LIST | (none) |\n| Autofill template | CANVA_INITIATE_CANVA_DESIGN_AUTOFILL_JOB | brand_template_id, data |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":38,"source":43,"date_added":56,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fcanva-automation","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":64,"prompt":74,"zipAvailable":75},[65,68,71],{"tool":66,"command":67},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill canva-automation",{"tool":69,"command":70},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill canva-automation",{"tool":72,"command":73},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill canva-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fcanva-automation\u002FSKILL.md",true,[],[78,99,125,135,148,165],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":87,"publishedAt":51},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[84],{"categoryNo":85,"categoryName":86,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000037","律师与法务",[88,89,49,90,91,92,93,94,95,96,97,98],"wechat search","wechat","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":51},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[106,107,108,109,110,111,49,112,113,114,115,116,117,118,119,120,121,122,123,124],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":51},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[132,133,106,117,118,119,120,110,49,122,134,123,124,116,114,113,112,121,111,109],"trend radar","radar","pulse",{"skillNo":136,"name":137,"nameZh":6,"description":138,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":139,"categories":140,"keywords":141,"publishedAt":51},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[142,143,144,145,146,147],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":157,"publishedAt":51},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[154],{"categoryNo":155,"categoryName":156,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[150,95,158,159,160,98,117,161,162,163,108,164,121],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":51},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[167,172,173,174,121,175,162,176,177,178,179,180],"status","play","go","latest","github","discover","control","cmd","volume"]