write-query

GitHub

根据自然语言描述生成针对特定方言(如Snowflake、BigQuery等)的优化SQL查询。支持自动发现Schema、使用CTE提升可读性,并遵循性能最佳实践,适用于数据提取与分析场景。

data/skills/write-query/SKILL.md anthropics/knowledge-work-plugins

Trigger Scenarios

将自然语言需求转换为SQL 编写包含多CTE和聚合的复杂查询 优化针对大型分区表的查询性能 获取特定数据库方言的语法

Install

npx skills add anthropics/knowledge-work-plugins --skill write-query -g -y
More Options

Non-standard path

npx skills add https://github.com/anthropics/knowledge-work-plugins/tree/main/data/skills/write-query -g -y

Use without installing

npx skills use anthropics/knowledge-work-plugins@write-query

指定 Agent (Claude Code)

npx skills add anthropics/knowledge-work-plugins --skill write-query -a claude-code -g -y

安装 repo 全部 skill

npx skills add anthropics/knowledge-work-plugins --all -g -y

预览 repo 内 skill

npx skills add anthropics/knowledge-work-plugins --list

SKILL.md

Frontmatter
{
    "name": "write-query",
    "description": "Write optimized SQL for your dialect with best practices. Use when translating a natural-language data need into SQL, building a multi-CTE query with joins and aggregations, optimizing a query against a large partitioned table, or getting dialect-specific syntax for Snowflake, BigQuery, Postgres, etc.",
    "argument-hint": "<description of what data you need>"
}

/write-query - Write Optimized SQL

If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.

Write a SQL query from a natural language description, optimized for your specific SQL dialect and following best practices.

Usage

/write-query <description of what data you need>

Workflow

1. Understand the Request

Parse the user's description to identify:

  • Output columns: What fields should the result include?
  • Filters: What conditions limit the data (time ranges, segments, statuses)?
  • Aggregations: Are there GROUP BY operations, counts, sums, averages?
  • Joins: Does this require combining multiple tables?
  • Ordering: How should results be sorted?
  • Limits: Is there a top-N or sample requirement?

2. Determine SQL Dialect

If the user's SQL dialect is not already known, ask which they use:

  • PostgreSQL (including Aurora, RDS, Supabase, Neon)
  • Snowflake
  • BigQuery (Google Cloud)
  • Redshift (Amazon)
  • Databricks SQL
  • MySQL (including Aurora MySQL, PlanetScale)
  • SQL Server (Microsoft)
  • DuckDB
  • SQLite
  • Other (ask for specifics)

Remember the dialect for future queries in the same session.

3. Discover Schema (If Warehouse Connected)

If a data warehouse MCP server is connected:

  1. Search for relevant tables based on the user's description
  2. Inspect column names, types, and relationships
  3. Check for partitioning or clustering keys that affect performance
  4. Look for pre-built views or materialized views that might simplify the query

4. Write the Query

Follow these best practices:

Structure:

  • Use CTEs (WITH clauses) for readability when queries have multiple logical steps
  • One CTE per logical transformation or data source
  • Name CTEs descriptively (e.g., daily_signups, active_users, revenue_by_product)

Performance:

  • Never use SELECT * in production queries -- specify only needed columns
  • Filter early (push WHERE clauses as close to the base tables as possible)
  • Use partition filters when available (especially date partitions)
  • Prefer EXISTS over IN for subqueries with large result sets
  • Use appropriate JOIN types (don't use LEFT JOIN when INNER JOIN is correct)
  • Avoid correlated subqueries when a JOIN or window function works
  • Be mindful of exploding joins (many-to-many)

Readability:

  • Add comments explaining the "why" for non-obvious logic
  • Use consistent indentation and formatting
  • Alias tables with meaningful short names (not just a, b, c)
  • Put each major clause on its own line

Dialect-specific optimizations:

  • Apply dialect-specific syntax and functions (see sql-queries skill for details)
  • Use dialect-appropriate date functions, string functions, and window syntax
  • Note any dialect-specific performance features (e.g., Snowflake clustering, BigQuery partitioning)

5. Present the Query

Provide:

  1. The complete query in a SQL code block with syntax highlighting
  2. Brief explanation of what each CTE or section does
  3. Performance notes if relevant (expected cost, partition usage, potential bottlenecks)
  4. Modification suggestions -- how to adjust for common variations (different time range, different granularity, additional filters)

6. Offer to Execute

If a data warehouse is connected, offer to run the query and analyze the results. If the user wants to run it themselves, the query is ready to copy-paste.

Examples

Simple aggregation:

/write-query Count of orders by status for the last 30 days

Complex analysis:

/write-query Cohort retention analysis -- group users by their signup month, then show what percentage are still active (had at least one event) at 1, 3, 6, and 12 months after signup

Performance-critical:

/write-query We have a 500M row events table partitioned by date. Find the top 100 users by event count in the last 7 days with their most recent event type.

Tips

  • Mention your SQL dialect upfront to get the right syntax immediately
  • If you know the table names, include them -- otherwise Claude will help you find them
  • Specify if you need the query to be idempotent (safe to re-run) or one-time
  • For recurring queries, mention if it should be parameterized for date ranges

Version History

  • 6f13415 Current 2026-07-05 18:27

Same Skill Collection

bio-research/skills/nextflow-development/SKILL.md
bio-research/skills/single-cell-rna-qc/SKILL.md
bio-research/skills/start/SKILL.md
cowork-plugin-management/skills/cowork-plugin-customizer/SKILL.md
cowork-plugin-management/skills/create-cowork-plugin/SKILL.md
customer-support/skills/customer-escalation/SKILL.md
customer-support/skills/customer-research/SKILL.md
customer-support/skills/draft-response/SKILL.md
customer-support/skills/kb-article/SKILL.md
customer-support/skills/ticket-triage/SKILL.md
data/skills/analyze/SKILL.md
data/skills/build-dashboard/SKILL.md
data/skills/create-viz/SKILL.md
data/skills/data-visualization/SKILL.md
data/skills/explore-data/SKILL.md
data/skills/sql-queries/SKILL.md
data/skills/statistical-analysis/SKILL.md
data/skills/validate-data/SKILL.md
design/skills/accessibility-review/SKILL.md
design/skills/design-critique/SKILL.md
design/skills/design-handoff/SKILL.md
design/skills/design-system/SKILL.md
design/skills/research-synthesis/SKILL.md
design/skills/user-research/SKILL.md
design/skills/ux-copy/SKILL.md
engineering/skills/architecture/SKILL.md
engineering/skills/code-review/SKILL.md
engineering/skills/debug/SKILL.md
engineering/skills/deploy-checklist/SKILL.md
engineering/skills/documentation/SKILL.md
engineering/skills/incident-response/SKILL.md
engineering/skills/standup/SKILL.md
engineering/skills/system-design/SKILL.md
engineering/skills/tech-debt/SKILL.md
engineering/skills/testing-strategy/SKILL.md
enterprise-search/skills/digest/SKILL.md
enterprise-search/skills/knowledge-synthesis/SKILL.md
enterprise-search/skills/search-strategy/SKILL.md
enterprise-search/skills/search/SKILL.md
enterprise-search/skills/source-management/SKILL.md
finance/skills/audit-support/SKILL.md
finance/skills/close-management/SKILL.md
finance/skills/financial-statements/SKILL.md
finance/skills/journal-entry-prep/SKILL.md
finance/skills/journal-entry/SKILL.md
finance/skills/reconciliation/SKILL.md
finance/skills/sox-testing/SKILL.md
finance/skills/variance-analysis/SKILL.md
human-resources/skills/comp-analysis/SKILL.md

Metadata

Files
0
Version
69f24af
Hash
4c7ef791
Indexed
2026-07-05 18:27

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