用途:把 SQL 代码规范的“看起来没问题”转成可重复的工具证据,用于提交前 lint、格式检查、可逆自动修复和 CI 中 sqlfluff lint '{file}' 相关失败的诊断。
主要能力:按 .sql 文件与项目标记识别 SQL 工作区;运行 sqlfluff lint '{file}' 并保留退出码、作用域和工具版本;区分格式、静态规则、配置、依赖与环境类失败;用 sqlfluff fix 处理可逆问题并复扫;把 lint、format、compile、test、security 证据分层汇报。
使用方式:先确认仓库根或模块根,读取仓库现有配置与 CI 中的权威命令;探测工具 sqlfluff --version;工具准备为 pip install sqlfluff。只读检查用 bash -c 'find . -name '"'"'.sql'"'"' -type f -not -path '"'"'/node_modules/*'"'"' -print0 | xargs -0 -r sqlfluff lint'。之后按失败分型,再执行受控修复 sqlfluff fix,最后复跑同一 lint 命令与项目已有测试构建。输出模板包含范围、工具版本、命令、状态(PASS/FAIL/UNVERIFIED/PLANNED)、发现分类、修改、复验与未验证项。
适用场景:用户要求检查或修复 SQL 规范;AI 修改 .sql 后做提交前验证;CI 出现 sqlfluff 相关失败;判断某问题能否自动修复或需人工处理。
限制:不把 formatter 通过当作编译、测试或安全审计通过;工具缺失、版本不兼容或配置无法加载时记为 UNVERIFIED,不声称通过;不静默安装工具、升级依赖或修改团队规则;不用 suppress/ignore/调高阈值掩盖问题;不覆盖项目已有 ignore、dialect、target 或版本约束;SQLFluff 必须设置正确方言,否则结果不能用于数据库兼容性结论。数据与安全:不收集、上传或存储用户代码和凭据,默认只读本地配置并运行本地工具,不联网安装依赖;自动修复前先检查 diff,破坏性或大范围修改需用户明确确认。语言语法学习、安全审计或许可证治理应改用对应专门技能。本技能状态为 stable(自 Codeguard V0.3),文件扩展名 .sql,无专用项目标记文件,接入以仓库现有配置为准。