SQLModel Task Database Schema is a development claude skill built by Diego Rodrigues de Sa e Souza. Best for: Backend developers building Todo applications need production-ready SQLModel schemas with proper relationships, indexing, and timestamp management for PostgreSQL databases..
- What it does
- Define type-safe, async-compatible database models for Todo apps using SQLModel with PostgreSQL optimization and Better Auth compatibility.
- Category
- development
- Created by
- Diego Rodrigues de Sa e Souza
- Last updated
SQLModel Task Database Schema
Define type-safe, async-compatible database models for Todo apps using SQLModel with PostgreSQL optimization and Better Auth compatibility.
Skill instructions
name: sqlmodel-task-models description: This skill should be used when defining a robust, type-safe, and async-compatible database schema for the Todo application using SQLModel, ensuring compatibility with Better Auth and optimized for PostgreSQL.
SQLModel Task Models
This skill providing guidance on defining a robust database schema using SQLModel for the Todo application.
Purpose
Defining a robust, type-safe, and async-compatible database schema for the Todo application using SQLModel, ensuring compatibility with Better Auth and optimized for PostgreSQL.
Capabilities
- User Model: Schema aligned with Better Auth requirements.
- Task Model: Full CRUD capability with relational mapping to Users.
- Relational Integrity: Proper foreign key constraints and back-references.
- Performance: Strategic indexing on
user_idandcompletedfields. - Safety: Automated timestamp management (
created_at,updated_at).
Implementation Details
Models Definition
from sqlmodel import SQLModel, Field, Relationship
from typing import List, Optional
from datetime import datetime
class User(SQLModel, table=True):
id: str = Field(primary_key=True)
email: str = Field(unique=True, index=True)
name: Optional[str] = None
created_at: datetime = Field(default_factory=datetime.utcnow)
tasks: List["Task"] = Relationship(back_populates="user")
class Task(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
user_id: str = Field(foreign_key="user.id", index=True)
title: str
description: Optional[str] = None
completed: bool = Field(default=False, index=True)
created_at: datetime = Field(default_factory=datetime.utcnow)
updated_at: datetime = Field(default_factory=datetime.utcnow)
user: Optional[User] = Relationship(back_populates="tasks")
Best Practices
- Using
table=Truefor models that map to database tables. - Explicitly defining indexes for fields used in
WHEREclauses (e.g.,user_id,completed). - Using
datetime.utcnowfor consistent cross-region timestamping. - Keeping
user_idas a string to match Better Auth's UUID/ID format.
Use this skill
Most skills are portable instruction packages. Claude Code supports SKILL.md directly. Other agents can use adapted files like AGENTS.md, .cursorrules, and GEMINI.md.
Claude Code
Save SKILL.md into your Claude Skills folder, then restart Claude Code.
mkdir -p ~/.claude/skills/sqlmodel-task-database-schema && curl -L "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/a6b3c3005cedf056a48b084671c6282426d6e9fc/skills/development/sqlmodel-task-models/SKILL.md" -o ~/.claude/skills/sqlmodel-task-database-schema/SKILL.mdInstalls to ~/.claude/skills/sqlmodel-task-database-schema/SKILL.md.
Use cases
Backend developers building Todo applications need production-ready SQLModel schemas with proper relationships, indexing, and timestamp management for PostgreSQL databases.
Reviews
No reviews yet. Be the first to review this skill.
No signup required