Database Implementer Skill
Instructions
- Analyze database requirements from task
- Review data models and relationships
- Create database schema/migrations
- Implement data access layer (models, repositories)
- Write database queries
- Add indexes and constraints
- Return implementation with:
- Migration files
- Model definitions
- Query implementations
- Index and constraint definitions
Examples
Input: "Create User and Task tables"
Output:
-- migrations/001_create_users_tasks.sql
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(60) NOT NULL,
name VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_users_email ON users(email);
CREATE TABLE tasks (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
title VARCHAR(255) NOT NULL,
description TEXT,
status VARCHAR(20) DEFAULT 'todo',
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_tasks_user_id ON tasks(user_id);
CREATE INDEX idx_tasks_status ON tasks(status);
Database Implementation Areas
- Schema Design: Tables, columns, data types
- Migrations: Versioned schema changes
- Relationships: Foreign keys, joins, associations
- Indexes: Performance optimization indexes
- Constraints: Unique, check, not null constraints
- Queries: CRUD operations, complex queries
- Data Access Layer: Models, repositories, ORM usage
- Optimization: Query optimization, indexing strategy
Best Practices
- Normalization: Proper database normalization
- Indexes: Index foreign keys and frequently queried columns
- Migrations: Versioned, reversible migrations
- Constraints: Use database constraints for data integrity
- Performance: Optimize queries, avoid N+1 problems
- Backup Strategy: Consider backup and recovery
1---2name: database-implementer3description: Creates database schemas, migrations, queries, and data access layers. Use when implementing database-related tasks. Handles schema design, migrations, CRUD operations, and database optimization.4---5
6# Database Implementer Skill
7
8## Instructions
9
101. Analyze database requirements from task
112. Review data models and relationships
123. Create database schema/migrations
134. Implement data access layer (models, repositories)
145. Write database queries
156. Add indexes and constraints
167. Return implementation with:
17 - Migration files
18 - Model definitions
19 - Query implementations
20 - Index and constraint definitions
21
22## Examples
23
24**Input:** "Create User and Task tables"
25**Output:**
26```sql
27-- migrations/001_create_users_tasks.sql
28CREATE TABLE users (
29 id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
30 email VARCHAR(255) UNIQUE NOT NULL,
31 password_hash VARCHAR(60) NOT NULL,
32 name VARCHAR(255),
33 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
34 updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
35);
36
37CREATE INDEX idx_users_email ON users(email);
38
39CREATE TABLE tasks (
40 id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
41 title VARCHAR(255) NOT NULL,
42 description TEXT,
43 status VARCHAR(20) DEFAULT 'todo',
44 user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
45 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
46 updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
47);
48
49CREATE INDEX idx_tasks_user_id ON tasks(user_id);
50CREATE INDEX idx_tasks_status ON tasks(status);
51```
52
53## Database Implementation Areas
54
55- **Schema Design**: Tables, columns, data types
56- **Migrations**: Versioned schema changes
57- **Relationships**: Foreign keys, joins, associations
58- **Indexes**: Performance optimization indexes
59- **Constraints**: Unique, check, not null constraints
60- **Queries**: CRUD operations, complex queries
61- **Data Access Layer**: Models, repositories, ORM usage
62- **Optimization**: Query optimization, indexing strategy
63
64## Best Practices
65
66- **Normalization**: Proper database normalization
67- **Indexes**: Index foreign keys and frequently queried columns
68- **Migrations**: Versioned, reversible migrations
69- **Constraints**: Use database constraints for data integrity
70- **Performance**: Optimize queries, avoid N+1 problems
71- **Backup Strategy**: Consider backup and recovery