crud-implementation
Complete workflow guide for implementing new CRUD entities. Use when adding a new resource, implementing full CRUD operations, or needing an overview of the database-to-API flow. Triggers: "new entity", "add resource", "implement CRUD", "create table and API". Orchestrates add-database-table, add-domain-entity, and add-api-endpoint skills.
When & Why to Use This Skill
This Claude skill provides a comprehensive, automated workflow for implementing new CRUD (Create, Read, Update, Delete) entities, guiding developers through the entire lifecycle from database schema definition to API endpoint deployment. By orchestrating specialized sub-skills for SQL migrations, domain modeling, and gRPC/API setup, it ensures architectural consistency and significantly reduces manual boilerplate development time.
Use Cases
- Rapidly bootstrapping a new database-backed resource with full CRUD capabilities while maintaining strict architectural layers.
- Standardizing the implementation of domain models, repository interfaces, and data marshallers across a development team.
- Automating the generation of SQLBoiler models, Protocol Buffer definitions, and gRPC handlers to ensure type safety and API alignment.
| name | crud-implementation |
|---|---|
| description | Complete workflow guide for implementing new CRUD entities. Use when adding a new resource, implementing full CRUD operations, or needing an overview of the database-to-API flow. Triggers: "new entity", "add resource", "implement CRUD", "create table and API". Orchestrates add-database-table, add-domain-entity, and add-api-endpoint skills. |
CRUD Implementation Workflow
Entry point for implementing a new entity with full CRUD operations.
Workflow Overview
┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐
│ add-database-table │ --> │ add-domain-entity │ --> │ add-api-endpoint │
│ │ │ │ │ │
│ - Migration SQL │ │ - Domain model │ │ - Usecase │
│ - Constant tables │ │ - Repository │ │ - Proto definition │
│ - SQLBoiler gen │ │ - Marshaller │ │ - gRPC handler │
└─────────────────────┘ └─────────────────────┘ └─────────────────────┘
Quick Start
| Step | Skill | Key Command |
|---|---|---|
| 1 | add-database-table | make migrate.create then make migrate.up |
| 2 | add-domain-entity | make generate.mock |
| 3 | add-api-endpoint | make generate.buf |
Before You Start
- Know the entity name and its fields
- Identify relationships to existing entities
- Determine which API actor (admin/public/debug)
Step-by-Step
Step 1: Database Layer
Use the add-database-table skill for:
- Creating migration file with table DDL
- Adding indexes and foreign keys
- Creating constant tables for enum fields
- Running
make migrate.upto generate SQLBoiler
Step 2: Domain Layer
Use the add-domain-entity skill for:
- Domain model with constructor and update methods
- Repository interface with query structs
- Marshaller (DB model <-> domain model)
- Repository implementation
Step 3: API Layer
Use the add-api-endpoint skill for:
- Usecase input/output structs
- Interactor interface and implementation
- Protocol Buffers messages and RPCs
- gRPC handler and marshaller
- DI registration
Final Verification
make lint.go && make test
Related Skills
- code-investigation - Analyze existing patterns before implementation
- review-pr - Self-review before creating PR
- create-pull-request - PR creation with proper format