Skip to content
airtable-master logo

Airtable Master

airtable-master

Shared resource library for Airtable integration skills. DO NOT load directly - provides common references (setup, API docs, error handling, field types) and scripts used by airtable-connect, airtable-query, and airtable-sync.

SKILL.md

Full skill instructions

Airtable Master

This is NOT a user-facing skill. It's a shared resource library.

Purpose

Provides shared resources to eliminate duplication across:

  • airtable-connect - Connect to bases, discover schema
  • airtable-query - Query records with filters
  • airtable-sync - Import/​export records

Instead of loading this skill, users invoke the specific skill above.


Architecture: DRY Principle

Problem solved: Multiple Airtable skills would have duplicated content (setup instructions, API docs, error handling).

Solution: Extract shared content into references/ and scripts/.

Result: Single source of truth, reduced context per skill.


Shared Resources

references/

setup-guide.md - Complete setup wizard

  • Creating Personal Access Token (PAT)
  • Configuring .env file
  • Selecting scopes
  • Validation steps

api-reference.md - API patterns

  • Base URL and headers
  • Key endpoints (bases, tables, records)
  • Pagination
  • Batch operations
  • Rate limits

error-handling.md - Troubleshooting

  • HTTP error codes (401, 403, 404, 422, 429)
  • Recovery patterns
  • Debugging tips

field-types.md - Field type reference

  • All 20+ Airtable field types
  • Read and write formats
  • Type-specific validation

scripts/

Configuration & Setup

check_airtable_config.py - Pre-flight validation

python check_airtable_config.py [--verbose] [--json]
ArgumentRequiredDefaultDescription
--verbose / -vNoFalseShow detailed output
--jsonNoFalseOutput structured JSON for AI consumption

Exit codes: 0=configured, 1=partial (no bases), 2=not configured

When to Use: Run this FIRST before any Airtable operation. Use to validate PAT is configured, test API connection, check base access, or diagnose authentication issues.


setup_airtable.py - Interactive setup wizard

python setup_airtable.py [--non-interactive] [--api-key KEY]
ArgumentRequiredDefaultDescription
--non-interactiveNoFalseSkip prompts (requires API key)
--api-keyNo-API key for non-interactive mode

Default: Runs interactively. Guides through PAT creation, tests connection, saves to .env, auto-runs base discovery.

When to Use: Use when Airtable integration needs initial setup, when check_airtable_config.py returns exit code 2, or when user needs to reconfigure credentials or switch workspaces.


discover_bases.py - Base discovery (GET /​meta/​bases)

python discover_bases.py [--refresh] [--json] [--with-schema]
ArgumentRequiredDefaultDescription
--refreshNoFalseForce re-discovery even if cache exists
--jsonNoFalseOutput as JSON only (no progress messages)
--with-schemaNoFalseAlso fetch table schemas (slower)

Saves to: 01-memory/​integrations/​airtable-bases.yaml

When to Use: Use when user asks "what bases do I have", "list my airtable bases", "show tables", after adding new bases, or when base/​table name resolution fails (--refresh to update cache).


Record Operations

query_records.py - Query records from table (GET /​{baseId}/​{tableIdOrName})

python query_records.py --base BASE --table TABLE [--filter FORMULA] [--fields FIELDS] [--view VIEW] [--sort FIELD] [--limit N] [--json] [--verbose]
ArgumentRequiredDefaultDescription
--baseYes-Base ID (appXXX) or name
--tableYes-Table ID (tblXXX) or name
--filterNo-Airtable formula filter
--fieldsNo-Comma-separated field names to retrieve
--viewNo-View ID or name
--sortNo-Sort field (prefix with - for descending)
--limitNo-Max records to return
--jsonNoFalseOutput as JSON
--verbose / -vNoFalseShow debug info

Filter Formula Examples:

--filter "{Status}='Active'"
--filter "AND({Status}='Active', {Priority}='High')"
--filter "SEARCH('john', LOWER({Name}))"
--filter "{Due Date} < TODAY()"

When to Use: Use when user wants to read records from a table, search with filters, list data from Airtable, or retrieve specific records. Supports Airtable formula syntax for complex filters.


manage_records.py - CRUD operations (POST/​PATCH/​PUT/​DELETE /​{baseId}/​{tableIdOrName})

# Create record(s)
python manage_records.py create --base BASE --table TABLE --data JSON [--file FILE] [--typecast] [--json] [--verbose]

# Update record(s)
python manage_records.py update --base BASE --table TABLE --record RECID --data JSON [--file FILE] [--typecast] [--replace] [--json] [--verbose]

# Delete record(s)
python manage_records.py delete --base BASE --table TABLE --record RECID [--file FILE] [--json] [--verbose]
ArgumentRequiredDefaultDescription
actionYes-Action: create, update, delete (positional)
--baseYes-Base ID (appXXX) or name
--tableYes-Table ID (tblXXX) or name
--recordNo*-Record ID (for update/​delete single record)
--dataNo*-JSON data for fields
--fileNo*-JSON file with record(s) data
--typecastNoFalseEnable automatic type conversion
--replaceNoFalseReplace mode for update (PUT vs PATCH)
--jsonNoFalseOutput as JSON
--verbose / -vNoFalseShow debug info

*For create: --data or --file required *For update: --record + --data or --file required *For delete: --record or --file required

Usage Examples:

# Create a single record
python manage_records.py create --base "My CRM" --table "Contacts" \
    --data '{"Name": "John Doe", "Email": "[email protected]"}'

# Create multiple records from file
python manage_records.py create --base appXXX --table tblYYY --file records.json

# Update a record
python manage_records.py update --base "Tasks" --table "Tasks" \
    --record recXXX --data '{"Status": "Done"}'

# Delete a record
python manage_records.py delete --base "Tasks" --table "Tasks" --record recXXX

# Batch operations with typecast
python manage_records.py create --base "CRM" --table "Leads" \
    --file leads.json --typecast

Batch Limits: Max 10 records per API call (script handles batching automatically)

When to Use: Use create when user wants to add new records, update to modify existing records (PATCH=partial, PUT=replace), delete to remove records. Supports batch operations from JSON files.


Intelligent Error Detection Flow

When an Airtable skill fails due to missing configuration, the AI should:

Step 1: Run Config Check with JSON Output

python 00-system/​skills/​airtable/​airtable-master/​scripts/​check_airtable_config.py --json

Step 2: Parse the ai_action Field

The JSON output includes an ai_action field that tells the AI what to do:

ai_actionWhat to Do
proceed_with_operationConfig OK, continue with the original operation
proceed_with_warningPartial config (API works but no bases accessible)
prompt_for_api_keyAsk user: "I need your Airtable API key. Get one at https://airtable.com/create/tokens"
run_setup_wizardRun: python 00-system/​skills/​airtable/​airtable-master/​scripts/​setup_airtable.py

Step 3: Help User Fix Issues

If ai_action is prompt_for_api_key:

  1. Tell user: "Airtable integration needs setup. I need your Personal Access Token (PAT)."
  2. Show them: "Get one at: https://airtable.com/create/tokens"
  3. Guide them through scopes: "Add scopes: data.records:read, data.records:write, schema.bases:read"
  4. Ask: "Paste your Airtable PAT here (starts with 'pat.'):"
  5. Once they provide it, write directly to .env:
    # Edit .env file to add:
    AIRTABLE_API_KEY=pat.their_token_here
    
  6. Re-run config check to verify

JSON Output Structure

{
  "status": "not_configured",
  "exit_code": 2,
  "ai_action": "prompt_for_api_key",
  "missing": [
    {"item": "AIRTABLE_API_KEY", "required": true, "location": ".env"}
  ],
  "fix_instructions": [...],
  "env_template": "AIRTABLE_API_KEY=pat.YOUR_TOKEN_HERE",
  "setup_wizard": "python 00-system/​skills/​airtable/​airtable-master/​scripts/​setup_airtable.py"
}

How Skills Reference This

Each skill loads shared resources only when needed (progressive disclosure):

airtable-connect uses:

  • check_airtable_config.py (validate before connection)
  • discover_bases.py (find and cache bases)
  • api-reference.md (schema endpoints)
  • error-handling.md (troubleshooting)

airtable-query uses:

  • check_airtable_config.py (validate before query)
  • query_records.py (list/​filter records)
  • api-reference.md (query patterns)
  • field-types.md (interpret results)

airtable-sync uses:

  • check_airtable_config.py (validate before sync)
  • manage_records.py (CRUD operations)
  • api-reference.md (batch patterns)
  • error-handling.md (recovery)

Usage Example

User says: "query my Projects base in Airtable"

What happens:

  1. AI loads airtable-connect (NOT airtable-master)
  2. airtable-connect SKILL.md says: "Run check_airtable_config.py first"
  3. AI executes: python 00-system/​skills/​airtable/​airtable-master/​scripts/​check_airtable_config.py --json
  4. If exit code 2, AI prompts user for API key and helps them set up
  5. If exit code 0, AI executes: python 00-system/​skills/​airtable/​airtable-master/​scripts/​query_records.py --base "Projects"
  6. If errors occur, AI loads: airtable-master/​references/​error-handling.md

airtable-master is NEVER loaded directly - it's just a resource library.


Key Differences from Notion

AspectAirtableNotion
AuthPersonal Access Token (PAT)Integration Token
Rate Limit5 req/​s per base3 req/​s
Batch Size10 recordsVariable
PaginationOffset-basedCursor-based
Field Types20+ types20+ property types

Version: 1.3 Created: 2025-12-11 Updated: 2025-12-11 Status: Production Ready

Changelog:

  • v1.3: Added "When to Use" sections to all 5 scripts for AI routing guidance
  • v1.2: Added comprehensive script argument documentation with usage examples and argument tables
  • v1.1: Added Intelligent Error Detection Flow with --json support, added setup_airtable.py
  • v1.0: Initial release

More Productivity & Planning skills

brainstorming logo
Productivity & Planning

brainstorming

Structured design dialogue that validates ideas before implementation begins.

295.4K 385.7K
View
ui-ux-pro-max logo
Productivity & Planning

ui-ux-pro-max

Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.

133.1K 383.9K
View
writing-plans logo
Productivity & Planning

writing-plans

Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.

295.4K 268K
View
using-superpowers logo
Productivity & Planning

using-superpowers

Introduction to the obra skills system with mandatory skill invocation rules and best practices.

295.4K 259.8K
View
executing-plans logo
Productivity & Planning

executing-plans

Execute a written implementation plan with critical review and task checkpoints.

295.4K 229.1K
View
dispatching-parallel-agents logo
Productivity & Planning

dispatching-parallel-agents

Delegate independent tasks to specialized agents working concurrently with isolated context.

295.4K 206.3K
View
using-git-worktrees logo
Productivity & Planning

using-git-worktrees

Isolated git worktrees with smart directory selection and safety verification.

295.4K 205.2K
View
webapp-testing logo
Productivity & Planning

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

179.7K 170.6K
View
content-strategy logo
Productivity & Planning

content-strategy

Plan searchable and shareable content that drives traffic, builds authority, and generates leads.

53.3K 150.9K
View
repo-intake-and-plan logo
Productivity & Planning

repo-intake-and-plan

README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.

497 139.6K
View
marketing-ideas logo
Productivity & Planning

marketing-ideas

Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.

53.3K 137.2K
View
site-architecture logo
Productivity & Planning

site-architecture

Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.

53.3K 112.8K
View

Productivity AI tools

Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View
SaveDay logo
Productivity

SaveDay

Capture, organize, and utilize your knowledge effortlessly.

Free
View
A
Productivity

Any Summary

Instant Summaries of Audio & Video Interviews with AnySummary

Freemium
View
M
Productivity

Map This

Transform PDFs into engaging mind maps.

Freemium
View
ChatPDF logo
Productivity

ChatPDF

Chat with any PDF instantly

Free
View
I
Productivity

intellisay

Create an optimal daily plan using your voice

Paid
View
A
Productivity

Aurora AI

A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.

Paid
View
AskYourPDF logo
Productivity

AskYourPDF

AskYourPDF Pricing Plans: Tailored to Your Needs

Free
View