skills/sql-validate-and-export/SKILL.md
SQL 分段验证、自我修复、结果导出与智能分析。流程:解析SQL → Dataphin MCP 验证元数据 → 自动修复 → 分段执行验证 → 导出 CSV → 智能分析(漏斗解读、异常识别、预判用户问题)。适用场景:"跑一下这个SQL"、"验证这个查询"、"帮我执行并导出"、"分析一下结果"等。
npx skillsauth add OliverOuyang/shuhe-work-skills sql-validate-and-exportInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
SQL 查询在复杂环境中容易出错(字段名错误、表引用错误、JOIN 膨胀等)。本 skill 通过分段验证、逐步合并的方式,确保最终结果可靠,并自动导出为 CSV 文件。最后,从数据和用户角度进行智能分析,预判用户可能追问的问题并提前给出答案。
这个流程模拟了资深数据分析师的工作习惯:先摸清数据,再逐步拼装,最后主动讲故事和提前回答追问——而不是把一张表甩给用户让他们自己看。
mcp__sh_dp_mcp__get_dp_table_meta 获取每张表的字段列表和类型如果发现错误,在用户确认后自动修复:
t2.field → t1.field)修复后重新验证,确保所有引用正确。
按照从简单到复杂的顺序执行,每步验证结果合理性:
Step 1: 单表验证
Step 2: 两表 JOIN 验证
Step 3: 完整查询执行
验证通过后:
{SQL文件名}_{YYYYMMDD_HHMM}.csv
贷前指标_20260407_1430.csv导出完成后,从数据视角和用户视角两个维度自动生成分析:
5.1 数据视角分析
基于查询结果自动识别:
5.2 用户视角预判追问
根据查询的业务语义,提前回答用户最可能追问的 3-5 个问题:
| 问题类型 | 示例 | 生成方法 | |---------|------|---------| | 量级合理性 | "这个数跟预期比是多还是少?" | 对比同类历史查询或全表占比 | | 条件敏感度 | "如果把阈值从 30 改成 60,人数会变多少?" | 从单表验证的分布数据中估算 | | 分支差异 | "A 分支和 B 分支的用户重叠多少?" | 从最终合并逻辑中计算交集 | | 时间趋势 | "这个数是在涨还是在跌?" | 对时间维度做趋势判断 | | 下钻需求 | "能不能按渠道/产品拆分看?" | 识别 SQL 中未使用但可用的维度字段 |
5.3 输出格式
分析结果以结构化方式输出:
### 关键发现
- [发现1]:一句话结论 + 数据支撑
- [发现2]:...
### 预判追问 Q&A
**Q1: [用户可能问的问题]**
A: [基于数据的回答]
**Q2: ...**
A: ...
使用 Dataphin MCP 异步查询:
提交: mcp__sh_dp_mcp__submit_dp_query → 获取 taskId
轮询: mcp__sh_dp_mcp__get_dp_query_status → 间隔 10s+
每步执行后,自动检查以下项目:
| 检查项 | 方法 | 异常标准 | |--------|------|---------| | 记录数膨胀 | JOIN 前后对比 | JOIN 后 > 单表记录数 × 1.05 | | NULL 占比 | count 对比 | 关键维度 NULL > 10% | | 数值范围 | min/max/avg | 超出业务常识(如金额为负、比率 >100%) | | 维度覆盖 | distinct count | 缺少预期的维度值 | | 汇总可对账 | 分维度 sum vs 总计 | 差异 > 0.01% |
mcp__sh_dp_mcp__kill_dp_query 终止,缩小日期范围或加更多过滤条件后重试mcp__sh_dp_mcp__apply_dp_table_permission 申请权限mcp__sh_dp_mcp__get_dp_tables_by_path 搜索正确路径每个 Phase 完成后,输出简洁的中间结果摘要:
testing
Security-first vetting for OpenClaw skills. Use before installing any skill from ClawHub, GitHub, or other sources. Checks for red flags, permission scope, and suspicious patterns.
development
A universal self-improving agent that learns from ALL skill experiences. Uses multi-memory architecture (semantic + episodic + working) to continuously evolve the codebase. Auto-triggers on skill completion/error with hooks-based self-correction.
data-ai
Standardize Jupyter notebooks (.ipynb) for interactive data analysis workflows. Enforces a mandatory cell manifest (M1-M8 + archetype chapters) with tags ([CONFIG]/[SETUP]/[FUNC]/[RUN]/[VIZ]/[EXPORT]), structured markdown sections, and output prefixes ([OK]/[WARN]/[SKIP]). Use when the user wants to standardize, clean up, or create a notebook from scratch. Two archetypes: problem-driven (question-answer analysis) and monitoring (dimension-based periodic reporting).
testing
Execute Jupyter notebooks end-to-end with SQL pre-validation, error diagnosis, and auto-fix loops. Use when "run notebook", "execute notebook", "test notebook", or "validate notebook execution".