Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views. Always search tools first for current schemas.
.claude/skills/sickn33-airtable-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 75% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 21% | 0% |
| case-21 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-06 | ✓→✓ | = Same ✓ | 383% | 0% |
Automate Airtable operations through Composio's Airtable toolkit via Rube MCP.
RUBE_MANAGE_CONNECTIONS with toolkit airtableRUBE_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 airtableWhen to use: User wants to create, read, update, or delete records
Tool sequence:
AIRTABLE_LIST_BASES - Discover available bases Prerequisite]AIRTABLE_GET_BASE_SCHEMA - Inspect table structure Prerequisite]AIRTABLE_LIST_RECORDS - List/filter records Optional]AIRTABLE_CREATE_RECORD / AIRTABLE_CREATE_RECORDS - Create records Optional]AIRTABLE_UPDATE_RECORD / AIRTABLE_UPDATE_MULTIPLE_RECORDS - Update records Optional]AIRTABLE_DELETE_RECORD / AIRTABLE_DELETE_MULTIPLE_RECORDS - Delete records Optional]Key parameters:
baseId: Base ID (starts with 'app', e.g., 'appXXXXXXXXXXXXXX')tableIdOrName: Table ID (starts with 'tbl') or table namefields: Object mapping field names to valuesrecordId: Record ID (starts with 'rec') for updates/deletesfilterByFormula: Airtable formula for filteringtypecast: Set true for automatic type conversionPitfalls:
When to use: User wants to find specific records using formulas
Tool sequence:
AIRTABLE_GET_BASE_SCHEMA - Verify field names and types Prerequisite]AIRTABLE_LIST_RECORDS - Query with filterByFormula Required]AIRTABLE_GET_RECORD - Get full record details Optional]Key parameters:
filterByFormula: Airtable formula (e.g., {Status}='Done')sort: Array of sort objectsfields: Array of field names to returnmaxRecords: Max total records across all pagesoffset: Pagination cursor from previous responsePitfalls:
{} and match schema exactly{Status}='Active' not {Status}=ActiveWhen to use: User wants to create or modify table fields
Tool sequence:
AIRTABLE_GET_BASE_SCHEMA - Inspect current schema Prerequisite]AIRTABLE_CREATE_FIELD - Create a new field Optional]AIRTABLE_UPDATE_FIELD - Rename/describe a field Optional]AIRTABLE_UPDATE_TABLE - Update table metadata Optional]Key parameters:
name: Field nametype: Field type (singleLineText, number, singleSelect, etc.)options: Type-specific options (choices for select, precision for number)description: Field descriptionPitfalls:
When to use: User wants to view or add comments on records
Tool sequence:
AIRTABLE_LIST_COMMENTS - List comments on a record Required]Key parameters:
baseId: Base IDtableIdOrName: Table identifierrecordId: Record ID (17 chars, starts with 'rec')pageSize: Comments per page (max 100)Pitfalls:
Comparison:
{Status}='Done' - Equals{Priority}>1 - Greater than{Name}!='' - Not emptyFunctions:
AND({A}='x', {B}='y') - Both conditionsOR({A}='x', {A}='y') - Either conditionFIND('test', {Name})>0 - Contains textIS_BEFORE({Due Date}, TODAY()) - Date comparisonEscape rules:
{Name}='John''s Company')pageSize (max 100)offset stringoffset to next request unchangedID Formats:
appXXXXXXXXXXXXXX (17 chars)tblXXXXXXXXXXXXXX (17 chars)recXXXXXXXXXXXXXX (17 chars)fldXXXXXXXXXXXXXX (17 chars)Batch Limits:
| Task | Tool Slug | Key Params | |------|-----------|------------| | List bases | AIRTABLE_LIST_BASES | (none) | | Get schema | AIRTABLE_GET_BASE_SCHEMA | baseId | | List records | AIRTABLE_LIST_RECORDS | baseId, tableIdOrName | | Get record | AIRTABLE_GET_RECORD | baseId, tableIdOrName, recordId | | Create record | AIRTABLE_CREATE_RECORD | baseId, tableIdOrName, fields | | Create records | AIRTABLE_CREATE_RECORDS | baseId, tableIdOrName, records | | Update record | AIRTABLE_UPDATE_RECORD | baseId, tableIdOrName, recordId, fields | | Update records | AIRTABLE_UPDATE_MULTIPLE_RECORDS | baseId, tableIdOrName, records | | Delete record | AIRTABLE_DELETE_RECORD | baseId, tableIdOrName, recordId | | Create field | AIRTABLE_CREATE_FIELD | baseId, tableIdOrName, name, type | | Update field | AIRTABLE_UPDATE_FIELD | baseId, tableIdOrName, fieldId | | Update table | AIRTABLE_UPDATE_TABLE | baseId, tableIdOrName, name | | List comments | AIRTABLE_LIST_COMMENTS | baseId, tableIdOrName, recordId |
This skill is applicable to execute the workflow or actions described in the overview.
User request:
> Automate Airtable tasks via Rube MCP (Composio): records, bases, tables, fields, views.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | fail→pass | 10,361 | 1,946 | -81% | 1 | 1 | 0% | 1,734 | 2,206 | +27% | 0 | 0 | — |
case-01 | fail→fail | 5,461 | 5,764 | +6% | 1 | 1 | 0% | 616 | 2,332 | +279% | 0 | 0 | — |
case-02 | fail→fail | 8,193 | 5,104 | -38% | 1 | 1 | 0% | 327 | 2,206 | +575% | 0 | 0 | — |
case-03 | fail→fail | 4,610 | 5,303 | +15% | 1 | 1 | 0% | 450 | 2,328 | +417% | 0 | 0 | — |
case-05 | fail→fail | 3,627 | 2,259 | -38% | 1 | 1 | 0% | 566 | 2,244 | +296% | 0 | 0 | — |
case-06 | pass→pass | 2,885 | 2,340 | -19% | 1 | 1 | 0% | 476 | 2,298 | +383% | 0 | 0 | — |
case-07 | pass→pass | 6,772 | 3,551 | -48% | 1 | 1 | 0% | 1,181 | 2,537 | +115% | 0 | 0 | — |
case-08 | fail→pass | 8,492 | 4,529 | -47% | 1 | 1 | 0% | 1,524 | 2,660 | +75% | 0 | 0 | — |
case-09 | pass→pass | 6,777 | 3,790 | -44% | 1 | 1 | 0% | 1,231 | 2,490 | +102% | 0 | 0 | — |
case-10 | pass→pass | 7,633 | 4,605 | -40% | 1 | 1 | 0% | 1,424 | 2,718 | +91% | 0 | 0 | — |
case-11 | pass→pass | 4,393 | 2,295 | -48% | 1 | 1 | 0% | 820 | 2,247 | +174% | 0 | 0 | — |
case-12 | pass→pass | 3,711 | 1,723 | -54% | 1 | 1 | 0% | 703 | 2,138 | +204% | 0 | 0 | — |
case-13 | fail→pass | 11,944 | 3,798 | -68% | 1 | 1 | 0% | 2,053 | 2,486 | +21% | 0 | 0 | — |
case-14 | pass→pass | 3,805 | 2,691 | -29% | 1 | 1 | 0% | 654 | 2,328 | +256% | 0 | 0 | — |
case-15 | pass→pass | 2,087 | 2,335 | +12% | 1 | 1 | 0% | 385 | 2,296 | +496% | 0 | 0 | — |
case-16 | pass→pass | 4,660 | 2,612 | -44% | 1 | 1 | 0% | 819 | 2,257 | +176% | 0 | 0 | — |
case-17 | pass→pass | 5,359 | 3,059 | -43% | 1 | 1 | 0% | 945 | 2,281 | +141% | 0 | 0 | — |
case-18 | pass→pass | 4,155 | 2,998 | -28% | 1 | 1 | 0% | 767 | 2,437 | +218% | 0 | 0 | — |
case-19 | pass→pass | 7,062 | 2,881 | -59% | 1 | 1 | 0% | 1,185 | 2,405 | +103% | 0 | 0 | — |
case-20 | pass→pass | 2,273 | 1,817 | -20% | 1 | 1 | 0% | 465 | 2,176 | +368% | 0 | 0 | — |
case-21 | fail→pass | 8,127 | 4,004 | -51% | 1 | 1 | 0% | 1,541 | 2,619 | +70% | 0 | 0 | — |
case-22 | pass→pass | 9,833 | 6,572 | -33% | 1 | 1 | 0% | 1,342 | 3,103 | +131% | 0 | 0 | — |
case-23 | pass→pass | 9,580 | 12,338 | +29% | 1 | 1 | 0% | 1,601 | 3,043 | +90% | 0 | 0 | — |
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. 23 cases were attempted, and 20 counted toward the lift figure. The other 3 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 +17 percentage points is the difference between those two pass rates over the 20 comparable cases.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.