db-readonly

TotalClaw 作者 totalclaw

针对 MySQL 或 PostgreSQL 运行安全的只读查询以进行数据检查、报告和故障排除。当用户要求读取表、检查架构、计算行数、示例数据或导出查询结果而不修改数据时使用。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~reed1898-db-readonly
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~reed1898-db-readonly/file -o reed1898-db-readonly.md
## 概述(中文)

针对 MySQL 或 PostgreSQL 运行安全的只读查询以进行数据检查、报告和故障排除。当用户要求读取表、检查架构、计算行数、示例数据或导出查询结果而不修改数据时使用。

## 原文

# db-readonly

Use this skill for database read tasks only.

## What this skill does

- Connect to **PostgreSQL** or **MySQL** using connection env vars
- Execute **SELECT / WITH / EXPLAIN** queries only
- Optionally save output to CSV/TSV/JSON
- Block risky SQL (`INSERT`, `UPDATE`, `DELETE`, `DROP`, `ALTER`, etc.)

## Connection env vars

### PostgreSQL

- `PGHOST`
- `PGPORT` (optional, default 5432)
- `PGDATABASE`
- `PGUSER`
- `PGPASSWORD`

### MySQL

- `MYSQL_HOST`
- `MYSQL_PORT` (optional, default 3306)
- `MYSQL_DATABASE`
- `MYSQL_USER`
- `MYSQL_PASSWORD`

## Run

Use script:

- `scripts/db_readonly.sh postgres "SELECT now();"`
- `scripts/db_readonly.sh mysql "SELECT NOW();"`

Export example:

- `scripts/db_readonly.sh postgres "SELECT * FROM users LIMIT 100" --format csv --out /tmp/users.csv`

## Safety rules

1. Refuse non-read SQL.
2. Prefer `LIMIT` for exploratory queries.
3. When user asks for updates/deletes/schema changes, ask explicit confirmation and do not run via this skill.
4. Avoid printing secrets from env vars.

## Reference

- Query cookbook: `references/query-cookbook.md`