用途
airtable-master 并非面向用户的技能,而是一个共享资源库,用于消除多个 Airtable 集成技能之间的内容重复。它遵循 DRY(Don't Repeat Yourself)原则,将公共内容抽取到 references/ 与 scripts/ 目录中,形成单一事实来源,从而减少每个技能占用的上下文。
它为以下技能提供共享资源:
- airtable-connect:连接库、发现表结构
- airtable-query:使用过滤器查询记录
- airtable-sync:导入/导出记录
用户应调用上述具体技能,而不是直接加载 airtable-master。
主要能力
共享参考资料(references/)
- setup-guide.md:完整配置向导,包括创建个人访问令牌(PAT)、配置 .env 文件、选择权限范围、验证步骤
- api-reference.md:API 模式,包括基础 URL 与请求头、关键端点(bases、tables、records)、分页、批量操作、速率限制
- error-handling.md:故障排查,包括 HTTP 错误码(401、403、404、422、429)、恢复模式、调试技巧
- field-types.md:字段类型参考,包括 20 多种 Airtable 字段类型、读写格式、按类型的校验
脚本(scripts/)
配置与设置:
- check_airtable_config.py:预检校验。用法
python check_airtable_config.py [--verbose] [--json]。参数:--verbose/-v(默认 False,显示详细输出)、--json(默认 False,输出结构化 JSON 供 AI 使用)。退出码:0=已配置,1=部分配置(无库),2=未配置。应在任何 Airtable 操作之前首先运行。 - setup_airtable.py:交互式配置向导。用法
python setup_airtable.py [--non-interactive] [--api-key KEY]。参数:--non-interactive(默认 False,跳过提示,需要 API key)、--api-key(默认 -,用于非交互模式的 API key)。默认交互运行,引导完成 PAT 创建、连接测试、保存到 .env,并自动运行库发现。 - discover_bases.py:库发现(GET /meta/bases)。用法
python discover_bases.py [--refresh] [--json] [--with-schema]。参数:--refresh(默认 False,强制重新发现即使存在缓存)、--json(默认 False,仅输出 JSON,无进度消息)、--with-schema(默认 False,同时获取表结构,较慢)。保存至:01-memory/integrations/airtable-bases.yaml。
记录操作:
- query_records.py:从表查询记录(GET /{baseId}/{tableIdOrName})。用法
python query_records.py --base BASE --table TABLE [--filter FORMULA] [--fields FIELDS] [--view VIEW] [--sort FIELD] [--limit N] [--json] [--verbose]。参数:--base(必填,库 ID appXXX 或名称)、--table(必填,表 ID tblXXX 或名称)、--filter(Airtable 公式过滤器)、--fields(逗号分隔的字段名)、--view(视图 ID 或名称)、--sort(排序字段,前缀 - 表示降序)、--limit(最大记录数)、--json、--verbose/-v。过滤公式示例:--filter "{Status}='Active'"、--filter "AND({Status}='Active', {Priority}='High')"、--filter "SEARCH('john', LOWER({Name}))"、--filter "{Due Date} < TODAY()"。 - manage_records.py:CRUD 操作(POST/PATCH/PUT/DELETE /{baseId}/{tableIdOrName})。用法:
- 创建:
python manage_records.py create --base BASE --table TABLE --data JSON [--file FILE] [--typecast] [--json] [--verbose] - 更新:
python manage_records.py update --base BASE --table TABLE --record RECID --data JSON [--file FILE] [--typecast] [--replace] [--json] [--verbose] - 删除:
python manage_records.py delete --base BASE --table TABLE --record RECID [--file FILE] [--json] [--verbose]参数:action(必填,create/update/delete)、--base(必填)、--table(必填)、--record(单记录更新/删除)、--data(字段 JSON)、--file(含记录数据的 JSON 文件)、--typecast(启用自动类型转换)、--replace(更新时替换模式,PUT vs PATCH)、--json、--verbose/-v。创建需 --data 或 --file;更新需 --record + --data 或 --file;删除需 --record 或 --file。批量限制:每次 API 调用最多 10 条记录(脚本自动处理分批)。
- 创建:
使用方式
智能错误检测流程
当 Airtable 技能因缺少配置而失败时:
- 运行配置检查并输出 JSON:
python 00-system/skills/airtable/airtable-master/scripts/check_airtable_config.py --json - 解析 ai_action 字段:
- proceed_with_operation:配置正常,继续原操作
- proceed_with_warning:部分配置(API 可用但无库可访问)
- prompt_for_api_key:询问用户获取 API key(https://airtable.com/create/tokens)
- run_setup_wizard:运行
python 00-system/skills/airtable/airtable-master/scripts/setup_airtable.py
- 帮助用户修复问题。若 ai_action 为 prompt_for_api_key:告知需要设置集成,索取个人访问令牌(PAT),引导权限范围(data.records:read、data.records:write、schema.bases:read),用户提供后写入 .env(
AIRTABLE_API_KEY=pat.their_token_here),再重新运行配置检查验证。
JSON 输出结构
{
"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"
}
技能如何引用本库
各技能按需加载共享资源(渐进式披露):
- airtable-connect 使用:check_airtable_config.py、discover_bases.py、api-reference.md、error-handling.md
- airtable-query 使用:check_airtable_config.py、query_records.py、api-reference.md、field-types.md
- airtable-sync 使用:check_airtable_config.py、manage_records.py、api-reference.md、error-handling.md
使用示例
用户说:"query my Projects base in Airtable"。流程:AI 加载 airtable-connect(而非 airtable-master);其 SKILL.md 指示先运行 check_airtable_config.py;AI 执行该脚本并输出 JSON;若退出码为 2,AI 提示用户配置 API key;若为 0,AI 执行 query_records.py;如遇错误,AI 加载 airtable-master/references/error-handling.md。airtable-master 从不被直接加载,它只是资源库。
与 Notion 的关键区别
- 认证:Airtable 使用个人访问令牌(PAT),Notion 使用集成令牌
- 速率限制:Airtable 每库 5 请求/秒,Notion 3 请求/秒
- 批量大小:Airtable 10 条记录,Notion 可变
- 分页:Airtable 基于 offset,Notion 基于 cursor
- 字段类型:Airtable 20 多种类型,Notion 20 多种属性类型
版本信息
- 版本:1.3
- 创建:2025-12-11
- 更新:2025-12-11
- 状态:Production Ready
变更日志:
- v1.3:为全部 5 个脚本添加 "When to Use" 部分,用于 AI 路由指引
- v1.2:添加全面的脚本参数文档,含用法示例与参数表
- v1.1:添加支持 --json 的智能错误检测流程,添加 setup_airtable.py
- v1.0:初始版本
限制
本资源库本身不是面向用户的技能,不应被直接加载或调用。具体的 API 使用限制(如速率限制、批量大小)已在参考资料中说明,不在此处重复。