Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Coda tasks via Rube MCP (Composio): manage docs, pages, tables, rows, formulas, permissions, and publishing. Always search tools first for current schemas.
.claude/skills/coda-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✓→✓ | = Same ✓ | — | — |
| case-05 | ✗→✗ | = Same ✗ | — | — |
| case-15 | ✗→✗ | = Same ✗ | — | — |
| case-12 | ✗→✗ | = Same ✗ | — | — |
Automate Coda document and data operations through Composio's Coda toolkit via Rube MCP.
RUBE_MANAGE_CONNECTIONS with toolkit codaRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit codaWhen to use: User wants to find, list, or inspect Coda documents
Tool sequence:
CODA_SEARCH_DOCS or CODA_LIST_AVAILABLE_DOCS - Find documents Required]CODA_RESOLVE_BROWSER_LINK - Resolve a Coda URL to doc/page/table IDs Alternative]CODA_LIST_PAGES - List pages within a document Optional]CODA_GET_A_PAGE - Get specific page details Optional]Key parameters:
query: Search term for finding documentsisOwner: Filter to docs owned by the userdocId: Document ID for page operationspageIdOrName: Page identifier or nameurl: Browser URL for resolve operationsPitfalls:
CODA_RESOLVE_BROWSER_LINK is the best way to convert a Coda URL to API IDsWhen to use: User wants to read, write, or query table data
Tool sequence:
CODA_LIST_TABLES - List tables in a document Prerequisite]CODA_LIST_COLUMNS - Get column definitions for a table Prerequisite]CODA_LIST_TABLE_ROWS - List all rows with optional filters Required]CODA_SEARCH_ROW - Search for specific rows by query Alternative]CODA_GET_A_ROW - Get a specific row by ID Optional]CODA_UPSERT_ROWS - Insert or update rows in a table Optional]CODA_GET_A_COLUMN - Get details of a specific column Optional]Key parameters:
docId: Document ID containing the tabletableIdOrName: Table identifier or namequery: Filter query for searching rowsrows: Array of row objects for upsert operationskeyColumns: Column IDs used for matching during upsertsortBy: Column to sort results byuseColumnNames: Use column names instead of IDs in row dataPitfalls:
CODA_UPSERT_ROWS does insert if no match on keyColumns, update if match foundkeyColumns must reference columns that have unique values for reliable upsertsuseColumnNames: true allows using human-readable names in row dataWhen to use: User wants to list or evaluate formulas in a document
Tool sequence:
CODA_LIST_FORMULAS - List all named formulas in a doc Required]CODA_GET_A_FORMULA - Get a specific formula's current value Optional]Key parameters:
docId: Document IDformulaIdOrName: Formula identifier or namePitfalls:
When to use: User wants to export a document or page to HTML or Markdown
Tool sequence:
CODA_BEGIN_CONTENT_EXPORT - Start an export job Required]CODA_CONTENT_EXPORT_STATUS - Poll export status until complete Required]Key parameters:
docId: Document ID to exportoutputFormat: Export format ('html' or 'markdown')pageIdOrName: Specific page to export (optional, omit for full doc)requestId: Export request ID for status pollingPitfalls:
status is 'complete'When to use: User wants to view or manage document access
Tool sequence:
CODA_GET_SHARING_METADATA - View current sharing settings Required]CODA_GET_ACL_SETTINGS - Get access control list settings Optional]CODA_ADD_PERMISSION - Grant access to a user or email Optional]Key parameters:
docId: Document IDaccess: Permission level ('readonly', 'write', 'comment')principal: Object with email or user ID of the recipientsuppressEmail: Whether to skip the sharing notification emailPitfalls:
suppressEmail to preventWhen to use: User wants to publish a document or manage custom domains
Tool sequence:
CODA_PUBLISH_DOC - Publish a document publicly Required]CODA_UNPUBLISH_DOC - Unpublish a document Optional]CODA_ADD_CUSTOM_DOMAIN - Add a custom domain for published doc Optional]CODA_GET_DOC_CATEGORIES - Get doc categories for discovery Optional]Key parameters:
docId: Document IDslug: Custom URL slug for the published doccategoryIds: Category IDs for discoverabilityPitfalls:
Doc URL -> Doc ID:
1. Call CODA_RESOLVE_BROWSER_LINK with the Coda URL
2. Extract docId from the responseTable name -> Table ID:
1. Call CODA_LIST_TABLES with docId
2. Find table by name, extract idColumn name -> Column ID:
1. Call CODA_LIST_COLUMNS with docId and tableIdOrName
2. Find column by name, extract idpageTokennextPageTokenpageToken in next request until absent1. Call CODA_LIST_COLUMNS to get column IDs
2. Build row objects with column ID keys and values
3. Set keyColumns to unique identifier column(s)
4. Call CODA_UPSERT_ROWS with rows and keyColumnsID Formats:
Data Types:
Rate Limits:
| Task | Tool Slug | Key Params | |------|-----------|------------| | Search docs | CODA_SEARCH_DOCS | query | | List docs | CODA_LIST_AVAILABLE_DOCS | isOwner | | Resolve URL | CODA_RESOLVE_BROWSER_LINK | url | | List pages | CODA_LIST_PAGES | docId | | Get page | CODA_GET_A_PAGE | docId, pageIdOrName | | List tables | CODA_LIST_TABLES | docId | | List columns | CODA_LIST_COLUMNS | docId, tableIdOrName | | List rows | CODA_LIST_TABLE_ROWS | docId, tableIdOrName | | Search rows | CODA_SEARCH_ROW | docId, tableIdOrName, query | | Get row | CODA_GET_A_ROW | docId, tableIdOrName, rowIdOrName | | Upsert rows | CODA_UPSERT_ROWS | docId, tableIdOrName, rows, keyColumns | | Get column | CODA_GET_A_COLUMN | docId, tableIdOrName, columnIdOrName | | Push button | CODA_PUSH_A_BUTTON | docId, tableIdOrName, rowIdOrName, columnIdOrName | | List formulas | CODA_LIST_FORMULAS | docId | | Get formula | CODA_GET_A_FORMULA | docId, formulaIdOrName | | Begin export | CODA_BEGIN_CONTENT_EXPORT | docId, outputFormat | | Export status | CODA_CONTENT_EXPORT_STATUS | docId, requestId | | Get sharing | CODA_GET_SHARING_METADATA | docId | | Add permission | CODA_ADD_PERMISSION | docId, access, principal | | Publish doc | CODA_PUBLISH_DOC | docId, slug | | Unpublish doc | CODA_UNPUBLISH_DOC | docId | | List packs | CODA_LIST_PACKS | (none) |
This skill is applicable to execute the workflow or actions described in the overview.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 6 counted toward the lift figure. The other 16 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +5 percentage points is the difference between those two pass rates over the 6 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.