{"id":"2a5e13df-78da-4340-acd2-8a3811b313cd","shortId":"WjkkZB","kind":"skill","title":"coda-automation","tagline":"Automate Coda tasks via Rube MCP (Composio): manage docs, pages, tables, rows, formulas, permissions, and publishing. Always search tools first for current schemas.","description":"# 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://rube.app/mcp` 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/page/table 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/column/row 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/multi-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.","tags":["coda","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-coda-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/coda-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34882 github stars · SKILL.md body (9,208 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T12:50:47.322Z","embedding":null,"createdAt":"2026-04-18T21:34:34.592Z","updatedAt":"2026-04-24T12:50:47.322Z","lastSeenAt":"2026-04-24T12:50:47.322Z","tsv":"'-5':710 '/mcp':84 '1':104,151,170,316,539,622,731,842,933,953,971,1017 '2':116,182,296,326,551,632,709,741,851,943,960,980,1026 '3':124,195,337,521,752,859,1036 '4':139,205,349,601,872,1044 '429':1119 '5':360,713 '6':372,822 '7':384 '8601':1093 'abc':1068 'abcdefghij':255 'absent':1007 'access':728,747,757,769,906,920,924,1283 'acl':744,820 'action':1316 'activ':56,129,144 'ad':799 'add':81,98,754,861,864,1277,1280 'address':1105 'allow':500 'alphanumer':252,1059 'altern':194,359 'alway':20,66 'anyon':908 'api':94,270,815,1109 'applic':1310 'array':416 'ask':1354 'asynchron':676 'auth':133 'authent':138 'autom':3,4,28,32 'avail':55,109,177,1150 'backoff':1117 'base':992 'begin':624,1254,1257 'best':262 'boundari':1362 'brows':154 'browser':185,243,258,937,1074,1157 'build':1027 'bulk':1121 'button':1231,1235 'c':1070 'c-xyz':1069 'calcul':578 'call':67,117,934,954,972,1018,1045 'cannot':811 'case':599,818 'case-sensit':598 'categori':876,879,897 'categoryid':896 'check':819,996 'clarif':1356 'clear':1329 'client':91 'coda':2,5,27,33,41,57,65,123,137,166,171,175,183,189,196,206,256,267,317,327,338,350,361,373,385,458,540,552,623,633,732,742,753,843,852,860,873,935,941,955,973,988,1019,1046,1108,1142,1148,1155,1162,1168,1176,1182,1189,1197,1205,1214,1223,1232,1242,1248,1256,1264,1272,1279,1287,1294,1300 'coda-autom':1 'column':329,331,388,394,424,432,439,475,483,488,491,515,967,969,975,982,1021,1024,1031,1042,1087,1090,1096,1102,1181,1184,1222,1226 'columnidornam':1229,1239 'comment':774,798 'common':925 'complet':136,641,682,695 'composio':10,39 'comput':586 'configur':92,916 'confirm':111,140 'connect':51,58,62,120,126,141 'contain':401,451 'content':604,625,634,1258,1265 'control':748 'convert':265,1077 'core':149 'criteria':1365 'current':25,74,561,593,737 'cursor':991 'cursor-bas':990 'custom':825,838,862,866,889,912 'data':36,301,313,446,508,510,1081 'date':519,1089 'default':806,1008 'defin':579 'definit':332 'describ':1317,1333 'detail':213,390 'differ':486 'discover':900 'discoveri':881 'dns':915 'doc':12,173,178,226,280,287,295,549,665,845,854,870,875,878,895,929,931,1141,1144,1147,1151,1286,1289,1293,1296 'doc/page/table':192 'docid':231,398,566,645,766,885,945,959,977,1165,1172,1179,1185,1193,1200,1209,1217,1227,1236,1245,1252,1260,1268,1276,1282,1290,1297 'document':34,155,167,180,203,222,232,249,324,399,536,567,582,603,613,646,684,727,767,826,835,848,857,886,905,1057 'domain':839,863,867,913 'download':699 'e.g':254,1065 'effici':1129 'email':762,778,792,803,1104 'encod':455 'endpoint':100,1013 'environ':1345 'environment-specif':1344 'etc':520 'evalu':532 'exact':1098 'execut':1312 'expect':1091,1097,1103 'expert':1350 'export':602,611,626,629,635,638,649,651,660,667,674,690,691,1255,1259,1262,1266 'extract':944,965,985 'filter':224,347,410 'find':162,179,221,961,981 'first':23,71,492 'follow':130 'format':652,1056,1094 'formula':16,523,533,542,546,555,559,570,575,583,595,1241,1244,1247,1251 'formulaidornam':569,1253 'found':471 'frequent':703 'full':664 'get':73,78,207,210,330,362,365,386,389,553,556,733,743,746,874,877,1023,1166,1169,1203,1206,1221,1224,1246,1249,1270,1273 'grant':756 'grid':1067 'grid-abc':1066 'hit':705 'html':617,653 'human':503 'human-read':502 'id':193,233,250,271,283,370,400,425,443,484,497,568,647,669,768,781,887,898,927,932,952,966,970,986,1025,1032,1055,1058,1062,1080 'identifi':239,406,571,1041 'implement':1116 'includ':286 'individu':1131 'input':1359 'insert':376,462 'inspect':165 'instead':441 'interv':712 'iso':1092 'isown':223,1152 'job':630 'key':95,215,396,564,643,764,883,1033,1138 'keycolumn':423,467,472,1038,1052,1220 'known':1053 'larg':683 'level':771,795 'limit':707,1107,1115,1321 'link':134,186,259,911,938,1075,1158 'list':163,176,197,199,318,320,328,339,342,490,530,541,543,749,956,974,1020,1146,1149,1160,1163,1174,1177,1180,1183,1187,1190,1240,1243,1298,1301 'make':903 'manag':11,61,119,522,714,726,837 'map':494 'markdown':619,655 'match':428,465,470,513,1086,1330 'may':274,450,685,704 'mcp':9,31,45,48,80,87,107 'metadata':735,1275 'miss':1367 'must':49,473,512,1085 'name':241,273,408,440,449,489,495,505,545,573,577,596,950,964,968,984 'need':96,457 'next':1004 'nextpagetoken':999 'none':1303 'notif':791,804 'number':518 'object':419,776,1029 'omit':662 'oper':37,236,247,422,1123 'option':204,214,346,371,383,395,563,661,751,763,858,871,882,1099 'output':1339 'outputformat':650,1261 'overview':1320 'own':227,294 'pack':1299,1302 'page':13,198,200,209,212,235,238,272,282,615,658,1009,1161,1164,1167,1171 'pageidornam':237,656,1173 'pagetoken':995,1002 'pagin':987,993 'param':1139 'paramet':216,397,565,644,765,884 'pass':1000 'pattern':926,1016 'peopl':1101 'per':1112 'per-token':1111 'permiss':17,715,755,770,794,800,813,1278,1281,1360 'pitfal':248,447,574,673,793,901,1054 'poll':637,672,677,701 'prefer':281 'prefix':1063 'prerequisit':46,325,336 'prevent':810 'princip':775,1284 'prompt':700 'public':849,919 'publish':19,823,833,844,846,869,894,902,1285,1288 'push':1230,1233 'queri':217,311,358,409,411,1145,1202 'quick':1133 'rate':706,1106,1114 'read':308 'readabl':504 'readon':772,796 'recipi':784 'refer':474,1134 'reflect':591 'reliabl':481 'remov':812,918 'request':668,1005 'requestid':666,1269 'requir':181,348,550,631,642,740,850,914,1358 'resolut':928 'resolv':184,187,246,257,936,1073,1153,1156 'respond':115 'respons':696,948,997,1120 'result':285,435,590 'retain':922 'return':132 'review':1351 'row':15,341,344,352,356,364,368,375,379,414,415,418,445,460,507,509,1014,1028,1048,1050,1083,1122,1126,1188,1192,1196,1199,1204,1208,1213,1216,1219 'rowidornam':1211,1238 'rube':8,30,44,47,52,60,68,79,106,112,118 'rube.app':83 'rube.app/mcp':82 'run':146 'safeti':1361 'schema':26,76 'scope':1332 'search':21,53,69,113,152,172,218,284,351,353,413,1140,1143,1195,1198 'second':711 'select/multi-select':1095 'send':801 'sensit':600 'sequenc':169,315,538,621,730,841 'server':88,588 'server-sid':587 'set':739,745,750,821,1037 'setup':77 'share':288,717,734,738,790,923,1271,1274 'show':143 'side':589 'signific':687 'size':1010 'skill':1308,1324 'skill-coda-automation' 'skip':788 'slug':888,891,1137,1291 'sort':434 'sortbi':431 'source-sickn33' 'space':452 'specif':211,355,367,393,558,657,1346 'start':627 'state':594 'status':142,636,639,671,678,680,1263,1267 'stop':1352 'string':253,1060,1064 'substitut':1342 'success':1364 'suppressemail':785,808 'tabl':14,299,312,319,321,335,340,382,403,405,448,949,951,957,962,1175,1178,1191 'table/column/row':1061 'tableidornam':404,979,1186,1194,1201,1210,1218,1228,1237 'take':686 'task':6,1135,1328 'temporari':698 'term':219 'test':1348 'text':517 'time':688 'token':1113 'tool':22,54,70,75,114,168,314,537,620,729,840,1136 'toolkit':42,64,122 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1337 'true':499 'type':516,1082,1088 'uniqu':277,478,1040 'unpublish':853,855,917,1292,1295 'updat':378,468,1132 'upsert':374,421,430,459,482,1015,1047,1125,1212,1215 'url':190,242,244,268,454,692,890,930,942,1078,1154,1159 'url-encod':453 'use':158,304,426,438,501,526,607,708,720,807,829,989,1072,1306,1322 'usecolumnnam':437,498 'user':159,230,291,305,527,608,721,760,780,830 'valid':1347 'valu':479,511,562,584,1035,1084,1100 'vari':1011 'verifi':105 'via':7,29,43,59,814,1124 'view':724,736 'want':160,306,528,609,722,831 'way':263 'whether':786 'within':201,278 'work':103,297 'workflow':148,150,1314 'write':309,773,797 'xyz':1071","prices":[{"id":"f00df0dd-8810-463c-a9fb-136ba020853e","listingId":"2a5e13df-78da-4340-acd2-8a3811b313cd","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:34:34.592Z"}],"sources":[{"listingId":"2a5e13df-78da-4340-acd2-8a3811b313cd","source":"github","sourceId":"sickn33/antigravity-awesome-skills/coda-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/coda-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:34:34.592Z","lastSeenAt":"2026-04-24T12:50:47.322Z"}],"details":{"listingId":"2a5e13df-78da-4340-acd2-8a3811b313cd","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"coda-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34882,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"e38f071f142cbba9659bb413362f5419bde3a184","skill_md_path":"skills/coda-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/coda-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"coda-automation","description":"Automate Coda tasks via Rube MCP (Composio): manage docs, pages, tables, rows, formulas, permissions, and publishing. Always search tools first for current schemas."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/coda-automation"},"updatedAt":"2026-04-24T12:50:47.322Z"}}