用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tabtin-ai/TabTin --skill collect-to-table命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | collect-to-table |
| description | Use when 用户要把网页采集结果或已有成批结构化数据落入多维表,且数据含嵌套明细、可复用对象、关联或反查需求,或落库前需要判断单表还是多表;也用于要求可重跑、批次覆盖或采集后直接建表。 |
| metadata | {"version":"0.1.9","tabtin":{"category":"data","displayName":"采集落多维表","autoActivateFor":["tabdata","tabweb"],"tools":["run_terminal_command"],"tags":["orchestration","requires-body","collect","table"]},"runtime":"cloud","requires":{"bins":["tabtin"]},"canonicalName":"collect-to-table"} |
先判断数据结构,再确认分表方案,再确认是否复用历史表,最后写入并验证。简单扁平数据可豁免分表确认;任务内新建的表可直接复用;工作区里本轮之前已有的表,写入前必须一次性问清能否复用。
接受两类输入:
app:tabweb/browser-collect,获得结构化采集结果。当来源是当前已登录网页时,先在 Browser Operator 中锁定当前 Tab,保留登录态与用户已经展开 / 筛选后的页面状态,再调用 app:tabweb/browser-collect 或当前 Tab 的 JSON Schema 投影形成结构化数据。不要因为来源 URL 属于某个第三方站点而切换成该站点的资产迁移 CLI。
网页采集的 bundle 必须保留来源链接与获取时间;资源或字段抓取失败时记录缺失项,不能用常识补值,也不能只凭写表命令成功就声称完整导入。
把输入统一为 CollectBundle。字段契约见 references/bundle-contract.md,仅在需要整理或检查输入时读取。
依次执行,不能跳过阶段:
| 阶段 | 必须产出的状态 |
|---|---|
| 1. 接手数据 | bundle、task_id、预期记录数 |
| 2. 识别结构 | 主实体、明细、可复用对象及其候选键 |
| 3. 方案门闩 | confirmed_plan,或明确记录 flat_exemption=true |
| 3.5 复用门闩 | reuse_plan,并维护 task_created_table_ids |
| 4. 写入 | 表 ID、字段 ID、关联字段、实际写入数(遵守 reuse_plan) |
| 5. 验证 | 与方案对应的验收结果全部通过 |
| 6. 复盘 | 表名、条数、关联、合并策略和缺失项 |
阶段 3.5 细则见 references/reuse-plan.md。无历史候选时可写空 reuse_plan 并跳过 ask_user;有历史候选且尚无完整 reuse_plan 时,禁止进入写入。
任何阶段缺少对应状态,不得进入下一阶段。
只使用通用角色,不预设业务表名:
主实体和可复用对象默认按稳定业务键合并。明细默认按本次 task_id 做批次快照,不因自造明细键而自动改成长期合并。
先计算:
requires_confirmation =
存在嵌套列表
OR 存在两个及以上可独立存在的实体
OR 用户要求关联、一对多或跨实体反查
OR 同一可复用对象跨主实体重复出现
requires_confirmation = true如果还没有 confirmed_plan:
ask_user。confirmed_plan。table create、field add、link create、import、bulk-insert、upsert、update 或其他写表命令。确认卡使用产品语言,不说 A/B/C:
requires_confirmation = false仅在以下任一可观察条件成立时设置 flat_exemption=true 并直接写一张表:
confirmed_plan 仍在状态中。不确定是否满足豁免时,按 requires_confirmation=true 处理。
在方案门闩完成之后、写入之前执行。完整规则读 references/reuse-plan.md。
摘要:
task_created_table_ids(本轮 table create 成功则追加)。table list / table info 找同角色候选;任务内表可直接复用。reuse_plan 时:下一次工具调用必须是 ask_user;用产品语言说明发现了哪些可复用历史表并询问能否复用(措辞由你按场景生成,不要求固定开场句);默认勾选复用;提供「全部新建」与「其他」。不要一开始批量读取所有相关 Skill:
app:tabweb/browser-collect。app:tabdata/table-modeling 和 app:tabdata/table-association。app:tabdata/table-import-export。app:tabdata/table-operator,不要继续本编排。进入写入阶段前,必须已有完整 reuse_plan(见 references/reuse-plan.md),再读取 references/write-and-verify.md 并按其中顺序执行。
必须满足:
task_id 重跑时先清除本批旧行,再写入本批全集。只在验证通过后汇报:
| 错误 | 正确处理 |
|---|---|
把 skills_read 当成已经执行 Skill | 任务执行必须先 skill_invoke |
| 读完 Skill 后直接说“我开始建表” | 命中方案门闩或复用门闩时,下一次调用只能是 ask_user |
| 查到历史同角色表就直接 upsert | 先走复用门闩,一次确认能否复用 |
历史表一张一张 ask_user | 合并为一张确认卡(含全部新建 / 其他) |
| 为了省事把嵌套明细塞进一个文本列 | 先让用户选择分表或扁平方案 |
| 对明细只做 upsert | 同任务重跑默认先清本批旧行再批量写入 |
| 一开始加载全部表格和浏览器 Skill | 按当前阶段只加载必要工兵 |
| 只看命令成功就宣告完成 | 读取验证参考并核对行数、关联和批次快照 |