Check a dataset before analysis
Find missing values, inconsistent formats, duplicates, and questions that could invalidate results.
5,472,259 AI resources indexedWorking toward the world’s largest AI resource index.
Database design, SQL queries, migrations, and optimization. Activate for PostgreSQL, MySQL, SQLite, schema design, queries, indexes, and data modeling.
---
name: database-2c1ae26bdeb5
description: Database design, SQL queries, migrations, and optimization. Activate for PostgreSQL, MySQL, SQLite, schema design, queries, indexes, and data modeling.
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
---
# Database Skill
Provides comprehensive database capabilities for the Golden Armada AI Agent Fleet Platform.
## When to Use This Skill
Activate this skill when working with:
- Database schema design
- SQL query writing and optimization
- Database migrations
- Index optimization
- Data modeling
## PostgreSQL Quick Reference
### Connection
\`\`\`bash
# Connect
psql -h localhost -U postgres -d golden_armada
# Connection string
postgresql://user:password@host:5432/database
# Common psql commands
\l # List databases
\c database_name # Connect to database
\dt # List tables
\d table_name # Describe table
\di # List indexes
\q # Quit
\`\`\`
### Schema Design
\`\`\`sql
-- Create table with common patterns
CREATE TABLE agents (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(100) NOT NULL,
type VARCHAR(50) NOT NULL CHECK (type IN ('claude', 'gpt', 'gemini')),
status VARCHAR(20) DEFAULT 'idle',
config JSONB DEFAULT '{}',
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW(),
deleted_at TIMESTAMPTZ -- Soft delete
);
-- Create index
CREATE INDEX idx_agents_type ON agents(type);
CREATE INDEX idx_agents_status ON agents(status) WHERE deleted_at IS NULL;
CREATE INDEX idx_agents_config ON agents USING GIN(config);
-- Add foreign key
CREATE TABLE tasks (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
agent_id UUID NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
message TEXT NOT NULL,
result TEXT,
status VARCHAR(20) DEFAULT 'pending',
created_at TIMESTAMPTZ DEFAULT NOW()
);
\`\`\`
### Common Queries
\`\`\`sql
-- Basic CRUD
INSERT INTO agents (name, type) VALUES ('agent-1', 'claude') RETURNING *;
SELECT * FROM agents WHERE type = 'claude' AND deleted_at IS NULL;
UPDATE agents SET status = 'active' WHERE id = $1 RETURNING *;
DELETE FROM agents WHERE id = $1;
-- Joins
SELECT a.name, COUNT(t.id) as task_count
FROM agents a
LEFT JOIN tasks t ON a.id = t.agent_id
WHERE a.deleted_at IS NULL
GROUP BY a.id;
-- JSON operations
SELECT * FROM agents WHERE config->>'model' = 'claude-sonnet-5';
SELECT * FROM agents WHERE config @> '{"enabled": true}';
UPDATE agents SET config = config || '{"version": "2.0"}' WHERE id = $1;
-- Window functions
SELECT
name,
created_at,
ROW_NUMBER() OVER (ORDER BY created_at) as row_num,
LAG(created_at) OVER (ORDER BY created_at) as prev_created
FROM agents;
-- CTEs
WITH active_agents AS (
SELECT * FROM agents WHERE status = 'active'
)
SELECT * FROM active_agents WHERE type = 'claude';
\`\`\`
### Migrations
\`\`\`sql
-- Migration: 001_create_agents.sql
BEGIN;
CREATE TABLE agents (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(100) NOT NULL,
type VARCHAR(50) NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_agents_type ON agents(type);
COMMIT;
-- Rollback: 001_create_agents.sql
BEGIN;
DROP TABLE IF EXISTS agents;
COMMIT;
\`\`\`
### Performance Optimization
\`\`\`sql
-- Analyze query plan
EXPLAIN ANALYZE SELECT * FROM agents WHERE type = 'claude';
-- Check index usage
SELECT
schemaname,
tablename,
indexname,
idx_scan,
idx_tup_read
FROM pg_stat_user_indexes;
-- Find slow queries
SELECT
query,
calls,
mean_time,
total_time
FROM pg_stat_statements
ORDER BY mean_time DESC
LIMIT 10;
-- Vacuum and analyze
VACUUM ANALYZE agents;
\`\`\`
## SQLAlchemy ORM
\`\`\`python
from sqlalchemy import Column, String, DateTime, ForeignKey, JSON
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
import uuid
class Agent(Base):
__tablename__ = 'agents'
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
name = Column(String(100), nullable=False)
type = Column(String(50), nullable=False)
status = Column(String(20), default='idle')
config = Column(JSON, default={})
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
tasks = relationship("Task", back_populates="agent", cascade="all, delete-orphan")
class Task(Base):
__tablename__ = 'tasks'
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
agent_id = Column(UUID(as_uuid=True), ForeignKey('agents.id'), nullable=False)
message = Column(String, nullable=False)
result = Column(String)
agent = relationship("Agent", back_populates="tasks")
\`\`\`
## Best Practices
1. **Use UUIDs** for primary keys in distributed systems
2. **Add indexes** for frequently queried columns
3. **Use soft deletes** (`deleted_at`) for important data
4. **JSONB for flexible data**, with GIN indexes
5. **Foreign key constraints** for data integrity
6. **Created/updated timestamps** for auditing
7. **Connection pooling** for performance
---
name: database-2c1ae26bdeb5
description: Database design, SQL queries, migrations, and optimization. Activate for PostgreSQL, MySQL, SQLite, schema design, queries, indexes, and data modeling.
allowed-tools:
- Bash
- Read
- Write
- Edit
- Glob
- Grep
---
# Database Skill
Provides comprehensive database capabilities for the Golden Armada AI Agent Fleet Platform.
## When to Use This Skill
Activate this skill when working with:
- Database schema design
- SQL query writing and optimization
- Database migrations
- Index optimization
- Data modeling
## PostgreSQL Quick Reference
### Connection
\`\`\`bash
# Connect
psql -h localhost -U postgres -d golden_armada
# Connection string
postgresql://user:password@host:5432/database
# Common psql commands
\l # List databases
\c database_name # Connect to database
\dt # List tables
\d table_name # Describe table
\di # List indexes
\q # Quit
\`\`\`
### Schema Design
\`\`\`sql
-- Create table with common patterns
CREATE TABLE agents (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(100) NOT NULL,
type VARCHAR(50) NOT NULL CHECK (type IN ('claude', 'gpt', 'gemini')),
status VARCHAR(20) DEFAULT 'idle',
config JSONB DEFAULT '{}',
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW(),
deleted_at TIMESTAMPTZ -- Soft delete
);
-- Create index
CREATE INDEX idx_agents_type ON agents(type);
CREATE INDEX idx_agents_status ON agents(status) WHERE deleted_at IS NULL;
CREATE INDEX idx_agents_config ON agents USING GIN(config);
-- Add foreign key
CREATE TABLE tasks (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
agent_id UUID NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
message TEXT NOT NULL,
result TEXT,
status VARCHAR(20) DEFAULT 'pending',
created_at TIMESTAMPTZ DEFAULT NOW()
);
\`\`\`
### Common Queries
\`\`\`sql
-- Basic CRUD
INSERT INTO agents (name, type) VALUES ('agent-1', 'claude') RETURNING *;
SELECT * FROM agents WHERE type = 'claude' AND deleted_at IS NULL;
UPDATE agents SET status = 'active' WHERE id = $1 RETURNING *;
DELETE FROM agents WHERE id = $1;
-- Joins
SELECT a.name, COUNT(t.id) as task_count
FROM agents a
LEFT JOIN tasks t ON a.id = t.agent_id
WHERE a.deleted_at IS NULL
GROUP BY a.id;
-- JSON operations
SELECT * FROM agents WHERE config->>'model' = 'claude-sonnet-5';
SELECT * FROM agents WHERE config @> '{"enabled": true}';
UPDATE agents SET config = config || '{"version": "2.0"}' WHERE id = $1;
-- Window functions
SELECT
name,
created_at,
ROW_NUMBER() OVER (ORDER BY created_at) as row_num,
LAG(created_at) OVER (ORDER BY created_at) as prev_created
FROM agents;
-- CTEs
WITH active_agents AS (
SELECT * FROM agents WHERE status = 'active'
)
SELECT * FROM active_agents WHERE type = 'claude';
\`\`\`
### Migrations
\`\`\`sql
-- Migration: 001_create_agents.sql
BEGIN;
CREATE TABLE agents (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name VARCHAR(100) NOT NULL,
type VARCHAR(50) NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_agents_type ON agents(type);
COMMIT;
-- Rollback: 001_create_agents.sql
BEGIN;
DROP TABLE IF EXISTS agents;
COMMIT;
\`\`\`
### Performance Optimization
\`\`\`sql
-- Analyze query plan
EXPLAIN ANALYZE SELECT * FROM agents WHERE type = 'claude';
-- Check index usage
SELECT
schemaname,
tablename,
indexname,
idx_scan,
idx_tup_read
FROM pg_stat_user_indexes;
-- Find slow queries
SELECT
query,
calls,
mean_time,
total_time
FROM pg_stat_statements
ORDER BY mean_time DESC
LIMIT 10;
-- Vacuum and analyze
VACUUM ANALYZE agents;
\`\`\`
## SQLAlchemy ORM
\`\`\`python
from sqlalchemy import Column, String, DateTime, ForeignKey, JSON
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
import uuid
class Agent(Base):
__tablename__ = 'agents'
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
name = Column(String(100), nullable=False)
type = Column(String(50), nullable=False)
status = Column(String(20), default='idle')
config = Column(JSON, default={})
created_at = Column(DateTime(timezone=True), server_default=func.now())
updated_at = Column(DateTime(timezone=True), onupdate=func.now())
tasks = relationship("Task", back_populates="agent", cascade="all, delete-orphan")
class Task(Base):
__tablename__ = 'tasks'
id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
agent_id = Column(UUID(as_uuid=True), ForeignKey('agents.id'), nullable=False)
message = Column(String, nullable=False)
result = Column(String)
agent = relationship("Agent", back_populates="tasks")
\`\`\`
## Best Practices
1. **Use UUIDs** for primary keys in distributed systems
2. **Add indexes** for frequently queried columns
3. **Use soft deletes** (`deleted_at`) for important data
4. **JSONB for flexible data**, with GIN indexes
5. **Foreign key constraints** for data integrity
6. **Created/updated timestamps** for auditing
7. **Connection pooling** for performance
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.