Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/alextangson/feishu_skillsnpx agentmods add skills/alextangson/feishu_skills/feishu-bitableWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alextangson/feishu_skills/feishu-bitable)<a href="https://agentmods.dev/skills/alextangson/feishu_skills/feishu-bitable"><img src="https://agentmods.dev/badge/skills/alextangson/feishu_skills/feishu-bitable/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alextangson/feishu_skills/feishu-bitable"><img src="https://agentmods.dev/badge/skills/alextangson/feishu_skills/feishu-bitable.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00028 | $0.02175 |
| Opus 5 | $0.00014 | $0.01087 |
| Sonnet 5 | $0.00006 | $0.00435 |
| Haiku 4.5 | $0.00003 | $0.00217 |
Grade A, and why
feishu-bitable scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 232 lines — stays where its author put it; the contents beside it link to each section on GitHub.
飞书多维表格
通过 Bitable API 操作数据、字段、视图和权限。
Base URL: https://open.feishu.cn/open-apis/bitable/v1
认证与 Token 获取
从 feishu_skills 根目录执行共享脚本:
TOKEN="$(./scripts/get_feishu_token.sh)"
请求头统一使用 Authorization: Bearer ${TOKEN}。
如果业务接口返回 token 无效、过期或 401,强制刷新后仅重试一次原请求:
TOKEN="$(./scripts/get_feishu_token.sh --force-refresh)"
环境变量:
FEISHU_APP_IDFEISHU_APP_SECRET
本地缓存: ./.feishu_token_cache.json(未过期直接复用,默认提前 5 分钟刷新)
关键参数:
app_token: 多维表格 URL 中/base/后的字符串table_id: 调用列表 API 获取
记录操作
| API | 端点 | 说明 |
|---|---|---|
| 新增单条 | POST /apps/{app_token}/tables/{table_id}/records |
- |
| 批量新增 | POST .../records/batch_create |
最多 500 条,支持 Upsert |
| 更新 | PUT .../records/{record_id} |
- |
| 批量更新 | POST .../records/batch_update |
最多 500 条 |
| 批量删除 | POST .../records/batch_delete |
最多 500 条 |
| 查询 | POST .../records/search |
支持 filter/sort/分页 |
分页查询全部记录(单次最多 500 条,循环直到 has_more: false):
page_token = None
all_records = []
while True:
body = {"page_size": 500}
if page_token:
body["page_token"] = page_token
resp = post(".../records/search", json=body)
all_records.extend(resp["data"]["items"])
if not resp["data"].get("has_more"):
break
page_token = resp["data"]["page_token"]
请求示例:
{
"fields": {
"名称": "测试",
"金额": 100,
"进度": 0.75,
"评分": 4,
"日期": 1770508800000,
"状态": "进行中",
"标签": ["重要", "紧急"],
"完成": true,
"负责人": [{"id": "ou_xxx"}],
"电话": "13800138000",
"链接": {"text": "官网", "link": "https://example.com"}
}
}
⚠️ 数值不要传字符串,日期必须是 13 位毫秒时间戳。
字段类型格式
| type | ui_type | 中文名 | 写入格式 | 示例 |
|---|---|---|---|---|
| 1 | Text | 多行文本 | 字符串 | "办公用品" |
| 1 | 邮箱 | 字符串 | "[email protected]" |
|
| 2 | Number | 数字 | 数值 | 100 |
| 2 | Currency | 货币 | 数值 | 1280.50 |
| 2 | Progress | 进度 | 数值(0~1) | 0.25 (25%) |
| 2 | Rating | 评分 | 数值(1~5) | 3 |
| 3 | SingleSelect | 单选 | 字符串 | "支出" (自动创建选项) |
| 4 | MultiSelect | 多选 | 字符串数组 | ["餐饮","交通"] |
| 5 | DateTime | 日期 | 毫秒时间戳 | 1770508800000 |
| 7 | Checkbox | 复选框 | 布尔值 | true |
| 11 | User | 人员 | 对象数组 | [{"id":"ou_xxx"}] |
| 13 | Phone | 电话 | 字符串 | "13800138000" |
| 15 | Url | 超链接 | 对象 | {"text":"名称","link":"https://..."} |
| 17 | Attachment | 附件 | 对象数组 | [{"file_token":"xxx"}] |
| 18 | SingleLink | 单向关联 | 字符串数组 | ["recuxxx"] |
| 21 | DuplexLink | 双向关联 | 字符串数组 | ["recuxxx"] |
| 22 | Location | 地理位置 | 字符串 | "116.397,39.903" |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 232 lines · 28 tokens per session scan A f8f5d19d67b6
feishu-bitable is a skill published in the GitHub repository alextangson/feishu_skills (65 stars, last pushed 5mo ago), licensed MIT. It adds 28 tokens to every session and 2,175 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
smart-data-collection
A workflow for extracting structured information from images and documents such as PDFs, Word files, and spreadsheets, then storing it in a database.
lark-base
A guide for managing Lark Base, Feishu's spreadsheet-like database and workspace tool. It covers tables, fields, records, views, formulas, forms, dashboards, applications, workflows, and permissions.
feishu-bitable
A skill for managing Feishu Bitable, a database-like spreadsheet for organising structured records. It supports tables, fields, views, filters, and bulk changes.
mcp-sheet-cache-bridge
Keep Zapier Tables or another MCP-connected record store as the source of truth while Google Sheets-based tools read an event-driven cache tab.
airtable-cli
Lists bases, reads and writes records, manages tables and fields, filters and searches data in Airtable via the airtable-mcp CLI. Use when the task involves Airtable data or the user mentions airtable-mcp, bases, tables, records, or fields.
feishu-bitable
Feishu multi-dimensional table (Bitable) operations. Activate when user mentions tables, databases, or bitable links.