Agent skill
SQL Development
Design efficient database schemas, write optimized queries with proper indexes, and manage data operations following best practices
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/sql-development
SKILL.md
SQL Development
Purpose
Design efficient database schemas, write optimized SQL queries, and manage data operations following database best practices and performance patterns.
When to Use
- Designing database schemas
- Writing data queries
- Optimizing slow queries
- Creating database migrations
- Managing data relationships
Key Capabilities
- Schema Design - Create normalized, efficient table structures
- Query Optimization - Write performant SELECT, INSERT, UPDATE, DELETE
- Index Strategy - Design indexes for query performance
Approach
- Design schema following normalization principles
- Define primary keys, foreign keys, and constraints
- Write queries using proper JOINs and WHERE clauses
- Create indexes for frequently queried columns
- Use EXPLAIN to analyze query performance
- Test with realistic data volumes
Example
Context: Task management database
sql
-- Schema Design
CREATE TABLE tasks (
id VARCHAR(50) PRIMARY KEY,
title VARCHAR(255) NOT NULL,
assigned_agent VARCHAR(100) NOT NULL,
status VARCHAR(20) NOT NULL,
priority VARCHAR(20) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
started_at TIMESTAMP NULL,
completed_at TIMESTAMP NULL,
INDEX idx_status (status),
INDEX idx_agent_status (assigned_agent, status),
INDEX idx_created (created_at)
);
-- Optimized Query
SELECT t.id, t.title, t.status, a.name as agent_name
FROM tasks t
JOIN agents a ON t.assigned_agent = a.agent_file
WHERE t.status IN ('pending', 'active')
AND t.priority = 'high'
ORDER BY t.created_at DESC
LIMIT 10;
Best Practices
- ✅ Use indexes on frequently queried columns
- ✅ Avoid SELECT * - specify needed columns
- ✅ Use prepared statements to prevent SQL injection
- ✅ Normalize data to reduce redundancy
- ❌ Avoid: N+1 query problems
- ❌ Avoid: Missing WHERE clause on large tables
Didn't find tool you were looking for?