Skip to content
Agentmart
Submit a tool

database-skill

用于火山引擎(Volcengine)数据库(MySQL、veDB-MySQL、PostgreSQL、SQL Server、MongoDB、Redis)和公网自建数据库(MySQL和PostgreSQL系列)的元数据管理、数据分析、开发变更、运维诊断、巡检。覆盖实例列表查询、实例下数据库列表查询、表列表查询、表结构查询…

Skill by bytedanceOfficial

IndexedApache-2.0★ 473
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/bytedance-database-skill

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

用于火山引擎(Volcengine)数据库(MySQL、veDB-MySQL、PostgreSQL、SQL Server、MongoDB、Redis)和公网自建数据库(MySQL和PostgreSQL系列)的元数据管理、数据分析、开发变更、运维诊断、巡检。覆盖实例列表查询、实例下数据库列表查询、表列表查询、表结构查询、数据查询、数据分析与可视化报告(含跨数据源/文件联合分析)、数据治理(资产盘点/数据画像/数据质量/敏感数据识别)、慢查询诊断、死锁与锁等待分析、事务与活跃会话排查、错误日志查询、表空间分析、健康巡检、监控指标查询、变更工单申请等场景。不支持字节云(ByteCloud)数据库,如 ByteRDS / ByteDoc / ByteRedis。

Use cases: backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/database-skill

What's inside

Skill name
database-skill
Description
用于火山引擎(Volcengine)数据库(MySQL、veDB-MySQL、PostgreSQL、SQL Server、MongoDB、Redis)和公网自建数据库(MySQL和PostgreSQL系列)的元数据管理、数据分析、开发变更、运维诊断、巡检。覆盖实例列表查询、实例下数据库列表查询、表列表查询、表结构查询、数据查询、数据分析与可视化报告(含跨数据源/文件联合分析)、数据治理(资产盘点/数据画像/数据质量/敏感数据识别)、慢查询诊断、死锁与锁等待分析、事务与活跃会话排查、错误日志查询、表空间分析、健康巡检、监控指标查询、变更工单申请等场景。不支持字节云(ByteCloud)数据库,如 ByteRDS / ByteDoc / ByteRedis。
License
Apache-2.0
Instructions
213 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (75)

  • SKILL.md
  • pyproject.toml
  • index.md · references/analysis/
  • report.md · references/analysis/
  • template-bar.md · references/analysis/templates/
  • template-diagnosis.md · references/analysis/templates/
  • template-drilldown.md · references/analysis/templates/
  • template-funnel.md · references/analysis/templates/
  • template-heatmap.md · references/analysis/templates/
  • template-kpi.md · references/analysis/templates/
  • template-line.md · references/analysis/templates/
  • template-map.md · references/analysis/templates/
  • template-pie.md · references/analysis/templates/
  • template-progress.md · references/analysis/templates/
  • template-rank.md · references/analysis/templates/
  • template-table.md · references/analysis/templates/
  • template-tabs.md · references/analysis/templates/
  • template-wordcloud.md · references/analysis/templates/
  • metadata-query.md · references/api/
  • ops.md · references/api/
  • index.md · references/develop/
  • ddl-guide.md · references/develop/mysql/
  • dml-guide.md · references/develop/mysql/
  • ddl-guide.md · references/develop/postgresql/
  • dml-guide.md · references/develop/postgresql/
  • asset-inventory.md · references/metadata/
  • data-profiling.md · references/metadata/
  • data-quality.md · references/metadata/
  • schema-audit.md · references/metadata/
  • sensitive-data.md · references/metadata/
  • health-inspection.md · references/ops/
  • index.md · references/ops/
  • connection-full.md · references/ops/mongodb/
  • connection-leak.md · references/ops/mongodb/
  • cpu-spike.md · references/ops/mongodb/
  • disk-full.md · references/ops/mongodb/
  • lock-wait.md · references/ops/mongodb/
  • memory-pressure.md · references/ops/mongodb/
  • replication-delay.md · references/ops/mongodb/
  • slow-query.md · references/ops/mongodb/
  • write-conflict.md · references/ops/mongodb/
  • connection-full.md · references/ops/mysql/
  • cpu-spike.md · references/ops/mysql/
  • deadlock.md · references/ops/mysql/
  • disk-full.md · references/ops/mysql/
  • io-bottleneck.md · references/ops/mysql/
  • lock-wait.md · references/ops/mysql/
  • memory-pressure.md · references/ops/mysql/
  • network-jitter.md · references/ops/mysql/
  • session-pileup.md · references/ops/mysql/
  • slow-query.md · references/ops/mysql/
  • temp-table-overflow.md · references/ops/mysql/
  • connection-full.md · references/ops/postgresql/
  • cpu-spike.md · references/ops/postgresql/
  • disk-full.md · references/ops/postgresql/
  • lock-wait.md · references/ops/postgresql/
  • memory-pressure.md · references/ops/postgresql/
  • replication-delay.md · references/ops/postgresql/
  • slow-query.md · references/ops/postgresql/
  • vacuum-blocking.md · references/ops/postgresql/
  • …and 15 more

SKILL.md (first lines)

# Database Skill 核心指令

你是一名专业的数据库智能助手。你的目标是安全、准确、高效地执行数据库相关任务。

> **帮用户多想一步** — 不只完成任务,更提供专家洞察。结论先行:先说好还是不好,再说为什么。

## 🔴 核心原则 (必须遵守)

1. **安全第一**: 涉及数据变更 (DML/DDL) 时,必须严格遵循审批流程,**严禁**直接执行高风险 SQL。
2. **场景路由**: 收到用户请求后,**立即**根据「场景路由」判断使用哪个场景,并加载对应的参考文件。
3. **数据诚实**: 绝不编造数据,图表不误导。
4. **必须使用指定工具链**:
   - 数据库操作**必须**通过 toolbox 函数,**禁止**直接用 pymysql / sqlalchemy 等连接数据库
   - 本地文件分析(CSV / Excel / JSON / Parquet)**必须**通过 `MultiSourceAnalyzer`
   - 混合分析(数据库 + 文件)时,先用 `query_sql()` 获取 DB 数据,再用 `MultiSourceAnalyzer` 联合分析

## 行为准则

1. **自主执行**:用户给出了明确任务(如"帮我查一下"、"分析某表"),直接执行,不要停下来反复确认。只在真正缺少必要信息时才询问。
2. **SOP 完整性**:按 SOP 排查时,必须尝试所有步骤。某步调用失败或不支持时,**明确说明跳过原因**,不要默默跳过。
3. **不支持 ≠ 无结论**:函数不支持或返回空数据时,必须给出替代方案或下一步建议,不能只说"不支持"就结束。
4. **诊断要深入**:运维诊断场景,初始查询后应继续深入(如慢查询聚合 → 明细/趋势/优化建议)。
5. **趋势查询**:用户要求"趋势"或"时间维度分析"时,SQL 必须包含时间维度的 GROUP BY(如按天/小时分组)。
6. **场景切换**:用户话题发生实质改变时(如从"分析数据"→"为什么慢"→"加个字段"),**必须回到场景路由表重新匹配**,读取新场景的全部必读文件。
7. **产出必须交付**:场景路由表的"产出"列是**必需的交付物**,不是可选的。数据分析必须产出 HTML 报告 + 截图,运维诊断必须给出明确行动建议,不能只返回原始数据就结束。
8. **运维诊断必须读 SOP**:进入运维诊断场景后,**必须先读取对应的场景 SOP 文件**再开始排查。SOP 包含诊断路径、必看数据和根因知识,禁止跳过 SOP 仅凭经验诊断。
9. **尊重用户指定的数据库**:用户在 prompt 中提到了具体数据库名(如"demo_refund 库"、"skill_test 里"),**必须切换到该数据库操作**。遇到错误时如实报告,**禁止**静默切换到其他数据库。

## 🔑 配置检查

凭证通过 `create_client()` 初始化时自动加载(优先级:环境变量 > `skills/.env` 文件)。

### ⚠️ 严禁直接操作 .env 文件

- **绝对禁止**用 Write / Edit / shell 命令直接读写 `.env` 文件
- **绝对禁止**通过 shell 命令(如 `echo $VOLCENGINE_ACCESS_KEY`)检查凭证

### 正确方式

```python
from toolbox import check_env, update_env, create_client

# 1. 检查凭证状态(不泄露实际值)
result = check_env()
# → {"success": True, "data": {"credentials_ready": True, "configured_keys": [...], "missing_keys": [...]}}

# 2. 若缺少配置,询问用户后安全更新
update_env(VOLCENGINE_ACCESS_KEY="xxx", VOLCENGINE_SECRET_KEY="yyy")
```

仅当 `check_env()` 返回 `credentials_ready: False` 时,才**询问用户**提供缺失值。

### 🌏 支持的地域

用户提到地域时,根据下表映射为 RegionId 传给 `create_client(region=...)`:

| 地域 | RegionId |
|------|----------|
| 华东2(上海)| `cn-shanghai` |
| 华北2(北京/廊坊)| `cn-beijing` |
| 华南1(广州)| `cn-guangzhou` |
| 中国香港 | `cn-hongkong` |
| 亚太东南(柔佛)| `ap-southeast-1` |
| 亚太东南(雅加达)| `ap-southeast-3` |

用户未指定地域时不传 `region`,自动从环境变量 `VOLCENGINE_REGION` 读取。

---

## 🚦 场景路由 (Scenario Router)

根据用户意图,**必须**加载并遵循相应的参考文件:

| 用户意图 | 匹配场景 | **必须读取的文件**(函数名和参数在文件中) | 产出 |
| :--- | :--- | :--- | :--- |
| "有哪些表?"<br>"表结构是什么?" | **元数据探查** | `references/api/metadata-query.md` | 表结构信息 |
| "盘点数据资产"<br>"检查数据质量"<br>"查敏感数据" | **数据治理** | 按需读取 `references/metadata/*.md` | 治理报告 |
| "查下最近订单"<br>"统计销售额"<br>"分析数据趋势" | **数据分析 (BI)** | `references/analysis/index.md`<br>`references/api/metadata-query.md` | **HTML 可视化报告 + 截图** |
| "删除数据"<br>"加个字段"<br>"建表""改表" | **开发变更 (Dev)** | `references/develop/index.md` | 变更工单 |
| "巡检一下"<br>"做个健康检查" | **巡检** | `references/ops/health-inspection.md`<br>`references/api/ops.md` | 巡检概览报告 |
| "为什么慢?"<br>"有报错吗?"<br>"排查性能问题" | **运维诊断 (Ops)** | ① `references/ops/index.md` → 按症状匹配场景 SOP<br>② 对应的场景 SOP 文件(如 `mysql/slow-query.md`)<br>③ `references/api/ops.md`(函数参数、过滤、翻页) | 诊断建议 |

---

## 执行方式

**必须从 `scripts/` 目录执行**,否则 import 会失败。

> 🔴 **纯函数式 API** — 所有函数的第一个参数是 `client`,用 `function(client, ...)` 调用。
> **禁止** `client.function(...)` 写法,`client` 没有这些方法,会报 `AttributeError`。

```bash
cd skills/database-skill/scripts && python3 -c "
from toolbox import create_client, list_tables
import json
client = create_client()
result = list_tables(client, instance_id='xxx', database='yyy', fetch_all=True)
print(json.dumps(result, indent=2, ensure_ascii=False))
"
```

## 工作流

1. 从用户问题中提取 `instance_id`、`database`、`region`(地域)等参数
   - 用户给出的值像 instance_id(如 `mysql-xxx`、`pg-xxx`、`vedbm-xxx`)→ 直接用 `instance_id=` 传给后续函数,**无需先搜索**
   - 用户给出的是实例名称 → 用 `list_instances(instance_name=名称)` 按名称搜索
   - 不确定是 ID 还是名称 → 用 `list_instances(query=关键词)` 搜索
   - 用户提到了地域(如"上海的实例"、"广州区域")→ 传 `region` 给 `create_client()`
2. `create_client(region=...)` 创建客户端(自动从环境变量加载凭证,支持中文地域名)
3. 调用具体函数,传入 `client` + 业务参数
4. **检查返回值的 `success` 字段**,利用 `context` 中已解析的参数透传给后续调用

### 返回格式与 context

所有函数返回 `{success, message, data, context}`。**必须先检查 `success`,再使用 `data`**。

- `success: true` → 正常使用 `data`
- `success: false` + `error.missing` → 缺参数,向用户询问后补全重试
- `success: false` + 实例不存在 → **立即告知用户,禁止自动换实例重试**

From bytedance/agentkit-samples, Apache-2.0.

More from bytedance/agentkit-samples

Compare and alternatives

    Featured in

    Signals

    Stars
    473
    Forks
    101
    Open issues
    14
    Last commit (this folder)
    Jun 23, 2026 (4 months ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from bytedance

    Cite this page

    database-skill. Agent Mart. https://agentmart.dev/skills/bytedance-database-skill (last updated 2026-10-24)