airtable
Skill159 starsChanged 6 months agoMITView on GitHub
Search Airtable bases and tables, read records and computed fields, and prepare guarded record CRUD requests with schema-based field validation.
We split this skill into the rules it gives an agent
25 rules. 0 are common, 18 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 22 edited versions we read keep these.
18
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 51
Use this skill for Airtable Web API work: base and table discovery, schema inspection, record reads, field-aware record creation and …
- Distinctive: line 62
create, update, and delete records only after explicit operator grant
- Distinctive: line 66
read formula, lookup, rollup, count, autonumber, created time, and last modified time fields as normal record values
- Very specific: line 96
Do not try to verify AIRTABLE_PAT with bash, environment inspection, or by asking the model whether the secret exists.
- Distinctive: line 102
If the error says the secret is blocked by policy, report a policy/runtime configuration problem instead of asking the operator to set the …
- Distinctive: line 134
Start with base and table discovery unless the base id and table id are already known.
- Very specific: line 136
If the user asks to list tables and does not provide a base id, first call list-bases through http_request, then call schema --base-id ...
- Distinctive: line 139
Read table schema before writes so field ids, field types, select choices, and computed fields are known.
- Very specific: line 141
Use plan for natural-language requests when you need a mutation tier before execution.
- Very specific: line 143
Use validate-fields or --schema-file on write payload builders before creating or updating records.
- Distinctive: line 149
Prefer table ids and field ids over names for durable automation.
- Distinctive: line 151
When deleting records, use exact record ids only.
- Distinctive: line 155
Run the colocated helper with Node:
- Distinctive: line 217
Create or update a record only after explicit operator grant:
- Distinctive: line 245
Delete a record only after explicit operator grant:
- Distinctive: line 255
Run offline eval scenarios:
- Distinctive: line 263
When table metadata is available, the helper validates common writable field types before emitting write payloads:
- Distinctive: line 301
Read operations and computed-field reads are green tier.
- Distinctive: line 305
Never print or ask for the Airtable PAT or OAuth token.
- Distinctive: line 306
Never use legacy API keys in new setup guidance.
- Very specific: line 308
Do not claim AIRTABLE_PAT is missing unless http_request returns an explicit missing/forbidden/unresolved secret error.
- Distinctive: line 311
Treat formula, lookup, rollup, count, autonumber, and timestamp fields as read-only.
- Distinctive: line 313
Prefer record ids for writes and deletes.
- Very specific: line 315
Use base ids that start with app and record ids that start with rec.
- Distinctive: line 316
Keep list calls paginated.
“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Airtable
Use this skill for Airtable Web API work: base and table discovery, schema inspection, record reads, field-aware record creation and updates, attachment field payloads, formula/lookup/rollup reads, and carefully gated deletes.
Scope
- list accessible bases
- inspect base table schemas, field ids, field names, field types, and select choices
- list records with pagination, views, field selection, and
filterByFormula - fetch a single record by id
- create, update, and delete records only after explicit operator grant
- validate field values against Airtable metadata before writes when schema is available
- prepare attachment field values from public
http(s)URLs - read formula, lookup, rollup, count, autonumber, created time, and last modified time fields as normal record values
- refuse writes to computed/read-only field types
- measure skill run cost through normal HybridClaw
UsageTotals
Credential Rules
Airtable uses Personal Access Tokens or OAuth bearer tokens. Store the token in HybridClaw encrypted runtime secrets; never paste it into the prompt.
Recommended setup order:
- Browser admin: open the active HybridClaw admin URL ending in
/admin/secretsand setAIRTABLE_PAT. - Browser
/chator TUI fallback:/secret set AIRTABLE_PAT "<pat-or-oauth-access-token>". - Local console fallback:
hybridclaw secret set AIRTABLE_PAT "<pat-or-oauth-access-token>"For live API calls inside HybridClaw, use the helper to build the
http_request payload wrapper, then pass the emitted inner httpRequest object
to the built-in http_request tool. The helper sets
bearerSecretName: "AIRTABLE_PAT" on that inner object so the gateway injects
the bearer token server-side. Do not use bash/curl for live Airtable calls when
http_request is available, and do not ask the user to store a HybridClaw
gateway token as an Airtable secret.
Do not try to verify AIRTABLE_PAT with bash, environment inspection, or by
asking the model whether the secret exists. The model cannot inspect the gateway
secret store. If the operator says the secret was set, attempt the
http_request call with bearerSecretName: "AIRTABLE_PAT". Only say the secret
is missing if the built-in http_request tool returns a gateway error that
explicitly says AIRTABLE_PAT is not set, unavailable, missing, or unresolved.
If the error says the secret is blocked by policy, report a policy/runtime
configuration problem instead of asking the operator to set the same secret
again.
Required Airtable PAT scopes depend on the task:
- base discovery:
schema.bases:read - schema inspection:
schema.bases:read - record reads:
data.records:read - record creates, updates, attachments, and deletes:
data.records:write
Error Interpretation
- Gateway errors saying
AIRTABLE_PATis not set, unavailable, missing, or unresolved: the active gateway runtime cannot resolve that stored secret. Ask the operator to set it in the same HybridClaw runtime/session in this order: browser admin at the active/admin/secretsroute,/secret set AIRTABLE_PAT <pat>in browser/chator TUI, then local console fallbackhybridclaw secret set AIRTABLE_PAT <pat>, then start a fresh agent runtime if the gateway was already running. - Gateway errors saying
AIRTABLE_PATis blocked by secret resolution policy: report that the stored secret exists but policy/runtime access blocked the injection path. Do not ask the operator to set the same secret again. - Airtable 401 or 403 responses: the gateway injected a token, but Airtable rejected it or the PAT lacks the needed scopes/base access. Ask the operator to check PAT scopes and base access; do not say the secret is unconfigured.
- Network or Airtable 5xx responses: report the upstream failure and retry only if the user asks.
Default Workflow
- Start with base and table discovery unless the base id and table id are already known.
- If the user asks to list tables and does not provide a base id, first call
list-basesthroughhttp_request, then callschema --base-id ...for each relevant base returned by Airtable. - Read table schema before writes so field ids, field types, select choices, and computed fields are known.
- Use
planfor natural-language requests when you need a mutation tier before execution. - Use
validate-fieldsor--schema-fileon write payload builders before creating or updating records. - For writes, stop unless the operator has granted that exact mutation in the current task.
- Pass
--operator-grantonly after explicit approval or an approved F14 escalation. - Prefer table ids and field ids over names for durable automation. Table names work but are rename-sensitive.
- When deleting records, use exact record ids only.
Command Contract
Run the colocated helper with Node:
node skills/airtable/airtable.cjs --helpPlan a natural-language request without contacting Airtable:
node skills/airtable/airtable.cjs plan "Update the status field on this Airtable task"List bases:
node skills/airtable/airtable.cjs http-request list-basesThe helper prints a wrapper such as
{ "command": "http-request", "httpRequest": { ... } }. Pass only the
httpRequest value to the built-in http_request tool.
Get base schema:
node skills/airtable/airtable.cjs http-request schema --base-id appXXXXXXXXXXXXXXList records:
node skills/airtable/airtable.cjs http-request list-records \
--base-id appXXXXXXXXXXXXXX \
--table tblXXXXXXXXXXXXXX \
--field Name \
--field Status \
--filter-by-formula "{Status} = 'Active'" \
--page-size 100Airtable returns list-record results in pages of up to 100 records. If the
response includes offset, run the same command with --offset <offset> to
fetch the next page.
Get a record:
node skills/airtable/airtable.cjs http-request get-record \
--base-id appXXXXXXXXXXXXXX \
--table tblXXXXXXXXXXXXXX \
--record-id recXXXXXXXXXXXXXXValidate fields offline against a saved schema:
node skills/airtable/airtable.cjs validate-fields \
--schema-file /tmp/airtable-schema.json \
--table Pipeline \
--fields-json '{"Status":"Active","Amount":1200,"Due Date":"2026-05-31"}'Create or update a record only after explicit operator grant:
node skills/airtable/airtable.cjs http-request create-record \
--base-id appXXXXXXXXXXXXXX \
--table tblXXXXXXXXXXXXXX \
--fields-json '{"Name":"Acme GmbH","Status":"New"}' \
--schema-file /tmp/airtable-schema.json \
--operator-grant
node skills/airtable/airtable.cjs http-request update-record \
--base-id appXXXXXXXXXXXXXX \
--table tblXXXXXXXXXXXXXX \
--record-id recXXXXXXXXXXXXXX \
--fields-json '{"Status":"Closed"}' \
--schema-file /tmp/airtable-schema.json \
--operator-grantPrepare an attachment field value:
node skills/airtable/airtable.cjs attachment-payload \
--field Files \
--url https://example.com/signed-contract.pdf \
--filename signed-contract.pdfDelete a record only after explicit operator grant:
node skills/airtable/airtable.cjs http-request delete-record \
--base-id appXXXXXXXXXXXXXX \
--table tblXXXXXXXXXXXXXX \
--record-id recXXXXXXXXXXXXXX \
--operator-grantRun offline eval scenarios:
node skills/airtable/airtable.cjs eval-scenariosField Validation
When table metadata is available, the helper validates common writable field types before emitting write payloads:
- text-like fields require strings
- number, currency, percent, rating, and duration require finite numbers
- checkbox requires boolean
- date requires
YYYY-MM-DD - dateTime requires an ISO datetime string
- single select requires one known choice when choices are present
- multiple select requires an array of known choice strings when choices are present
- linked records require Airtable record id arrays
- attachments require an array of objects with
urlfor new files oridfor existing files; new attachment URLs must be publichttp(s)URLs and must not target localhost, private, or link-local IP ranges - collaborator and barcode fields require Airtable-shaped objects
Unknown field types are allowed after schema lookup so newly introduced Airtable types do not block read-preserving updates unnecessarily. Unknown field names or ids are refused.
Computed Fields
Formula, lookup, rollup, count, autonumber, created time, last modified time, created by, and last modified by fields are read-only. Include them in record read field selections when the user asks for computed values. Do not include them in create or update payloads.
Conservative Mutations
These operations require --operator-grant:
create-recordupdate-recorddelete-record- attachment updates through
create-recordorupdate-record
Deletes are red tier. Creates, updates, and attachment updates are amber tier. Read operations and computed-field reads are green tier.
Working Rules
- Never print or ask for the Airtable PAT or OAuth token.
- Never use legacy API keys in new setup guidance.
- For live API calls, use
http-requestplus the built-inhttp_requesttool. - Do not claim
AIRTABLE_PATis missing unlesshttp_requestreturns an explicit missing/forbidden/unresolved secret error. - Fetch schema before writes when the base/table is unfamiliar.
- Treat formula, lookup, rollup, count, autonumber, and timestamp fields as read-only.
- Prefer record ids for writes and deletes. If a lookup returns multiple records, stop and ask for the exact record id.
- Use base ids that start with
appand record ids that start withrec. - Keep list calls paginated; Airtable returns at most 100 records per page.
- Respect Airtable's per-base API rate limit. Avoid loops that hammer one base.
- Cost per assistant run is recorded by HybridClaw
UsageTotals; helper output includescostMeasurement.system = "UsageTotals"so evals can verify the accounting contract.
References
- Airtable Web API getting started and pagination: https://support.airtable.com/docs/getting-started-with-airtables-web-api
- Airtable API call limits and rate limits: https://support.airtable.com/docs/managing-api-call-limits-in-airtable
- Airtable field types: https://support.airtable.com/docs/supported-field-types-in-airtable-overview
- Airtable formula and computed field behavior: https://support.airtable.com/docs/formula-field-reference
Validation
Run:
python3 skills/skill-creator/scripts/quick_validate.py skills/airtable
node skills/airtable/airtable.cjs --help
node skills/airtable/airtable.cjs eval-scenarios
node skills/airtable/airtable.cjs validate-fields --schema-file skills/airtable/fixtures/schema.json --table Pipeline --fields-json '{"Status":"Active","Amount":1200,"Files":[{"url":"https://example.com/file.pdf"}]}'Other versions22 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 22
- NousResearch/hermes-agent★ 257ksame name
- aivrar/portable-hermes-agent★ 239same name
- refly-ai/refly-skills★ 203same name
- wundercorp/loki★ 25same name
- delorenj/skills★ 16same name
- Samin12/skills★ 8same name
- jholhewres/devclaw-skills★ 4same name
- qhkm/zeptoclaw-skills★ 4same name
- D1DX/airtable-skill★ 3same name
- john-data-chen/hermes-agent-backup★ 2same name
12 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use competitor-news-monitor, document-to-action-items and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
aivrarSkillcompetitor-news-monitor
Watch named companies for material news; cited digests.
Also in 3 projects that use this
aivrarSkilldocument-to-action-items
Extract cited obligations, deadlines, tasks from documents.
Also in 3 projects that use this
john-data-chenSkillteams-meeting-pipeline
Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.
Also in 3 projects that use this
Tommy-ywSkillsongwriting-and-ai-music
Songwriting craft, AI music generation prompts (Suno focus), parody/adaptation techniques, phonetic tricks, and lessons learned. These are tools and ideas, not rules. Break any of them when the art calls for it.
Also in 3 projects that use this
mae616Skillp5js
p5.js(クリエイティブコーディング)のProcessing由来「コードでスケッチ」思想を軸に、setup/drawループ・座標系・インタラクション・パフォーマンス最適化を整理する。p5.js、Processing、クリエイティブコーディング、ジェネラティブアート、インタラクティブ表現、ビジュアルプログラミング、Canvas描画、パーティクル、フラクタル、ノイズ表現に関する相談で必ず使うこと。ユーザーが「コードでアート」「動くビジュアル」「インタラクティブな描画」と言った場合にも適用する。
Also in 3 projects that use this
math-incSkillascii-video
Production pipeline for ASCII art video — any format. Converts video/audio/images/generative input into colored ASCII character video output (MP4, GIF, image sequence). Covers: video-to-ASCII conversion, audio-reactive music visualizers, generative ASCII art animations, hybrid video+audio reactive, text/lyrics overlays, real-time terminal rendering. Use when users request: ASCII video, text art video, terminal-style video, character art animation, retro text visualization, audio visualizer in ASCII, converting video to ASCII art, matrix-style effects, or any animated ASCII output.
Also in 3 projects that use this
- +4 more from aivrar
In this repository91 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/llm-wiki/templates/AGENTS.mdAGENTS.md
- templates/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- 1passwordSkill
- agentic-tpmSkill
- alexaSkill
- apple-calendarSkill
- apple-musicSkill
- apple-passwordsSkill
- bahnSkill
- blinkSkill
- bookingSkill
- brand-voiceSkill
- byd-batterySkill
- channel-catchupSkill
- code-reviewSkill
- code-simplificationSkill
- current-timeSkill
- diagramSkill
- discordSkill
- distil-pii-redactorSkill
- docxSkill
- download-platform-invoicesSkill
- excalidrawSkill
- fastbillSkill
- fax-sendSkill
- feature-planningSkill
- firecrawlSkill
- froniusSkill
- ga4Skill
- gh-issuesSkill
- github-pr-workflowSkill
- gogSkill
- google-adsSkill
- google-workspaceSkill
- gwsSkill
- handoff-linksSkill
- hermes3000-writingSkill
- hetzner-cloudSkill
- hetzner-dnsSkill
- hetzner-storage-boxSkill
- heygenSkill
- homematicSkill
- hubspotSkill
- hueSkill
- human-distillSkill
- hybridclaw-helpSkill
- image-generationSkill
- inbox-cleanupSkill
- iss-positionSkill
- langfuseSkill
- lexware-officeSkill
- llm-wikiSkill
- mailchimpSkill
- manim-videoSkill
- microsoft-365Skill
- miroSkill
- mittwaldSkill
- money-savingSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

