[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-22577688-7c08-4346-abd9-cfdf4743fe6f":3,"$fOdpISYkaY5L5agfqKaOthkokOk3stMIVCLBb4Ui2Cjc":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"22577688-7c08-4346-abd9-cfdf4743fe6f","render-automation","通过Rube MCP（Composio）自动化渲染任务：服务、部署、项目。始终首先搜索当前架构的工具。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: render-automation\ndescription: \"Automate Render tasks via Rube MCP (Composio): services, deployments, projects. Always search tools first for current schemas.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Render Automation via Rube MCP\n\nAutomate Render cloud platform operations through Composio's Render toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Render connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `render`\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 `render`\n3. If connection is not ACTIVE, follow the returned auth link to complete Render authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. List and Browse Services\n\n**When to use**: User wants to find or inspect Render services (web services, static sites, workers, cron jobs)\n\n**Tool sequence**:\n1. `RENDER_LIST_SERVICES` - List all services with optional filters [Required]\n\n**Key parameters**:\n- `name`: Filter services by name substring\n- `type`: Filter by service type ('web_service', 'static_site', 'private_service', 'background_worker', 'cron_job')\n- `limit`: Maximum results per page (default 20, max 100)\n- `cursor`: Pagination cursor from previous response\n\n**Pitfalls**:\n- Service types must match exact enum values: 'web_service', 'static_site', 'private_service', 'background_worker', 'cron_job'\n- Pagination uses cursor-based approach; follow `cursor` until absent\n- Name filter is substring-based, not exact match\n- Service IDs follow the format 'srv-xxxxxxxxxxxx'\n- Default limit is 20; set higher for comprehensive listing\n\n### 2. Trigger Deployments\n\n**When to use**: User wants to manually deploy or redeploy a service\n\n**Tool sequence**:\n1. `RENDER_LIST_SERVICES` - Find the service to deploy [Prerequisite]\n2. `RENDER_TRIGGER_DEPLOY` - Trigger a new deployment [Required]\n3. `RENDER_RETRIEVE_DEPLOY` - Monitor deployment progress [Optional]\n\n**Key parameters**:\n- For TRIGGER_DEPLOY:\n  - `serviceId`: Service ID to deploy (required, format: 'srv-xxxxxxxxxxxx')\n  - `clearCache`: Set `true` to clear build cache before deploying\n- For RETRIEVE_DEPLOY:\n  - `serviceId`: Service ID\n  - `deployId`: Deploy ID from trigger response (format: 'dep-xxxxxxxxxxxx')\n\n**Pitfalls**:\n- `serviceId` is required; resolve via LIST_SERVICES first\n- Service IDs start with 'srv-' prefix\n- Deploy IDs start with 'dep-' prefix\n- `clearCache: true` forces a clean build; takes longer but resolves cache-related issues\n- Deployment is asynchronous; use RETRIEVE_DEPLOY to poll status\n- Triggering a deploy while another is in progress may queue the new one\n\n### 3. Monitor Deployment Status\n\n**When to use**: User wants to check the progress or result of a deployment\n\n**Tool sequence**:\n1. `RENDER_RETRIEVE_DEPLOY` - Get deployment details and status [Required]\n\n**Key parameters**:\n- `serviceId`: Service ID (required)\n- `deployId`: Deployment ID (required)\n- Response includes `status`, `createdAt`, `updatedAt`, `finishedAt`, `commit`\n\n**Pitfalls**:\n- Both `serviceId` and `deployId` are required\n- Deploy statuses include: 'created', 'build_in_progress', 'update_in_progress', 'live', 'deactivated', 'build_failed', 'update_failed', 'canceled'\n- 'live' indicates successful deployment\n- 'build_failed' or 'update_failed' indicate deployment errors\n- Poll at reasonable intervals (10-30 seconds) to avoid rate limits\n\n### 4. Manage Projects\n\n**When to use**: User wants to list and organize Render projects\n\n**Tool sequence**:\n1. `RENDER_LIST_PROJECTS` - List all projects [Required]\n\n**Key parameters**:\n- `limit`: Maximum results per page (max 100)\n- `cursor`: Pagination cursor from previous response\n\n**Pitfalls**:\n- Projects group related services together\n- Pagination uses cursor-based approach\n- Project IDs are used for organizational purposes\n- Not all services may be assigned to a project\n\n## Common Patterns\n\n### ID Resolution\n\n**Service name -> Service ID**:\n```\n1. Call RENDER_LIST_SERVICES with name=service_name\n2. Find service by name in results\n3. Extract id (format: 'srv-xxxxxxxxxxxx')\n```\n\n**Deployment lookup**:\n```\n1. Store deployId from RENDER_TRIGGER_DEPLOY response\n2. Call RENDER_RETRIEVE_DEPLOY with serviceId and deployId\n3. Check status for completion\n```\n\n### Deploy and Monitor Pattern\n\n```\n1. RENDER_LIST_SERVICES -> find service by name -> get serviceId\n2. RENDER_TRIGGER_DEPLOY with serviceId -> get deployId\n3. Loop: RENDER_RETRIEVE_DEPLOY with serviceId + deployId\n4. Check status: 'live' = success, 'build_failed'\u002F'update_failed' = error\n5. Continue polling until terminal state reached\n```\n\n### Pagination\n\n- Use `cursor` from response for next page\n- Continue until `cursor` is absent or results are empty\n- Both LIST_SERVICES and LIST_PROJECTS use cursor-based pagination\n- Set `limit` to max (100) for fewer pagination rounds\n\n## Known Pitfalls\n\n**Service IDs**:\n- Always prefixed with 'srv-' (e.g., 'srv-abcd1234efgh')\n- Deploy IDs prefixed with 'dep-' (e.g., 'dep-d2mqkf9r0fns73bham1g')\n- Always resolve service names to IDs via LIST_SERVICES\n\n**Service Types**:\n- Must use exact enum values when filtering\n- Available types: web_service, static_site, private_service, background_worker, cron_job\n- Different service types have different deployment behaviors\n\n**Deployment Behavior**:\n- Deployments are asynchronous; always poll for completion\n- Clear cache deploys take longer but resolve stale cache issues\n- Failed deploys do not roll back automatically; the previous version stays live\n- Concurrent deploy triggers may be queued\n\n**Rate Limits**:\n- Render API has rate limits\n- Avoid rapid polling; use 10-30 second intervals\n- Bulk operations should be throttled\n\n**Response Parsing**:\n- Response data may be nested under `data` key\n- Timestamps use ISO 8601 format\n- Parse defensively with fallbacks for optional fields\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List services | RENDER_LIST_SERVICES | name, type, limit, cursor |\n| Trigger deploy | RENDER_TRIGGER_DEPLOY | serviceId, clearCache |\n| Get deploy status | RENDER_RETRIEVE_DEPLOY | serviceId, deployId |\n| List projects | RENDER_LIST_PROJECTS | limit, cursor |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,223,487,"2026-05-16 13:37:04",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"58639531-1c0a-48c6-996a-8ffba6d954d3","1.0.0","render-automation.zip",2878,"uploads\u002Fskills\u002F22577688-7c08-4346-abd9-cfdf4743fe6f\u002Frender-automation.zip","95391afe8926984a47ddfc460450beeca4f1e1d83a260bad4b3bfae4857d2179","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":6979}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]