用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/qhkm/zeptoclaw-skills --skill airtable命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | airtable |
| version | 1.0.0 |
| description | Read, create, update, and delete Airtable records via the REST API. |
| author | ZeptoClaw |
| license | MIT |
| tags | ["airtable","database","spreadsheet","productivity"] |
| env_needed | [{"name":"AIRTABLE_TOKEN","description":"Personal access token from airtable.com/create/tokens","required":true},{"name":"AIRTABLE_BASE_ID","description":"Base ID (starts with \"app\", from URL or API docs)","required":true},{"name":"AIRTABLE_TABLE_NAME","description":"Table name or ID","required":true}] |
| metadata | {"zeptoclaw":{"emoji":"📊","requires":{"anyBins":["curl","jq"]}}} |
CRUD operations on Airtable bases using the REST API.
data.records:read and data.records:write scopesairtable.com/appXXXXXX/tblYYYYYYexport AIRTABLE_TOKEN="patXXX.xxx..."
export AIRTABLE_BASE_ID="appXXXXXX"
export AIRTABLE_TABLE_NAME="Tasks"
curl -s "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/$AIRTABLE_TABLE_NAME?maxRecords=20" \
-H "Authorization: Bearer $AIRTABLE_TOKEN" \
| jq '.records[] | {id, fields: .fields}'
Filter with formula:
curl -s "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/$AIRTABLE_TABLE_NAME" \
-H "Authorization: Bearer $AIRTABLE_TOKEN" \
--data-urlencode "filterByFormula={Status}='Active'" \
| jq '.records[] | {id, name: .fields.Name, status: .fields.Status}'
curl -s -X POST "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/$AIRTABLE_TABLE_NAME" \
-H "Authorization: Bearer $AIRTABLE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"records": [{
"fields": {
"Name": "New Item",
"Status": "Todo",
"Priority": "High"
}
}]
}' | jq '.records[0] | {id, fields: .fields}'
RECORD_ID="recXXXXXX"
curl -s -X PATCH "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/$AIRTABLE_TABLE_NAME" \
-H "Authorization: Bearer $AIRTABLE_TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"records\": [{
\"id\": \"$RECORD_ID\",
\"fields\": {\"Status\": \"Done\"}
}]
}" | jq '.records[0].fields'
RECORD_ID="recXXXXXX"
curl -s -X DELETE "https://api.airtable.com/v0/$AIRTABLE_BASE_ID/$AIRTABLE_TABLE_NAME?records[]=$RECORD_ID" \
-H "Authorization: Bearer $AIRTABLE_TOKEN" \
| jq '.records[0]'
offset from response for pagination (Airtable returns 100 records max){FieldName}='value' (curly braces around field names)