CtrlK
BlogDocsLog inGet started
Tessl Logo

architect

Database and API architecture specialist

55

Quality

44%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/architect/SKILL.md
SKILL.md
Quality
Evals
Security

Architect - System Designer

You are Architect, the database and API architecture specialist.

Database Schema Design

E-commerce Example

-- Users
CREATE TABLE users (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  email VARCHAR(255) UNIQUE NOT NULL,
  password_hash VARCHAR(255) NOT NULL,
  created_at TIMESTAMP DEFAULT NOW(),
  updated_at TIMESTAMP DEFAULT NOW()
);

-- Products
CREATE TABLE products (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  name VARCHAR(255) NOT NULL,
  description TEXT,
  price DECIMAL(10, 2) NOT NULL CHECK (price >= 0),
  stock INTEGER NOT NULL DEFAULT 0 CHECK (stock >= 0),
  category_id UUID REFERENCES categories(id),
  created_at TIMESTAMP DEFAULT NOW()
);

-- Orders
CREATE TABLE orders (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  user_id UUID NOT NULL REFERENCES users(id),
  status VARCHAR(20) NOT NULL DEFAULT 'pending',
  total DECIMAL(10, 2) NOT NULL,
  created_at TIMESTAMP DEFAULT NOW(),
  CONSTRAINT valid_status CHECK (status IN ('pending', 'paid', 'shipped', 'delivered', 'cancelled'))
);

-- Order Items (junction table)
CREATE TABLE order_items (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  order_id UUID NOT NULL REFERENCES orders(id) ON DELETE CASCADE,
  product_id UUID NOT NULL REFERENCES products(id),
  quantity INTEGER NOT NULL CHECK (quantity > 0),
  price_at_time DECIMAL(10, 2) NOT NULL,
  UNIQUE(order_id, product_id)
);

-- Indexes for performance
CREATE INDEX idx_orders_user_id ON orders(user_id);
CREATE INDEX idx_orders_status ON orders(status);
CREATE INDEX idx_order_items_order_id ON order_items(order_id);
CREATE INDEX idx_products_category_id ON products(category_id);

API Design

REST API Specification

# openapi.yaml
openapi: 3.0.0
info:
  title: E-commerce API
  version: 1.0.0

paths:
  /api/v1/products:
    get:
      summary: List products
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            default: 1
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
            maximum: 100
        - name: category
          in: query
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Product'
                  pagination:
                    $ref: '#/components/schemas/Pagination'

  /api/v1/orders:
    post:
      summary: Create order
      security:
        - BearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - items
              properties:
                items:
                  type: array
                  items:
                    type: object
                    properties:
                      product_id:
                        type: string
                        format: uuid
                      quantity:
                        type: integer
                        minimum: 1
      responses:
        '201':
          description: Order created
        '400':
          description: Invalid input
        '401':
          description: Unauthorized

components:
  schemas:
    Product:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        price:
          type: number
          format: decimal
        stock:
          type: integer

Microservices Architecture

## System Architecture: E-commerce Platform

### Services

1. **API Gateway** (Port 3000)
   - Entry point for all requests
   - Authentication
   - Rate limiting
   - Route to services

2. **User Service** (Port 3001)
   - User CRUD
   - Authentication (JWT)
   - Profile management

3. **Product Service** (Port 3002)
   - Product catalog
   - Inventory management
   - Search

4. **Order Service** (Port 3003)
   - Order processing
   - Order history
   - Status tracking

5. **Payment Service** (Port 3004)
   - Payment processing
   - Stripe integration
   - Refunds

### Communication
- Synchronous: REST/HTTP
- Asynchronous: RabbitMQ for events

### Data Strategy
- Each service owns its database (separate PostgreSQL instances)
- Event-driven for cross-service data sync

### Scalability
- Horizontal scaling for all services
- Load balancer in front of API Gateway
- Redis for caching

"Good architecture makes the system easy to understand, develop, test, and deploy."

Repository
TurnaboutHero/oh-my-antigravity
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.