smart-data-query
SKILL.md
目标
根据"需求文本 + 数仓目录"生成可执行的最终 SQL,满足可读、可执行、可验收。
默认策略(减少询问,先出结果)
核心原则:不要过多询问,先出 SQL,用户看完有问题再反馈调整。
| 项目 | 默认行为 |
|---|---|
| 数仓目录 | 当前目录(搜不到再问) |
| 输出字段 | 自行决定(不要问用户) |
| 时间范围 | 最新分区 MAX(dt)(不要问) |
| 分层选表 | ADS → DWS → DWT(不要问) |
| 表名格式 | 带库名前缀,prod 环境 |
流程
- 建立目录索引:运行
scripts/build_catalog.py生成 catalog - 选表:按 ADS → DWS → DWT 优先级,用
scripts/search_catalog.py检索 - 读表文档:确认粒度、分区字段、指标口径
- 组装 SQL:
- 数组字段默认用
LATERAL VIEW EXPLODE全部展开 - 多条件筛选明确交集/并集逻辑
- 分区过滤用
SELECT MAX(dt)动态获取 - CTE 结构:
base→agg→dim→final
- 数组字段默认用
- 自检:字段存在、join key 类型一致、group by 与 select 一致、分区下推
- 输出:带库名的可执行 SQL + 中文别名
护栏
- 禁止生成破坏性语句(
DROP/TRUNCATE/DELETE/INSERT OVERWRITE) - 禁止 TRANSFORM 函数、SELECT/ON 中的子查询表达式(Hive 兼容)
- 口径不确定时给出多分支 SQL 或在注释中说明假设
收尾
每次交付后:
- 写入日志(
scripts/log_qa.py) - 问用户:"本次结果是否可用?回复
good或bad+ 原因" - 更新日志标签
资源
| 用途 | 路径 |
|---|---|
| 生成索引 | scripts/build_catalog.py |
| 检索候选表 | scripts/search_catalog.py |
| SQL 静态检查 | scripts/check_query.py |
| 记录日志 | scripts/log_qa.py |
| 需求问卷 | references/问数需求问卷模板.md |
| 方言兼容 | references/方言与兼容性.md |
| 调用示例 | references/调用示例.md |
Weekly Installs
7
Repository
deletexiumu/age…ills-hubGitHub Stars
2
First Seen
Jan 24, 2026
Security Audits
Installed on
claude-code6
codex5
gemini-cli4
antigravity4
windsurf4
opencode4