Agent Skillsclidey/whodb › query-builder

query-builder

GitHub

将自然语言数据查询转换为SQL。通过解析用户意图,结合数据库Schema生成并执行SQL查询,支持多数据库方言及安全限制,适用于自助数据分析场景。

cli/external-plugin/whodb/skills/query-builder/SKILL.md clidey/whodb

Trigger Scenarios

用户用自然语言询问数据统计或筛选条件 需要基于当前数据库结构生成查询语句

Install

npx skills add clidey/whodb --skill query-builder -g -y
More Options

Non-standard path

npx skills add https://github.com/clidey/whodb/tree/main/cli/external-plugin/whodb/skills/query-builder -g -y

Use without installing

npx skills use clidey/whodb@query-builder

指定 Agent (Claude Code)

npx skills add clidey/whodb --skill query-builder -a claude-code -g -y

安装 repo 全部 skill

npx skills add clidey/whodb --all -g -y

预览 repo 内 skill

npx skills add clidey/whodb --list

SKILL.md

Frontmatter
{
    "name": "query-builder",
    "description": "Convert natural language questions into SQL queries. Activates when users ask data questions in plain English like \"show me users who signed up last week\" or \"find orders over $100\"."
}

Query Builder

Convert natural language questions into SQL queries using the database schema.

When to Use

Activate when user asks questions like:

  • "Show me all users who signed up last month"
  • "Find orders greater than $100"
  • "Which products have low inventory?"
  • "Get the top 10 customers by total spend"

Workflow

1. Understand the Schema

Before generating SQL, always check the table structure:

whodb_tables(connection="...") → Get available tables
whodb_columns(table="relevant_table") → Get column names and types

2. Identify Intent

Parse the natural language request:

  • Subject: What entity? (users, orders, products)
  • Filter: What conditions? (last month, > $100, active)
  • Aggregation: Count, sum, average, max, min?
  • Grouping: By what dimension?
  • Ordering: Sort by what? Ascending/descending?
  • Limit: How many results?

3. Map to Schema

  • Match entities to table names
  • Match attributes to column names
  • Identify foreign key joins needed

4. Generate SQL

Build the query following SQL best practices:

SELECT columns
FROM table
[JOIN other_table ON condition]
WHERE filters
[GROUP BY columns]
[HAVING aggregate_condition]
ORDER BY column [ASC|DESC]
LIMIT n;

5. Execute and Present

whodb_query(query="generated SQL")

Translation Patterns

Natural Language SQL Pattern
"last week/month/year" WHERE date_col >= DATE_SUB(NOW(), INTERVAL 1 WEEK)
"more than X" / "greater than X" WHERE col > X
"top N" ORDER BY col DESC LIMIT N
"how many" SELECT COUNT(*)
"total" / "sum of" SELECT SUM(col)
"average" SELECT AVG(col)
"for each" / "by" GROUP BY col
"between X and Y" WHERE col BETWEEN X AND Y
"contains" / "like" WHERE col LIKE '%term%'
"starts with" WHERE col LIKE 'term%'
"is empty" / "is null" WHERE col IS NULL
"is not empty" WHERE col IS NOT NULL

Date Handling by Database

PostgreSQL

WHERE created_at >= NOW() - INTERVAL '7 days'
WHERE created_at >= DATE_TRUNC('month', CURRENT_DATE)

MySQL

WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)
WHERE created_at >= DATE_FORMAT(NOW(), '%Y-%m-01')

SQLite

WHERE created_at >= DATE('now', '-7 days')
WHERE created_at >= DATE('now', 'start of month')

Examples

"Show me users who signed up this month"

SELECT * FROM users
WHERE created_at >= DATE_TRUNC('month', CURRENT_DATE)
ORDER BY created_at DESC;

"Find the top 5 products by sales"

SELECT p.name, SUM(oi.quantity) as total_sold
FROM products p
JOIN order_items oi ON p.id = oi.product_id
GROUP BY p.id, p.name
ORDER BY total_sold DESC
LIMIT 5;

"How many orders per customer?"

SELECT customer_id, COUNT(*) as order_count
FROM orders
GROUP BY customer_id
ORDER BY order_count DESC;

Safety Rules

  • Always use LIMIT for exploratory queries (default: 100)
  • Never generate DELETE, UPDATE, or DROP unless explicitly requested
  • Warn if query might return large result sets
  • Use table aliases for readability in JOINs

Version History

  • 1ed87bc Current 2026-08-20 10:41

Same Skill Collection

cli/external-plugin/openai-skills/whodb/SKILL.md
cli/external-plugin/whodb/skills/schema-designer/SKILL.md
cli/external-plugin/whodb/skills/whodb/SKILL.md
cli/skills/query-builder/SKILL.md
cli/skills/schema-designer/SKILL.md
cli/skills/whodb/SKILL.md
.agents/skills/impeccable/SKILL.md

Metadata

Files
0
Version
4e7b24f
Hash
747b7b91
Indexed
2026-08-20 10:41

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-29 05:11
浙ICP备14020137号-1 $Carte des visiteurs$