Airtable Utils — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Airtable Utils (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
Aggregate score unchanged between these scans.
The primary manifest — the file an agent reads to learn what this artifact does.
A collection of useful tools and guidance for working with Airtable. Can be used in two ways:
bin/ scripts directly from the command line (requires uv), or copy the airtable-scripting skill into any Claude (Code) session manuallyairtable-scriptingComprehensive guidance for writing Airtable scripts both as Scripting Extensions (manual) and Automation Scripts (triggered). Covers the Scripting API, Web API integration, all field types, batching, error handling, and common patterns.
Use this skill when writing scripts for the user to paste into Airtable.
Standalone use: You can use this skill without installing the plugin. Copy skills/airtable-scripting.md and load it manually in any Claude Code session.For Claude to directly read or write Airtable data, use an MCP server. There are two main options:
>
- Official — theairtable@claude-plugins-officialplugin bundles Airtable's hosted MCP server (https://mcp.airtable.com/mcp). It uses OAuth (or a PAT), needs nothing to run locally, and is the only one that can read Interface pages and create whole bases. It also ships official agent skills. Record creation is capped at 10 per request. - Community —airtable-mcp-serverby domdomegg is self-hosted (run vianpxor its HTTP transport), authenticates with a PAT only, and is the option that can delete records and work with record comments. Note its HTTP transport has no built-in auth, so only run it behind a reverse proxy or in a secured environment.
>
Both cover the common ground: read/search records, create/update records, and create/update tables and fields. Pick the official one for lower-friction setup and Interface/base support; pick the community one for self-hosted control, record deletion, or comments.
airtable-schemaRuns airtable-export-schema to dump a base's full schema (tables, fields, views) to JSON and Markdown. Use this before writing scripts so you have accurate IDs.
airtable-schema-diffRuns airtable-diff-schema to compare two schema JSON exports and produce a Markdown diff showing tables/fields/views that were added, removed, renamed, or had their type changed.
airtable-standards-checkRuns airtable-check-standards to validate a schema JSON file against the BlueDot Impact Airtable Standards. Outputs a Markdown report grouped by table, listing errors and warnings. No API token or network access needed.
airtable-user-scrapingRuns airtable-scrape-users to scrape collaborator access data from Airtable bases, grouped by workspace. Outputs per-workspace CSVs showing who has access to what.
⚠️ The user scraper violates Airtable's Acceptable Use Policy. Use at your own risk.
Scripts live in bin/ and use PEP 723 inline script metadata so uv handles dependencies automatically — no virtualenv setup needed.
When installed as a plugin, Claude can call these scripts directly. For terminal access by you, see the note in the Installation section below.
airtable-export-schemaExports a base's schema via the Airtable API. Writes {base_id}_{name}_{timestamp}_schema.json/.md to the current directory. Both outputs include per-table stats (field count, view count, and primary field name) plus base-wide totals, all derived from the schema with no extra API calls — the JSON carries them in a summary object and the Markdown shows them in the header and per-table headings. The Markdown output also includes an Options column summarising each field's configuration (precision, date/time format, select choices, linked tables, rollup/lookup sources, etc.), shown in full without truncation.
Dependencies: requests (installed automatically by uv)
airtable-export-schema --token YOUR_PAT --base appXXXXXXXXXX
# or use a .env with AIRTABLE_TOKEN and AIRTABLE_BASE_ID
airtable-export-schemaairtable-diff-schemaCompares two schema JSON files produced by airtable-export-schema. Outputs a Markdown diff of tables, fields, and views — detecting renames by entity ID.
Dependencies: none (stdlib only)
airtable-diff-schema old_schema.json new_schema.json
airtable-diff-schema old.json new.json --output diff.mdairtable-check-standardsValidates a schema JSON file against the BlueDot Impact Airtable Standards. Outputs a Markdown report grouped by table. Exits with code 1 if any errors are found (CI-friendly).
Dependencies: none (stdlib only)
airtable-check-standards schema.json
airtable-check-standards schema.json --errors-only # suppress warnings
airtable-check-standards schema.json --output report.md # write to fileairtable-scrape-usersScrapes user/collaborator data from the Airtable web UI (the API doesn't expose this on the Team plan). Writes output to output/ in the current directory.
Dependencies: playwright, aiohttp (installed automatically by uv) One-time browser install: playwright install chromium
airtable-scrape-users --login # first-time auth
airtable-scrape-users --from-api --save-config # discover bases
airtable-scrape-users # scrapeCredentials are resolved in order: CLI flags → environment variables → `.env` file (current working directory, then the script's directory).
Place a .env file in the directory you run the commands from:
AIRTABLE_TOKEN=patXXXXXXXXXX # for airtable-export-schema
AIRTABLE_API_KEY=patXXXXXXXXXX # for airtable-scrape-users
AIRTABLE_BASE_ID=appXXXXXXXX # optional, for airtable-export-schemaAlternatively, if you manage secrets with fnox, wrap any command so the secrets referenced in your fnox.toml are resolved at run time:
fnox exec -- airtable-export-schema # resolves secrets from fnox.toml at run timeThe missing-credential error messages suggest the fnox exec form only when fnox is installed.
The repo serves as its own marketplace. Add it once, then install the plugin:
/plugin marketplace add mickzijdel/airtable-utils
/plugin install airtable-utils@airtable-utilsNote: Thebin/scripts are added to Claude's PATH within sessions, but not to your terminal's PATH. To call them from your own shell, run this once after installing (and again after updating): ``bash ln -sf ~/.claude/plugins/cache/airtable-utils/airtable-utils/*/bin/airtable-* ~/.local/bin/`This symlinks the scripts into~/.local/bin/`, which is on PATH by default on most Linux and macOS systems.
SSH error? If installation fails with[email protected]: Permission denied (publickey), Claude Code is trying to clone via SSH. Either add an SSH key to your GitHub account, or run this once to redirect GitHub clones to HTTPS instead: ``bash git config --global url."https://github.com/".insteadOf "[email protected]:"`` Then retry the install.
For local testing without installing:
claude --plugin-dir /path/to/airtable-utilsSkills are namespaced after install: /airtable-utils:airtable-scripting, /airtable-utils:airtable-schema, /airtable-utils:airtable-schema-diff, /airtable-utils:airtable-standards-check, /airtable-utils:airtable-user-scraping.
git clone https://github.com/mickzijdel/airtable-utils
cd airtable-utils
# Run any script directly — uv handles dependencies automatically
bin/airtable-export-schema --help~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.