write-query – SQL 查询生成 Skill

3周前更新 8 0 0 0

write-query 是帮助 AI Agent 为数据分析任务编写和优化结构化查询语句的 Skill,适合在知识工作中需要从数据源生成 SQL 等查询来提取和分析信息的场景。

Skill 安装

多 Agent 安装
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill write-query

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

Skill 详细介绍

anthropics/knowledge-work-plugins#write-query 是 Anthropic 官方 knowledge-work-plugins 仓库中提供的一个 Skill,名称可以识别为 write-query。它属于 Anthropic 面向“知识工作”场景发布的插件集合的一部分,主要服务于数据库查询语句的编写任务。

它不是一个可以独立运行的软件,也不是数据库客户端或执行引擎。本质上,它是一套给 AI Agent 加载的指令型 Skill:安装后,Agent 在处理“帮我写一条 SQL 查询”“把这个需求翻译成查询语句”“优化这段查询”这类请求时,会按照该 Skill 定义的方式去理解表结构、业务口径和查询目标,从而生成更贴合实际需求的查询代码。

核心用途可以概括为:

– 根据自然语言描述,生成数据库查询语句
– 基于已有的表结构、字段说明,编写针对性的查询
– 把模糊的业务需求,转成结构清晰的查询逻辑
– 在已有查询基础上做调整、补充筛选条件、重写

主要解决的问题是:用户用自然语言描述“我要查什么”,Agent 需要把它准确翻译成数据库能理解的查询语句。如果缺乏这个 Skill,Agent 也能写查询,但往往依赖用户临时提供表结构和上下文;加载这个 Skill 后,工作方式更规范,输出更贴近真实工程使用习惯。

典型任务包括:

– 描述业务问题,让 Agent 写出对应查询
– 给出表名和字段,让 Agent 组合多表查询
– 在已有查询上增加条件、分组、聚合
– 根据需求解释或改写一段查询

适合的用户:需要频繁编写数据库查询的数据分析师、后端工程师、数据产品人员,以及在 Agent 中处理数据类任务的用户。

不适合的需求:它不负责连接数据库、不负责实际执行查询、不负责返回查询结果。如果你要的是“连上库跑一条 SQL 并给我结果”,那属于数据库工具或数据平台的职责,不是这个 Skill 的职责范围。

需要特别区分:Skill 本身提供的是“查询编写的方法与指令”,而是否真的执行查询、连的是哪个库,取决于你使用的 Agent 和它挂载的其他工具。Skill 不提供数据库连接能力。

Skill 安全评估

总体判断:来自 Anthropic 官方仓库,来源可信度较高;但它属于指令型 Skill,安全性主要取决于它在什么环境里被使用,以及 Agent 被授予了哪些权限。

来源方面:该 Skill 出自 Anthropic 官方组织维护的 knowledge-work-plugins 仓库,属于官方一手来源,不是第三方再发布版本。这一点相对安全。

真正需要关注的点:

– 文件读取:编写查询时,Agent 可能需要读取项目中的表结构定义、模型文件、迁移文件或文档。这涉及读取本地代码和配置文件。
– Shell 权限:如果 Agent 被允许自动执行 Shell,理论上可以运行数据库客户端命令。但这个 Skill 本身的核心职责是“写查询”,并不要求自动执行。如果只是生成查询,可以关闭自动执行,由人工复制执行。
– 网络访问:Skill 本身不需要联网即可完成查询编写。如果 Agent 在此基础上连数据库或访问外部服务,那是 Agent 或其他工具的行为,需要单独评估。
– 凭证与敏感信息:表结构、字段名、查询中可能出现的库名、业务口径,属于企业内部信息。写入查询时如果涉及生产库的真实结构,注意不要把敏感连接信息暴露给不必要的上下文。
– Prompt Injection:如果 Agent 读取了外部文档作为上下文,理论上存在被其中内容影响的风险。建议只把它用于可信的项目资料。

降低风险的建议:

– 只让 Agent 生成查询,手动执行,避免自动连库
– 不在上下文中放入真实的账号密码、Token
– 如果需要提供表结构,使用脱敏或示意版本
– 对自动执行 Shell 保持关闭状态,除非确有需要

不要把它理解为“绝对安全”或“完全不涉及数据”。它涉及的是查询编写,属于数据类工作中敏感度中等的环节,重点是控制执行权限和上下文内容。

Skill 使用要求

一、Agent / 客户端

该 Skill 来自 Anthropic 官方 knowledge-work-plugins 仓库,属于 Agent Skill 形态,与 Claude Code 这类支持 Skills / 插件加载机制的环境配合最自然。

官方并没有公布完整的第三方 Agent 兼容清单。从 Agent Skill 的工作方式看,在支持 Skills、自定义 Skill 或类似指令加载机制的环境中,通常也可以尝试在 Codex、Cursor、Trae、OpenClaw、WorkBuddy 等主流 AI Agent 中使用。不同 Agent 的 Skill 加载方式、识别规则和兼容程度可能不一样,具体以对应 Agent 当前版本为准。

如果只使用 Claude Code,直接加载即可;如果使用其他 Agent,建议先确认它是否支持加载外部 Skill 或插件形式。

二、运行环境 / 依赖

| 项目 | 要求 |
|—|—|
| Agent | Claude Code 优先,其他兼容 Agent 可尝试 |
| Node.js | 官方未将 Node.js 列为该 Skill 的硬性要求 |
| Python | 官方未将 Python 列为该 Skill 的硬性要求 |
| 数据库 | 不是 Skill 运行必需;实际写查询时按你的任务准备 |
| 网络 | Skill 本身不强制联网 |

这个 Skill 是指令型,不依赖特定语言运行时来运行自身。是否需要数据库、需要哪种数据库,取决于你要写的查询面向哪个系统。

三、权限

– 文件读取:可选。读表结构、模型、文档时使用
– 文件写入:通常不需要。生成查询一般直接输出,不写文件
– Shell:可选,且非必需。不建议默认开启自动执行
– 网络:非必需

四、账号 / API Key

Skill 本身不要求你提供账号、API Key 或 Token。

如果你要写的查询面向真实数据库,连接数据库所需的凭证属于你的数据库或数据平台,不属于这个 Skill。两件事不要混为一谈。

最小使用条件

1. 一个支持加载 Skill 的 AI Agent(优先 Claude Code)
2. 能说明你想查什么业务问题
3. 必要的表结构或字段信息(可选,但会明显提高结果质量)

Skill 安装、使用与卸载教程

一、安装

LemonAIKit 的 Skill 详情页已经单独提供了这个 Skill 的安装指令。直接复制本页面提供的 Skill 安装指令,粘贴到对应 Agent 或终端执行即可。

如果你不确定自己用的 Agent 应该怎么装,可以直接问当前 Agent:

如何安装 anthropics/knowledge-work-plugins#write-query?

如何在 Claude Code 中安装 anthropics/knowledge-work-plugins#write-query?

如何在 Cursor 中安装 anthropics/knowledge-work-plugins#write-query?

让当前 Agent 根据它自己的 Skill 加载 / 管理机制给你对应步骤,通常比照搬通用命令更稳妥。该 Skill 没有额外需要单独强调的特殊安装条件。

二、安装后如何使用

安装后不需要特殊触发命令。当你的任务涉及“编写数据库查询”时,Agent 会按 Skill 定义的方式处理。适合交给它的任务:把业务需求翻译成查询、基于表结构写多表查询、改写或优化已有查询。

使用时,把需求、表结构、口径说清楚,效果会更好。几个自然语言示例:

使用 write-query,根据这个订单表结构,帮我写一条查询每个客户最近 30 天下单总额的 SQL。

使用 write-query,把这个需求翻译成查询语句:找出连续三个月都有消费记录的用户。

使用 write-query,帮我优化这条查询,减少不必要的全表扫描。

三、卸载

不同 Agent 的 Skill 安装位置和管理方式可能不同。优先使用对应 Agent 或 Skill 管理器提供的删除方式移除该 Skill。如果没有统一的卸载命令,直接询问当前 Agent:

如何卸载 anthropics/knowledge-work-plugins#write-query?

由 Agent 告诉你具体的移除方式,比手动猜测目录更可靠。

常见问题

1. 这个 Skill 会自己连接数据库、执行查询吗?
不会。它负责编写查询语句,不负责连库和执行。执行由你的数据库或 Agent 挂载的其他工具完成。

2. 安装后 Agent 没识别这个 Skill,怎么办?
先确认该 Agent 是否支持加载外部 Skill;再确认安装路径和加载方式是否与该 Agent 匹配。可以直接问当前 Agent,让它检查这个 Skill 是否已被加载。

3. 可以同时安装到多个 Agent 吗?
通常可以。只要对应 Agent 支持加载 Skill,各自安装一次即可。不同 Agent 之间互不影响。

4. 中国大陆使用有网络要求吗?
该 Skill 本身不强制联网,主要用于生成查询,通常不依赖特定网络环境。真正需要联网的是你的数据库或数据平台,那部分取决于你自己的部署。

5. 它可以用于生产数据库场景吗?
可以用于编写面向生产库的查询,但建议只让它生成查询、由人工审阅后手动执行,避免自动连生产库执行。

6. 和 Agent 自己写 SQL 有什么区别?
区别在于是否有一套规范化的指令引导。不装这个 Skill,Agent 也能写查询,但更依赖你临时给足上下文;装了之后,处理这类任务的路径更一致。

7. 可以只生成查询、不执行吗?
可以。这也通常是推荐用法。关闭 Agent 的自动执行 Shell 权限,把生成的查询复制出来自行执行即可。

Skill 更新日志

版本列表
无版本号
将所有插件中的命令迁移为技能 - 将所有 commands/*.md 文件转换为 skills/*/SKILL.md 格式 - 将 36 个参考-技能对合并到其可调用的对应项中 - 将仅参考的技能标记为 user-invocable: false - 为迁移的技能扩展描述,包含使用场景 - 保持 partner-built/ 命令不变 - 从 marketplace.json 中移除 bio-research

暂无评论

none
暂无评论...