Agent Skillsopskat/opskat › database

database

GitHub

提供数据库资产配置与 SQL 执行能力,支持 MySQL、PostgreSQL 等多种引擎。通过自动凭据解析和策略检查实现安全读写,涵盖连接配置及 SQLite 远程访问等场景。

internal/ai/skills/database/SKILL.md opskat/opskat

Trigger Scenarios

需要执行 SQL 查询或更新 配置数据库连接资产

Install

npx skills add opskat/opskat --skill database -g -y
More Options

Non-standard path

npx skills add https://github.com/opskat/opskat/tree/main/internal/ai/skills/database -g -y

Use without installing

npx skills use opskat/opskat@database

指定 Agent (Claude Code)

npx skills add opskat/opskat --skill database -a claude-code -g -y

安装 repo 全部 skill

npx skills add opskat/opskat --all -g -y

预览 repo 内 skill

npx skills add opskat/opskat --list

SKILL.md

Frontmatter
{
    "name": "database",
    "description": "Run SQL against a database asset (MySQL, PostgreSQL, SQL Server, SQLite) via exec. Covers SQL syntax and the database scope parameter."
}

Database assets

Command syntax

Pass the SQL verbatim as command:

  • SELECT id, name FROM users LIMIT 10
  • SHOW TABLES
  • DESCRIBE orders
  • UPDATE users SET active = 0 WHERE id = 3

Scope

Use scope to override the default database for this call, e.g. scope: "analytics".

Notes

  • Reads (SELECT / SHOW / DESCRIBE / EXPLAIN) return rows as JSON; writes return an affected-row count.
  • Multi-statement input is split and each statement is policy-checked separately, so a read cannot smuggle a write past approval.
  • Credentials are resolved automatically; never ask the user for a password.

Asset config (for put_asset)

field type required notes
driver string yes "mysql", "postgresql", "mssql", or "sqlite"
host string non-SQLite Hostname or IP
port number no Defaults by driver: 3306 / 5432 / 1433
username string non-SQLite Database account name
password string no Write-only. For non-SQLite, encrypted in the asset; does not create a credential
credential_id number no Existing managed password credential ID; rejected for SQLite
database string no Default database
read_only boolean no Connection-level read-only mode
query_timeout_seconds number no Per-query timeout override, seconds
ssh_asset_id number no SSH asset for remote connections; required by remote SQLite VFS
sqlite_source string SQLite only "local" (default) or "remote_ssh_vfs"
path string SQLite only Absolute database-file path

For non-SQLite drivers, password and credential_id are mutually exclusive. Plaintext is write-only, encrypted in the asset, and never creates a managed credential. SQLite accepts neither password source: local SQLite must not have an SSH asset; remote_ssh_vfs requires one and uses a POSIX absolute remote path.

Examples:

put_asset(name="prod-db", type="database", config={"driver":"postgresql","host":"db.internal","username":"app","password":"..."})
put_asset(name="local-db", type="database", config={"driver":"sqlite","path":"/var/lib/app/data.db"})
put_asset(name="remote-db", type="database", config={"driver":"sqlite","sqlite_source":"remote_ssh_vfs","path":"/srv/data.db","ssh_asset_id":12})

Version History

  • b159e91 Current 2026-08-19 20:20

    新增对 SQLite 的支持,完善资产配置字段(如 driver、ssh_asset_id),增强托管凭据自动化与安全脱敏机制。

  • d6c7a6e 2026-08-16 07:28

    修正文档遗漏了database技能的query_timeout_seconds配置项说明。

  • aeb4bc3 2026-07-24 16:28

Same Skill Collection

internal/ai/skills/etcd/SKILL.md
internal/ai/skills/k8s/SKILL.md
internal/ai/skills/kafka/SKILL.md
internal/ai/skills/local/SKILL.md
internal/ai/skills/mongodb/SKILL.md
internal/ai/skills/oss/SKILL.md
internal/ai/skills/rdp/SKILL.md
internal/ai/skills/redis/SKILL.md
internal/ai/skills/serial/SKILL.md
internal/ai/skills/ssh/SKILL.md
internal/ai/skills/vnc/SKILL.md
plugin/opsctl/skills/opsctl/SKILL.md

Metadata

Files
0
Version
b159e91
Hash
04700b88
Indexed
2026-07-24 16:28

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 07:47
浙ICP备14020137号-1 $방문자$