Automate Coda tasks via Rube MCP (Composio): manage docs, pages, tables, rows, formulas, permissions, and publishing. Always search tools first for current schemas.
npx skills add https://github.com/davepoon/buildwithclaude --skill coda-automation
Not in the registry: rube
The skill names a server we cannot find in the official MCP registry. It may be private, renamed, or never published — either way, the skill will not work until you have it.
Automate Coda document and data operations through Composio's Coda toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/coda
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 response
Table name -> Table ID:
1. Call CODA_LIST_TABLES with docId
2. Find table by name, extract id
Column name -> Column ID:
1. Call CODA_LIST_COLUMNS with docId and tableIdOrName
2. Find column by name, extract id
pageTokennextPageTokenpageToken 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 keyColumns
ID 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) |
*Powered by Composio*
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take davepoon/coda-automation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.