📦 SQL智能助手

v1.0.0

SQL智能助手,支持SQL执行、重写优化、质量分析、数据分析、智能补全、模式查询、批量执行、数据导入导出。 使用场景: - 用户说"执行这个SQL" → 执行 或直接 dbskiter sql "SELECT..." - 用户说"优化这个SQL" → rewrite - 用户说"分析SQL质量"...

0· 0·0 当前·0 累计
0
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
medium confidence
The 技能's purpose (a SQL 助手) matches the instructions, but it references an external 命令行工具 (dbskiter), file系统 导入/导出, and implicit database 凭证s without declaring the binary, 凭证s, or config paths — those omissions make its real requirements and risks unclear.
评估建议
This 技能 looks like a sensible SQL 辅助工具, but it depends on an external 工具 ('dbskiter') and will 运行 arbitrary SQL and file 导入/导出 commands. Before 安装ing: 1) 验证 the 技能's source/trustworthiness and where 'dbskiter' comes from; 2) confirm how database 凭证s are supplied (env vars, ~/.dbskiter, 系统 keychAIn) and avoid exposing production 凭证s — prefer a read-only or sandbox DB user; 3) be aware batch/导入 commands can read local files and 导出 can write arbitrary paths; 4) if you don't control or trust the dbs...
详细分析 ▾
用途与能力
The 技能.md explicitly requires 运行ning the external 命令行工具 'dbskiter' for all functionality (执行, rewrite, analyze, 导入/导出, batch, 模式, etc.), but the 技能 metadata declares no required binaries, no 安装 steps, and no primary 凭证. That mismatch (calling a specific 命令行工具 while not declaring it) is an incoherence: a consumer would reasonably need the dbskiter binary and database 凭证s to use this 技能.
指令范围
运行time instructions tell the 代理 to 执行 arbitrary SQL (including batch files and 导入s) and to read/write files (导出/导入, batch <file>). Those actions are within the 状态d SQL-助手 purpose, but the instructions do not specify where database 凭证s/config are read from or any limits on file paths. This leaves open the possibility that the 技能 will 访问 local files or privileged DBs in ways the user didn't expect.
安装机制
No 安装 spec or code is provided (instruction-only 技能), so nothing will be written to disk by the 技能 安装er itself. This is lower risk, but it shifts attention to the external 命令行工具 'dbskiter' which the instructions rely on being present.
凭证需求
The 技能 declares no required 环境 variables or 凭证s, yet its commands require a --database argument and implicitly depend on whatever 凭证s/config the 'dbskiter' 命令行工具 uses (env vars, config files, or 系统 keychAIns). The absence of any declared 凭证 requirements is disproportionate and ambiguous: the 代理 运行ning these commands could end up using existing local DB 凭证s or config without the user realizing.
持久化与权限
Flags show always:false and standard 模型 invocation allowed. The 技能 does not 请求 persistent presence or modifications to other 技能s. Autonomous invocation is allowed (default) — that is normal but combined with the other concerns increases potential impact.
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

安装命令

点击复制
官方npx clawhub@latest install dbskiter-sql-master
镜像加速npx clawhub@latest install dbskiter-sql-master --registry https://cn.longxiaskill.com

技能文档

SQL Master 技能 目标

帮助用户执行SQL、优化SQL、分析SQL质量、理解数据结构。

何时使用

当用户提到以下关键词时使用此技能:

用户说法 执行命令 说明 "执行SQL" / "跑一下这个SQL" dbskiter --输出-mode=AI --database= sql "" 或 dbskiter --输出-mode=AI --database= sql 执行 "" 执行SQL语句 "优化SQL" / "重写SQL" dbskiter --输出-mode=AI --database= sql rewrite "" 重写SQL优化性能 "分析SQL" / "SQL质量" dbskiter --输出-mode=AI --database= sql analyze "" 分析SQL质量评分 "分析数据" / "数据统计" dbskiter --输出-mode=AI --database= sql data "" 分析查询结果数据特征 "SQL补全" / "自动完成" dbskiter --输出-mode=AI --database= sql complete "<部分SQL>" 智能补全建议 "表结构" / "模式" dbskiter --输出-mode=AI --database= sql 模式 --table=<表名> 查看表结构 "有哪些表" dbskiter --输出-mode=AI --database= sql 模式 列出所有表 "批量执行SQL文件" dbskiter --输出-mode=AI --database= sql batch <文件> 批量执行文件中的SQL "导出数据" dbskiter --输出-mode=AI --database= sql 导出 --table=<表名> --输出=<文件> 导出表数据 "导入数据" dbskiter --输出-mode=AI --database= sql 导入 <文件> --table=<表名> 导入数据到表 核心命令(9个)

  • 执行SQL
dbskiter --输出-mode=AI --database=<数据库名> sql 执行 ""

参数:

--params='{"key": "value"}':SQL参数(JSON格式) --limit=100:限制返回行数

示例:

# 基础查询 dbskiter --输出-mode=AI --database=prod sql 执行 "SELECT FROM users LIMIT 10"

# 带参数 dbskiter --输出-mode=AI --database=prod sql 执行 "SELECT FROM users WHERE age > %(age)s" --params='{"age": 18}'

# 限制返回行数 dbskiter --输出-mode=AI --database=prod sql 执行 "SELECT FROM orders" --limit=50

  • 重写SQL优化
dbskiter --输出-mode=AI --database=<数据库名> sql rewrite ""

功能:

展开 SELECT 为具体字段 优化 WHERE 条件 推荐索引 重写低效JOIN

示例:

# 优化SELECT dbskiter --输出-mode=AI --database=prod sql rewrite "SELECT FROM users WHERE id = 1" # 输出:SELECT id, name, emAIl FROM users WHERE id = 1

# 优化复杂查询 dbskiter --输出-mode=AI --database=prod sql rewrite "SELECT FROM orders o JOIN users u ON o.user_id = u.id WHERE u.状态 = 'active'"

  • 分析SQL质量
dbskiter --输出-mode=AI --database=<数据库名> sql analyze ""

输出:

质量评分(0-100分) 等级(A/B/C/D/F) 问题列表 优化建议

评分标准:

90-100分:A级(优秀) 80-89分:B级(良好) 70-79分:C级(一般) 60-69分:D级(较差) <60分:F级(危险)

示例:

dbskiter --输出-mode=AI --database=prod sql analyze "SELECT FROM users WHERE emAIl = 'test@test.com'"

  • 数据分析
dbskiter --输出-mode=AI --database=<数据库名> sql data "<查询SQL>"

功能:分析查询结果的数据特征

每列的数据类型 空值数量 唯一值数量 数值列的统计(最小/最大/平均值) 示例值

示例:

# 分析订单数据 dbskiter --输出-mode=AI --database=prod sql data "SELECT FROM orders WHERE 创建d_at > '2024-01-01'"

# 分析用户数据 dbskiter --输出-mode=AI --database=prod sql data "SELECT age, city, 状态 FROM users"

  • SQL智能补全
dbskiter --输出-mode=AI --database=<数据库名> sql complete "<部分SQL>"

功能:根据部分SQL提供补全建议

表名补全 字段名补全 SQL关键字补全 函数补全

示例:

# 补全表名 dbskiter --输出-mode=AI --database=prod sql complete "SELECT FROM "

# 补全字段 dbskiter --输出-mode=AI --database=prod sql complete "SELECT id, name, "

# 补全WHERE条件 dbskiter --输出-mode=AI --database=prod sql complete "SELECT FROM users WHERE "

  • 模式查询
# 列出所有表 dbskiter --输出-mode=AI --database=<数据库名> sql 模式

# 查看指定表结构 dbskiter --输出-mode=AI --database=<数据库名> sql 模式 --table=<表名>

输出:

所有表名列表 表字段详情(名称、类型、是否可空、默认值) 索引信息

示例:

# 列出所有表 dbskiter --输出-mode=AI --database=prod sql 模式

# 查看users表结构 dbskiter --输出-mode=AI --database=prod sql 模式 --table=users

# 查看orders表结构和索引 dbskiter --输出-mode=AI --database=prod sql 模式 --table=orders

  • 导出数据
# 导出表数据 dbskiter --输出-mode=AI --database=<数据库名> sql 导出 --table=<表名> --输出=<文件路径> --格式化=<格式>

# 导出查询结果 dbskiter --输出-mode=AI --database=<数据库名> sql 导出 --查询="" --输出=<文件路径> --格式化=<格式>

参数:

--table: 表名(与--查询二选一) --查询: SQL查询语句(与--table二选一) --输出, -o: 输出文件路径(必需) --格式化, -f: 导出格式(csv/json/sql,默认csv) --where: WHERE条件(仅table模式) --limit: 限制导出行数

示例:

# 导出users表为CSV dbskiter --输出-mode=AI --database=prod sql 导出 --table=users --输出=users.csv

# 导出为JSON格式 dbskiter --输出-mode=AI --database=prod sql 导出 --table=users --输出=users.json --格式化=json

# 导出查询结果 dbskiter --输出-mode=AI --database=prod sql 导出 --查询="SELECT FROM orders WHERE 状态='pending'" --输出=pending_orders.csv

# 只导出前1000行 dbskiter --输出-mode=AI --database=prod sql 导出 --table=users --输出=users.csv --limit=1000

  • 导入数据
dbskiter --输出-mode=AI --database=<数据库名> sql 导入 <文件路径> --table=<表名> --格式化=<格式>

参数:

--table, -t: 目标表名(必需) --格式化, -f: 文件格式(csv/json/sql,默认csv) --columns: 指定列名(逗号分隔,CSV格式用) --batch-size: 批量插入大小(默认1000)

示例:

# 从CSV导入 dbskiter --输出-mode=AI --database=prod sql 导入 users.csv --table=users

# 从JSON导入 dbskiter --输出-mode=AI --database=prod sql 导入 users.json --table=users --格式化=json

# 从SQL文件导入 dbskiter --输出-mode=AI --database=prod sql 导入 users.sql --格式化=sql

# 指定列名导入 dbskiter --输出-mode=AI --database=prod sql 导入 data.csv --table=users --columns=id,name,emAIl

# 调整批量大小 dbskiter --输出-mode=AI --database=prod sql 导入 large_data.csv --table

数据来源ClawHub ↗ · 中文优化:龙虾技能库