sheet-process

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

腾讯文档智能表格通用筛选处理工具。支持两种模式:工作流模式(一键输出JSON,适合作为下游AI节点输入)和原子模式(引导式问答,可自定义输出格式)。触发词:sheet-process(工作流)、表格筛选/表格处理/表格过滤(原子模式)。当用户在腾讯文档智能表格中需要按列进行多条件筛选时使用。

一句话选型结论

按资料字段整理

sheet-process是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_ef03fdaa/sheet-process
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_ef03fdaa仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791730414
正文体量10.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
sheet-process当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

10.6 KB
模型实际读到的说明书原文,来自技能仓库

sheet-process — 智能表格通用筛选处理 Skill

概述

将腾讯文档智能表格筛选功能抽象为可编排的工作流节点。支持两种模式:

模式 触发词 优先级 输出
工作流模式 sheet-process 最高 自动输出 JSON(供下游 AI 节点消费)
原子模式 表格筛选、表格处理、表格过滤 次高 引导式问答,输出格式由用户决定

若两种模式的触发词同时出现,工作流模式优先。


模式判定规则(执行任何操作前必须先判定)

当 Skill 被触发时,首先读取用户消息中的触发词:

IF 用户消息包含 "sheet-process" →
    模式 = "workflow"
ELSE IF 用户消息包含 "表格筛选" / "表格处理" / "表格过滤" →
    模式 = "atomic"
ELSE →
    模式 = "atomic"(默认)

注意: 即使模式已确定,也可以从对话上下文中获取已有的 file_id。如果用户消息中包含 @tdoc#xxx 引用,提取 file_id 备用。


交互流程(严格按此顺序执行,每步必须等待用户应答后继续)

第 0 步:模式确认

仅在工作流模式下执行。 向用户展示:

🔄 工作流模式已激活

我将通过以下步骤完成智能表格筛选:

  ① 确认腾讯文档连接状态
  ② 选择要筛选的工作表
  ③ 填写筛选参数
  ④ 输出 JSON 结果

现在开始 →

在原子模式下: 直接进入第 1 步,不展示模式说明。


第 1 步:确认连接状态

向用户提问:

📋 第 1 步:确认环境

是否已在 WorkBuddy 中连接好腾讯文档,并导入需要处理的表格?

  · 若已完成 → 回复「是」
  · 若未完成 → 请先在连接器管理中连接「腾讯文档」,在对话中 @ 引用需要处理的表格

等待用户回复。 规则:
- 用户回复「是」或含义相同的肯定 → 将 input1 记为 "是",进入第 2 步
- 用户无输入 → 继续等待
- 其他情况 → 重复第 1 步(提示用户先连接并导入)


第 2 步:选择工作表

前提: 从对话上下文中提取 file_id(来自 @tdoc#xxx 引用,或用户直接提供的表格链接/ID)。

若无法提取 file_id,询问用户:

📋 第 2 步:选择要筛选的工作表

请提供要处理的腾讯文档链接,或使用 @ 引用该文档。

拿到 file_id 后,调用 smartsheet.list_tables 获取所有工作表列表。

选中工作表后,调用 smartsheet.list_views 获取该工作表的视图列表,取第一个视图的 view_id 备用(后续调用 smartsheet.list_fields 时必须传入 view_id 才能拿到正确的视觉列序)。

只有一个工作表:
自动选中该工作表,将 input2 记为该 sheet 标题,直接进入第 3 步。向用户提示:

📋 第 2 步:选择要筛选的工作表

📋 该文档只有一个工作表:「{sheet_title}」,已自动选中。

有多个工作表:
列出所有工作表并询问:

📋 第 2 步:选择要筛选的工作表

📋 该文档包含以下工作表:

  1. {sheet_1_title}
  2. {sheet_2_title}
  3. {sheet_3_title}
  ...

你想对哪一个 sheet 进行筛选?请回复这个 sheet 的「名称」(完整标题或序号均可)。

等待用户回复。 规则:
- 用户回复的工作表名称存在于列表中 → 将 input2 记为该标题,进入第 3 步
- 用户无输入 → 继续等待
- 回复名称不存在 → 重复第 2 步(提示用户重新选择)


第 3 步:填写筛选参数

进入本步后,先调用 smartsheet.list_fields(必须传入在第 2 步获取的 view_id)加载该工作表的列信息(含列名和列序号 1-based)。列信息必须按照原 sheet 表格从左到右的顺序,依次从上到下排列展示。

> ⚠️ 关键:如果不传 view_id,list_fields 返回的是字段内部创建顺序,与表格中的视觉列序不一致。必须先通过 smartsheet.list_views 获取默认视图的 view_id,再传入 list_fields。

向用户展示:

📝 第 3 步:填写筛选参数

💡 当前工作表「{sheet_title}」的列信息(从左到右):

  1. 列标题A [类型]
  2. 列标题B [类型]
  3. 列标题C [类型]
  ...

先阅读示例及示例说明:

示例:
  筛选列    [1, 2]
  关键词    ["关键词1#关键词2", "关键词3#关键词4#关键词5"]
  取并集    [T, F]
  输出列    [2, 3, 5]

示例说明:
  [1, 2]:表示第1列、第2列需要筛选
  ["关键词1#关键词2", "关键词3#关键词4#关键词5"]:表示第1列筛选关键词为关键词1、关键词2,第2列筛选关键词为关键词3、关键词4、关键词5
  [T, F]:表示第1列依次对关键词1、关键词2进行筛选,取第1列所有关键词筛选结果的交集;第2列依次对关键词3、关键词4、关键词5进行筛选,取所有关键词筛选结果的并集
  [2, 3, 5]:表示根据筛选结果,将原表第2、3、5列输出

将你的「筛选条件」按示例格式发送给我。

温馨提示:可以将上述示例复制粘贴到对话框,在示例基础上修改你自己的筛选条件。

等待用户回复。 规则:

  • 若用户回复 → 将input3记为本次用户回复内容,进入格式校验
  • 若用户无输入 → 继续等待,不推进到下一步

格式校验(对 input3 与模板示例对比):

模板示例格式规范:

筛选列    [7]            → 列表,元素为 int 或 str
关键词    ["A#B#C"]      → 列表,每个元素为 "#" 分隔的字符串
取并集    [Y]            → 列表,元素为 Y/N 或 true/false
输出列    ["列A", "列B"]  → 列表,元素为 int 或 str

对 input3 进行解析:

  1. 筛选列:去掉外层 [],按逗号拆分为列表,每项尝试转 int,失败则保留字符串
  2. 关键词:去掉外层 [],按 ", " 拆分为各组,每组去掉引号后按 # 拆分关键词
  3. 取并集:去掉外层 [],按逗号拆分,true/Y/y → True,false/N/n → False
  4. 输出列:去掉外层 [],按逗号拆分为列表,每项尝试转 int,失败则保留字符串

必须满足的约束:
- 四项都必须填写,不能为空
- 筛选列数量 = 关键词组数 = 取并集数量(长度必须一致)

格式判定:

  • 格式一致 → 回显解析结果确认后进入第 4 步:

  • 格式不一致 → 提示用户并重复第 3 步,向用户展示:

📝 第 3 步:填写筛选参数

格式不正确,请按照模板示例格式重新填写。参考示例:

  筛选列    [7]
  关键词    ["前端#全栈#开发#研发#软件"]
  取并集    [Y]
  输出列    ["招聘企业", "投递链接"]

第 4 步:执行筛选并输出

调用 scripts/smartsheet_filter.py 执行筛选:

import sys
sys.path.insert(0, '/Users/liuliu/.workbuddy/skills/sheet-process/scripts')
from smartsheet_filter import SmartsheetFilter

sf = SmartsheetFilter(file_id=file_id, sheet_title=sheet_title)

工作流模式输出(直接输出 JSON)

result = sf.filter_to_json(
    filter_columns=filter_cols,
    keywords=keywords,
    union_mode=union_mode,
    return_columns=return_cols,
    column_combine="intersection",
    output_path=output_json_path,
)

输出 JSON 文件到当前工作区,并展示摘要:

📝 第 4 步:输出 JSON 结果

✅ 筛选完成

  工作表:{sheet_title}
  总记录数:{total}
  匹配记录数:{matched}
  筛选条件:{filter_summary}
  输出文件:{json_path}

JSON 结构化输出已就绪,可作为下游节点输入。

原子模式输出(询问用户输出格式)

向用户展示:

📋 第 4 步:选择输出格式

是否以 JSON 格式输出最终结果?

  · JSON 格式文件有利于 AI 读取,便于作为下一个工作流节点的输入
  · 也可以选择 HTML 可视表格、Excel 等格式

  若以 JSON 格式输出 → 回复「是」
  若以其他格式输出 → 回复您期望的输出格式(如 HTML、Excel)

等待用户回复。 规则:
- 用户回复「是」→ 同工作流模式,输出 JSON
- 用户无输入 → 继续等待
- 用户回复其他格式(如「HTML」)→ 调用对应的输出方法,使用 sf.filter_to_html() 等方法
- 无论如何,最终都将输出文件通过 present_files 展示给用户


参数映射速查

用户模板填入的内容与 smartsheet_filter.py 参数的映射关系:

模板字段 用户输入示例 smartsheet_filter.py 参数
筛选列 [7] 或 ["招聘岗位"] filter_columns
关键词 ["前端#全栈#开发#研发#软件"] keywords → [["前端","全栈","开发","研发","软件"]]
取并集 [true] 或 [Y] union_mode
输出列 [1, 2] 或 ["招聘企业","投递链接"] return_columns

说明: 本 Skill 暂不支持跨列组合方式配置,固定使用 column_combine="intersection"(所有筛选列都满足才保留)。如需更灵活的组合,请使用 smartsheet-filter Skill。


自然语言快速模式

如果用户在第 3 步直接用自然语言描述筛选需求(而非填写模板表格),按以下映射自动转换:

用户表述 映射
「筛选 A 列含 X 或 Y 或 Z」 filter_columns=[A],keywords=[[X,Y,Z]],union_mode=[True]
「筛选 A 列同时含 X 和 Y」 filter_columns=[A],keywords=[[X,Y]],union_mode=[False]
「返回 B 列和 C 列」 return_columns=[B, C]
列用标题描述(如「招聘岗位」) 直接使用列标题字符串
列用序号描述(如「第7列」) 使用整数索引

快速模式下仍需在第 3 步回显解析结果,确认后再执行。


依赖

  • scripts/smartsheet_filter.py — 核心筛选引擎(从 smartsheet-filter skill 移植)
  • 需要 WorkBuddy 已连接「腾讯文档」连接器
  • 依赖 /Applications/WorkBuddy.app/Contents/Resources/app.asar.unpacked/resources/builtin-plugins/tencent-docs-plugin/skills/tencent-docs/tencentdocs.py

常见问题

5 问
答案由本站依据条目字段整理
sheet-process怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_ef03fdaa/sheet-process。安装方式为未标注。装完刷新技能列表或重开客户端。

sheet-process支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

sheet-process权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

sheet-process收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

sheet-process用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。