关于 show-airtable-link
show-airtable-link 是供修改或读取 Airtable 可见内容的 Agent 使用的工作流技能,规定如何根据 MCP 结果和已确认的访问权限,返回指向最具体界面的可点击链接。
主要功能
- 01使用响应中返回的 ID 构建 URL
- 02优先选择最具体的界面
- 03遵循已验证的访问权限
- 04使用一个带描述的 Markdown 链接
- 05避免编造 ID 和查询参数
适用场景
- 01交接已修改的 Airtable 记录
- 02多记录更新后链接到表格
- 03为页面范围的操作返回页面链接
- 04基于全库操作分享 Base
MCP 相关
该技能适用于影响 Airtable 可见内容的 MCP 调用之后。它依据工具响应确认的 ID 和访问界面,确定要返回的 Airtable URL。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ airtable/ skills --skill show-airtable-link安装后在 Claude Code 中输入/show-airtable-link确认已加载。
详细介绍
显示 Airtable 链接
每次 MCP 调用影响用户可见的 Airtable 内容后,都应返回一个可点击链接,指向该调用结果允许用户访问的最具体页面。用户通过链接查看 Agent 的工作成果;没有链接,用户就看不到这些成果,除非自行查找。
URL 模板
所有 URL 均由工具调用实际返回的 ID 构成。不要包含工具响应中未出现的任何 ID 槽位,例如 viw*、tbl*、rec*、pag* 等。
| 页面 | URL 模式 |
|---|---|
| 工作区 | https://airtable.com/workspaces/<wspId> |
| Base | https://airtable.com/<appId> |
| Base 接口中心 | https://airtable.com/<appId>/interfaces |
| 表 | https://airtable.com/<appId>/<tblId> |
| 记录(表上下文) | https://airtable.com/<appId>/<tblId>/<recId> |
| 接口页面 | https://airtable.com/<appId>/<pagId> |
| 记录(页面上下文) | https://airtable.com/<appId>/<pagId>/<recId> |
ID 前缀:wsp(工作区)、app(Base)、tbl(表)、pag(接口页面)、rec(记录)、fld(字段)。使用 MCP 响应中的原始 ID 构造 URL——不要将其转为小写、转换或猜测。
优先级顺序
交付最具体的 URL,具体程度以操作所能支持为准:
- 单条记录——操作针对一条记录时使用。如果
get_record_for_page返回了该记录,则使用页面上下文 URL;否则使用表上下文 URL。 - 接口页面——操作范围限定在某个页面时使用(读取页面 / 列出页面内容)。
- 表——适用于多条记录操作或架构变更(创建 / 更新表、字段)。不要逐条列出记录;只链接一次表。
- Base——最后的选择:刚创建的 Base、Base 范围的架构操作,或没有更具体页面适用时使用。
对于没有明显“最佳”记录的多条记录结果,只链接一次表或页面。不要为每条记录都生成链接——那会造成刷屏。
按权限交付链接
MCP 用户的身份验证权限决定哪些工具调用能够成功。仅交付调用序列已证明用户有权访问的页面链接:
- 仅限页面访问的用户:只有
list_pages_for_base、list_records_for_page、get_record_for_page调用成功。只交付页面 URL——自行拼接tbl*URL 会导致用户无法打开,形成无效链接。 - 表级访问权限:
list_tables_for_base、get_table_schema、list_records_for_table、update_records_for_table调用成功。可以安全地使用表 URL。 - 工作区级访问权限:
list_workspaces返回了 ID。可以安全地使用工作区 URL。
通用规则:如果工具调用未能证明用户有权访问某个页面,就不要链接到该页面。如有疑问,降低一个具体程度,链接到已确认可访问的页面。
展示方式
- 使用带描述性标签的 Markdown 链接。 所有宿主(Claude Code、Cowork、Codex、Claude.ai)都能渲染此类链接。裸 URL 也能渲染,但可读性较差。
- 推荐:
[Sales Pipeline base](https://airtable.com/appEXAMPLEbase001) - 可接受:
在 Airtable 中查看:[Sales Pipeline](https://airtable.com/appEXAMPLEbase001)——与 Airtable 现有的内部交付标签一致 - 不推荐:
https://airtable.com/appEXAMPLEbase001——没有上下文的裸 URL
- 推荐:
- 每条回复只放一个链接。 对于多步骤操作,在结尾统一提供链接,而不是在每次工具调用后都提供。
- 不要使用富媒体嵌入。 目前,内嵌聊天界面不会为 Airtable URL 渲染 OpenGraph 卡片。不要围绕宿主无法呈现的内容组织回复。
反模式
- 不要合成 ID。 URL 中的每个 ID 都必须原样来自工具响应。不要为了补全 URL 而伪造
viw*、tbl*、rec*、pag*或其他标识符——如果工具调用没有返回该 ID,那么 URL 中对应的位置就没有真实目标。 - 不要包含
?home=<pagId>或其他查询参数。 页面管理模式(/build、/edit、/preview)面向页面作者,不用于从聊天中交接。
组合使用
创建、修改或返回 Airtable 内容的工作流和方法技能,应在交接时采用这一约定。不要在内联代码中重新实现 URL 构造。
在另一项技能的正文中:
“完成工作后,通过
show-airtable-link技能返回可点击的链接。交接最具体的 URL,且该 URL 必须已由 Agent 的工具调用证实可访问。”
示例
创建了用于产品路线图的新 base:
已创建路线图 base,其中包含三个表:路线图、反馈和发布。
更新了 12 条记录的 Status 字段:
已将 12 条记录的 Status 更新为“In Review”。
从界面页面返回了一条记录(受页面访问权限限制的用户):
找到了匹配的交易:Acme Corp,$50k,阶段 = Negotiation。