技能注册表
开发工作流公共技能

Database Operations

面向 AI 代理的安全数据库操作 — 架构检查、只读查询、性能分析、受控迁移,以及通过 Supabase、PlanetScale、Neon 或任意 SQL 数据库进行数据探索。

此技能教授的内容

针对特定工作类型的可复用操作手册。

MCP 服务器告诉代理可用的操作。技能为这些操作添加判断:如何识别任务,遵循哪个顺序,避免什么,以及如何判断结果已完成。

协调数据库操作——检查模式、安全查询数据、性能分析、管理迁移和探索数据模式。适用于查询数据库、检查表模式、分析慢查询、执行迁移、检查索引使用或探索数据分布。

架构

Database Operations 如何指导 ADK-Rust 代理。

技能保持可读和可移植,因为它包含说明而非服务凭证或业务数据。ADK-Rust 将其提供给代理,代理从审核过的工具边界中选择,连接的 MCP 服务器执行经过身份验证的操作。

01

用户请求

代理接收以普通语言表达的目标。

02

Database Operations 技能

匹配意图,提供决策指南,并缩小工具边界。

03

ADK-Rust 代理

规划工作流,并通过运行时流式传输每个关键步骤。

04

mcp-database

对拥有该能力的系统执行经过身份验证的操作。

05

已验证结果

技能的完成规则决定返回给用户的证据。

可移植的说明: SKILL.md · 能力边界: mcp-database · 允许的工具: 22

决策指南

代理如何将请求转化为正确操作。

这些路由直接来自技能说明。它们帮助模型识别意图并选择专注的工具或工作流,而不是在整个能力范围内即兴发挥。

01

“架构”、“表”、“列”、“结构”?

工作流 1:架构检查

02

“查询”、“选择”、“查找数据”、“展示”?

工作流 2:安全查询

03

“慢”、“性能”、“优化”、“索引”?

工作流 3:性能分析

04

“迁移”、“修改”、“添加列”、“创建表”?

工作流 4:迁移

05

“插入”、“更新”、“删除”、“写入”?

工作流 5:受控写入

06

不明确?

先执行 list_tables 以了解数据库结构

经过验证的工作流

可重复的序列以实现有用结果。

工作流将多个工具调用组合成用户实际识别的任务。技能解释顺序和预期结果,而 ADK-Rust 通过共享运行时实时传输代理的进度。

012-4 次调用

模式检查

操作前了解结构

022-3 次调用

安全查询

只读查询,带 LIMIT 和 EXPLAIN

033-4 次调用

性能分析

发现慢查询及缺失索引

043-4 次调用

迁移

生成 → 验证 → 应用并支持回滚

053 次调用

受控写入

验证 → 说明范围 → 执行

工具边界

技能可能使用 22 个已记录工具。

此允许列表由技能声明。它使代理专注于完成此任务所需的操作,而 mcp-database 保留身份验证、验证和连接系统的责任。

list_tables
describe_table
get_relationships
list_indexes
get_database_stats
search_schema
query
sample_data
filter_table
explain_query
get_column_stats
execute
create_index
run_migration
list_migrations
get_slow_queries
get_connections
get_maintenance_status
get_index_usage
generate_schema
get_er_diagram
validate_sql

工作规则

代理应做什么。

  • 遵循决策指南,使用声明的工具边界,并在响应前验证结果。

操作边界

代理应避免什么。

  • 启用此技能进行生产工作前,请完整阅读 SKILL.md。

安装并连接

将技能添加到其预期能力旁边。

安装仓库,使您的 ADK-Rust 技能加载器能发现它,连接 mcp-database,并确认声明的工具可用后,再让代理使用工作流。

安装技能
git clone https://github.com/zavora-ai/skill-database-operations.git \
  ~/.skills/skills/database-operations
ADK-Rust 加载形态
let skills = SkillLoader::from_dir("~/.skills/skills").await?;
let skill = skills.load("database-operations").await?;

let agent = LlmAgentBuilder::new("agent")
    .instruction(skill.instructions())
    .tools(skill.allowed_tools(toolset)?)
    .build()?;

仓库的兼容性声明:需要连接 mcp-database 服务器(支持 Supabase、PlanetScale、Neon 或自定义 API)。

源记录

此技能条目的仓库元数据。

查看公共仓库 ↗
许可证
Apache-2.0
允许的工具
22
参考文献
3
修订
565646477a6f
已更新
2026年5月31日