
pm-skills 之 sql-queries 技能实战让 AI 把自然语言需求直接变成可用的多方言 SQL【免费下载链接】pm-skillsPM Skills Marketplace: 100 agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills本篇文章以 pm-skills 仓库中pm-data-analytics插件的sql-queries 技能SKILL.md为核心系统讲解如何让 AI 将产品经理、分析师和工程师的自然语言数据需求自动转化为可运行、可优化的 SQL 查询覆盖 BigQuery、PostgreSQL、MySQL、Snowflake、SQL Server 等多种方言。读完本文你将掌握该技能的四步工作流、三种典型用法、核心能力边界与输出规范并理解它与/write-query命令的联动关系以及仓库底层对技能元数据的校验机制。技能定位pm-data-analytics 插件的三大数据分析能力之一在 pm-skills 仓库中pm-data-analytics插件插件 README面向产品经理的数据分析场景共提供 3 个技能与 3 个命令。sql-queries正是其中的自然语言转 SQL 技能与cohort-analysisSKILL.md、ab-test-analysisSKILL.md共同构成完整的数据分析闭环——先用 SQL 取数再做留存与 A/B 分析。根据 CLAUDE.md 中定义的设计规则CLAUDE.md技能 名词/概念sql-queries属于框架与领域知识类技能对话话题匹配时会由 Claude 自动加载无需显式调用命令 动词/write-querywrite-query.md是用户主动触发的端到端工作流内部通过Apply the **sql-queries** skill的方式调用该技能。技能元数据frontmatter中name必须与目录名一致sql-queriesdescription必须包含触发短语如 Use when writing SQL这些约束由仓库根目录的 validate_plugins.py 自动校验确保技能能被正确发现与加载。核心能力总览从自然语言到优化查询的完整映射该技能的核心目标只有一个把自然语言需求转化为跨多种数据库平台的优化 SQL 查询。它面向三类人群——产品经理验证业务假设、分析师快速出数、工程师省去手工写语法帮助用户在不手工纠结 SQL 语法的情况下拿到准确的查询结果。技能 frontmatter 中的描述精准定义了它的适用边界SKILL.mdGenerate SQL queries from natural language descriptions. Supports BigQuery, PostgreSQL, MySQL, and other dialects. Reads database schemas from uploaded diagrams or documentation.Use when writing SQL, building data reports, exploring databases, or translating business questions into queries.即写 SQL、构建数据报表、探索数据库、把业务问题翻译成查询语句——这四类场景都是该技能的触发时机。四步工作流详解技能的正文主体是一套固定的四步工作流每一步都有明确的输入、处理动作与产出。下面结合仓库源码与实际操作逐步展开。Step 1理解你的数据库 Schema当用户提供 schema 文件SQL、文档或图表描述时AI 会读取并分析它依次完成提取表名table names提取列定义column definitions识别数据类型data types梳理表与表之间的关系relationships定位主键primary keys、外键foreign keys评估索引策略indexing strategies。这一步骤是整个流程的地基schema 越完整后续生成的查询就越能准确命中正确的表与列避免 AI 凭 SaaS 通用模型臆测表结构。Step 2处理你的请求在拿到 schema 之后AI 会与用户对齐三个关键信息澄清需求确认你到底需要检索或分析哪些数据确认方言明确目标数据库类型——BigQuery、PostgreSQL、MySQL、Snowflake 等补齐附加要求是否需要过滤器filters、聚合aggregations、排序sorting等。若用户没有提供 schema/write-query命令文档write-query.md补充了回退策略询问数据库类型 → 从问题推断合理 schema 并请用户确认 → 默认采用常见 SaaS 数据模型约定。Step 3生成优化查询这是产出核心 SQL 的阶段技能要求 AI 遵循四项质量准则编写高效 SQL充分利用已掌握的数据库结构正确的 join 路径、可用的索引为复杂逻辑添加注释——因为 PM 会把查询分享给分析师注释承载意图针对大数据集给出性能考量分区、索引、避免全表扫描等在适用时提供备选方案alternative approaches。/write-query命令在此基础上进一步固化了工程规范write-query.md复杂查询优先用CTE公共表表达式提升可读性而非嵌套子查询必须处理边缘情况NULL 值、时区问题、重复数据处理对可能在大数据集上变慢的查询主动标记并给出优化建议。Step 4解释与测试生成查询后技能要求 AI 完成收尾交付用通俗英语解释查询逻辑给出验证/测试建议如何校验结果正确性提供性能优化技巧用户有需要时生成测试脚本或示例数据。三种典型使用场景原文档给出了三个从易到难的典型输入示例覆盖了该技能最常见的三种用法场景一基于上传的 Schema 文件生成查询Upload your database_schema.sql file and say: Generate a query to find users who signed up in the last 30 days and had at least 5 active sessions此时 AI 直接读取上传的database_schema.sql无需额外确认表结构。示意性的产出可能形如-- 近 30 天注册、且活跃会话数 5 的用户 SELECT u.id, u.email, u.created_at FROM users AS u JOIN ( SELECT user_id, COUNT(*) AS session_cnt FROM sessions WHERE timestamp CURRENT_DATE - INTERVAL 30 days GROUP BY user_id HAVING COUNT(*) 5 ) AS s ON s.user_id u.id WHERE u.created_at CURRENT_DATE - INTERVAL 30 days;场景二基于图表/文字描述的数据库结构生成查询Heres my database: Users table (id, email, created_at), Sessions table (id, user_id, timestamp, duration). Generate a query for average session duration per user in January 2026.这是无文件、纯描述的典型路径——AI 从文字描述中直接提取表与列完成 join 规划-- 2026 年 1 月每个用户的平均会话时长 SELECT u.id AS user_id, u.email, AVG(s.duration) AS avg_session_duration FROM users AS u JOIN sessions AS s ON s.user_id u.id WHERE s.timestamp 2026-01-01 AND s.timestamp 2026-02-01 GROUP BY u.id, u.email ORDER BY avg_session_duration DESC;场景三复杂分析查询含聚合与时序对比Create a BigQuery query to analyze our revenue by region and customer tier, including year-over-year growth rates.这是多方言 复杂聚合的代表需要 BigQuery 方言、多维度分组region × customer tier以及同比YoY增长率计算通常需要借助窗口函数LAG/PARTITION BY或自连接实现。六大核心能力矩阵原文档用清单形式定义了技能的六项关键能力这是衡量它能干什么的边界能力说明多方言支持覆盖 BigQuery、PostgreSQL、MySQL、Snowflake、SQL Server文件读取可读取 schema 文件、SQL dump、数据文档查询优化建议索引、分区策略与性能改进方案解释能力将查询拆解为可学习、可归档的说明测试能力生成测试查询与示例数据脚本脚本执行为你的数据库生成可执行的 SQL 脚本这六项能力在/write-query的产出模板中得到了结构化落地write-query.md输出包含Dialect方言、Tables used用到的表、Query带注释的 SQL 代码块、What This Returns返回结果的列与形状描述、Assumptionsschema 假设与业务逻辑假设、Notes大数据集的性能考量与已处理/已标记的边缘情况。输出规范一份查询交付物的完整结构无论通过技能直接使用还是经由/write-query命令用户最终都会收到四层交付物SQL Query带注释、可直接用于生产的 SQL 代码Explanation查询做什么、如何工作的说明Performance Notes优化提示与性能考量Test Script按需示例数据与校验查询。获得最佳效果的五条建议原文档给出了五条输入侧的最佳实践直接决定输出质量提供上下文分享你的数据库 schema 或结构——这是准确 join 的前提描述具体清晰说明你需要什么数据以及任何过滤器指明数据库指定你正在使用的 SQL 方言避免方言误配包含约束说明数据量、时间范围与性能需求要求格式如需要特定输出结果格式明确提出来。/write-query命令在此基础上补了一条关键纪律write-query.md如果请求存在歧义例如 active users必须请用户先精确定义指标而不是擅自假设同时默认可读优先于炫技CTE 优于嵌套子查询。仓库中的实现与规范依据为了确保该技能在 Claude Code / Cowork 等 Agent 环境中被正确加载和执行仓库通过 validate_plugins.py 施加了硬性约束frontmatter 必填字段技能必须包含name与descriptionvalidate_plugins.py缺失会被判为 ERRORname 与目录强一致frontmatter 中的name必须等于所在目录名sql-queriesvalidate_plugins.py违反即报错description 质量门槛长度过短30 字符会告警且建议包含触发短语use when、use for 等validate_plugins.py这正好对应 sql-queries frontmatter 中 Use when writing SQL, ... 的写法渐进式披露progressive disclosurefrontmatter 保持精简始终加载细节放在 SKILL.md 正文触发时才加载——这也是 CLAUDE.md 明确的设计原则。从源码结构可以推断这套描述即触发词 name 即目录名的机制是技能能被 Agent 自动发现和按需加载的底层保证校验器保证元数据合规而元数据保证运行时的正确触发。从技能到命令在 Claude Code 中实际使用sql-queries 技能可以直接通过对话自然触发话题匹配即自动加载也可以强制加载/pm-data-analytics:sql-queries或/sql-queries。更常用的方式是调用封装好的/write-query命令write-query.md/write-query Show me daily active users for the last 30 days, broken down by plan tier /write-query Find users who signed up last month but never completed onboarding /write-query [upload a schema diagram] Whats the conversion rate from trial to paid by cohort?命令完成后还会提供后续动作建议例如修改过滤器、调整分组、扩展时间范围、围绕查询构建仪表盘或生成对应的 cohort 分析版本——与 analyze-cohorts.md 中的数据提取 SQL 形成闭环。整个pm-data-analytics插件可通过根目录 README.md 中的 Claude Code 安装方式引入claude plugin marketplace add phuryn/pm-skills claude plugin install pm-data-analyticspm-skills安装后sql-queries技能与/write-query命令即可直接在对话中投入使用将业务问题 → 可执行 SQL的翻译成本降到最低。【免费下载链接】pm-skillsPM Skills Marketplace: 100 agentic skills, commands, and plugins — from discovery to strategy, execution, launch, and growth.项目地址: https://gitcode.com/GitHub_Trending/pm/pm-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考