[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-b9c11803-b6bd-4d9b-a2f7-e3bae7c9f9db":3,"$f4ARn0KRvEciM9sXkVCaLiDDFvySpnYptTKqcI6X-RyY":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},"b9c11803-b6bd-4d9b-a2f7-e3bae7c9f9db","coda-automation","通过Rube MCP（Composio）自动化Coda任务：管理文档、页面、表格、行、公式、权限和发布。始终首先搜索工具以查找当前架构。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: coda-automation\ndescription: \"Automate Coda tasks via Rube MCP (Composio): manage docs, pages, tables, rows, formulas, permissions, and publishing. Always search tools first for current schemas.\"\nrisk: critical\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Coda Automation via Rube MCP\n\nAutomate Coda document and data operations through Composio's Coda toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Coda connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `coda`\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 `coda`\n3. If connection is not ACTIVE, follow the returned auth link to complete Coda authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Search and Browse Documents\n\n**When to use**: User wants to find, list, or inspect Coda documents\n\n**Tool sequence**:\n1. `CODA_SEARCH_DOCS` or `CODA_LIST_AVAILABLE_DOCS` - Find documents [Required]\n2. `CODA_RESOLVE_BROWSER_LINK` - Resolve a Coda URL to doc\u002Fpage\u002Ftable IDs [Alternative]\n3. `CODA_LIST_PAGES` - List pages within a document [Optional]\n4. `CODA_GET_A_PAGE` - Get specific page details [Optional]\n\n**Key parameters**:\n- `query`: Search term for finding documents\n- `isOwner`: Filter to docs owned by the user\n- `docId`: Document ID for page operations\n- `pageIdOrName`: Page identifier or name\n- `url`: Browser URL for resolve operations\n\n**Pitfalls**:\n- Document IDs are alphanumeric strings (e.g., 'AbCdEfGhIj')\n- `CODA_RESOLVE_BROWSER_LINK` is the best way to convert a Coda URL to API IDs\n- Page names may not be unique within a doc; prefer page IDs\n- Search results include docs shared with the user, not just owned docs\n\n### 2. Work with Tables and Data\n\n**When to use**: User wants to read, write, or query table data\n\n**Tool sequence**:\n1. `CODA_LIST_TABLES` - List tables in a document [Prerequisite]\n2. `CODA_LIST_COLUMNS` - Get column definitions for a table [Prerequisite]\n3. `CODA_LIST_TABLE_ROWS` - List all rows with optional filters [Required]\n4. `CODA_SEARCH_ROW` - Search for specific rows by query [Alternative]\n5. `CODA_GET_A_ROW` - Get a specific row by ID [Optional]\n6. `CODA_UPSERT_ROWS` - Insert or update rows in a table [Optional]\n7. `CODA_GET_A_COLUMN` - Get details of a specific column [Optional]\n\n**Key parameters**:\n- `docId`: Document ID containing the table\n- `tableIdOrName`: Table identifier or name\n- `query`: Filter query for searching rows\n- `rows`: Array of row objects for upsert operations\n- `keyColumns`: Column IDs used for matching during upsert\n- `sortBy`: Column to sort results by\n- `useColumnNames`: Use column names instead of IDs in row data\n\n**Pitfalls**:\n- Table names may contain spaces; URL-encode if needed\n- `CODA_UPSERT_ROWS` does insert if no match on `keyColumns`, update if match found\n- `keyColumns` must reference columns that have unique values for reliable upserts\n- Column IDs are different from column names; list columns first to map names to IDs\n- `useColumnNames: true` allows using human-readable names in row data\n- Row data values must match the column type (text, number, date, etc.)\n\n### 3. Manage Formulas\n\n**When to use**: User wants to list or evaluate formulas in a document\n\n**Tool sequence**:\n1. `CODA_LIST_FORMULAS` - List all named formulas in a doc [Required]\n2. `CODA_GET_A_FORMULA` - Get a specific formula's current value [Optional]\n\n**Key parameters**:\n- `docId`: Document ID\n- `formulaIdOrName`: Formula identifier or name\n\n**Pitfalls**:\n- Formulas are named calculations defined in the document\n- Formula values are computed server-side; results reflect the current state\n- Formula names are case-sensitive\n\n### 4. Export Document Content\n\n**When to use**: User wants to export a document or page to HTML or Markdown\n\n**Tool sequence**:\n1. `CODA_BEGIN_CONTENT_EXPORT` - Start an export job [Required]\n2. `CODA_CONTENT_EXPORT_STATUS` - Poll export status until complete [Required]\n\n**Key parameters**:\n- `docId`: Document ID to export\n- `outputFormat`: Export format ('html' or 'markdown')\n- `pageIdOrName`: Specific page to export (optional, omit for full doc)\n- `requestId`: Export request ID for status polling\n\n**Pitfalls**:\n- Export is asynchronous; poll status until `status` is 'complete'\n- Large documents may take significant time to export\n- Export URL in the completed response is temporary; download promptly\n- Polling too frequently may hit rate limits; use 2-5 second intervals\n\n### 5. Manage Permissions and Sharing\n\n**When to use**: User wants to view or manage document access\n\n**Tool sequence**:\n1. `CODA_GET_SHARING_METADATA` - View current sharing settings [Required]\n2. `CODA_GET_ACL_SETTINGS` - Get access control list settings [Optional]\n3. `CODA_ADD_PERMISSION` - Grant access to a user or email [Optional]\n\n**Key parameters**:\n- `docId`: Document ID\n- `access`: Permission level ('readonly', 'write', 'comment')\n- `principal`: Object with email or user ID of the recipient\n- `suppressEmail`: Whether to skip the sharing notification email\n\n**Pitfalls**:\n- Permission levels: 'readonly', 'write', 'comment'\n- Adding permission sends an email notification by default; use `suppressEmail` to prevent\n- Cannot remove permissions via API in all cases; check ACL settings\n\n### 6. Publish and Customize Documents\n\n**When to use**: User wants to publish a document or manage custom domains\n\n**Tool sequence**:\n1. `CODA_PUBLISH_DOC` - Publish a document publicly [Required]\n2. `CODA_UNPUBLISH_DOC` - Unpublish a document [Optional]\n3. `CODA_ADD_CUSTOM_DOMAIN` - Add a custom domain for published doc [Optional]\n4. `CODA_GET_DOC_CATEGORIES` - Get doc categories for discovery [Optional]\n\n**Key parameters**:\n- `docId`: Document ID\n- `slug`: Custom URL slug for the published doc\n- `categoryIds`: Category IDs for discoverability\n\n**Pitfalls**:\n- Publishing makes the document accessible to anyone with the link\n- Custom domains require DNS configuration\n- Unpublishing removes public access but retains shared access\n\n## Common Patterns\n\n### ID Resolution\n\n**Doc URL -> Doc ID**:\n```\n1. Call CODA_RESOLVE_BROWSER_LINK with the Coda URL\n2. Extract docId from the response\n```\n\n**Table name -> Table ID**:\n```\n1. Call CODA_LIST_TABLES with docId\n2. Find table by name, extract id\n```\n\n**Column name -> Column ID**:\n```\n1. Call CODA_LIST_COLUMNS with docId and tableIdOrName\n2. Find column by name, extract id\n```\n\n### Pagination\n\n- Coda uses cursor-based pagination with `pageToken`\n- Check response for `nextPageToken`\n- Pass as `pageToken` in next request until absent\n- Default page sizes vary by endpoint\n\n### Row Upsert Pattern\n\n```\n1. Call CODA_LIST_COLUMNS to get column IDs\n2. Build row objects with column ID keys and values\n3. Set keyColumns to unique identifier column(s)\n4. Call CODA_UPSERT_ROWS with rows and keyColumns\n```\n\n## Known Pitfalls\n\n**ID Formats**:\n- Document IDs: alphanumeric strings\n- Table\u002Fcolumn\u002Frow IDs: prefixed strings (e.g., 'grid-abc', 'c-xyz')\n- Use RESOLVE_BROWSER_LINK to convert URLs to IDs\n\n**Data Types**:\n- Row values must match column types\n- Date columns expect ISO 8601 format\n- Select\u002Fmulti-select columns expect exact option values\n- People columns expect email addresses\n\n**Rate Limits**:\n- Coda API has per-token rate limits\n- Implement backoff on 429 responses\n- Bulk row operations via UPSERT_ROWS are more efficient than individual updates\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Search docs | CODA_SEARCH_DOCS | query |\n| List docs | CODA_LIST_AVAILABLE_DOCS | isOwner |\n| Resolve URL | CODA_RESOLVE_BROWSER_LINK | url |\n| List pages | CODA_LIST_PAGES | docId |\n| Get page | CODA_GET_A_PAGE | docId, pageIdOrName |\n| List tables | CODA_LIST_TABLES | docId |\n| List columns | CODA_LIST_COLUMNS | docId, tableIdOrName |\n| List rows | CODA_LIST_TABLE_ROWS | docId, tableIdOrName |\n| Search rows | CODA_SEARCH_ROW | docId, tableIdOrName, query |\n| Get row | CODA_GET_A_ROW | docId, tableIdOrName, rowIdOrName |\n| Upsert rows | CODA_UPSERT_ROWS | docId, tableIdOrName, rows, keyColumns |\n| Get column | CODA_GET_A_COLUMN | docId, tableIdOrName, columnIdOrName |\n| Push button | CODA_PUSH_A_BUTTON | docId, tableIdOrName, rowIdOrName, columnIdOrName |\n| List formulas | CODA_LIST_FORMULAS | docId |\n| Get formula | CODA_GET_A_FORMULA | docId, formulaIdOrName |\n| Begin export | CODA_BEGIN_CONTENT_EXPORT | docId, outputFormat |\n| Export status | CODA_CONTENT_EXPORT_STATUS | docId, requestId |\n| Get sharing | CODA_GET_SHARING_METADATA | docId |\n| Add permission | CODA_ADD_PERMISSION | docId, access, principal |\n| Publish doc | CODA_PUBLISH_DOC | docId, slug |\n| Unpublish doc | CODA_UNPUBLISH_DOC | docId |\n| List packs | CODA_LIST_PACKS | (none) |\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,183,953,"2026-05-16 13:11:31",{"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},"32cd56d0-9fa3-45ec-b03d-2d2ce7ed7f42","1.0.0","coda-automation.zip",3761,"uploads\u002Fskills\u002Fb9c11803-b6bd-4d9b-a2f7-e3bae7c9f9db\u002Fcoda-automation.zip","c53e3273758de90fc9327ac4ba0f49a5ddc072cfa1ca5e977719f183deb8ee7b","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":9480}]",{"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]