install
source · Clone the upstream repo
git clone https://github.com/wrtnlabs/autobe
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/wrtnlabs/autobe "$T" && mkdir -p ~/.claude/skills && cp -r "$T/internals/template/realize/.claude/skills/validate-interface" ~/.claude/skills/wrtnlabs-autobe-validate-interface && rm -rf "$T"
manifest:
internals/template/realize/.claude/skills/validate-interface/SKILL.mdsource content
Validate Interface (Controllers, DTOs)
Validate that Controllers and DTO interfaces match the requirements specification. This skill only checks for discrepancies - it does NOT modify any files.
Purpose
Compare requirements documents with interface definitions and report:
- ✅ Matching items
- ❌ Mismatching items (needs fix)
- ⚠️ Items requiring review
Workflow
┌─────────────────────────────────────┐ │ Step 1: Read Requirements │ │ /docs/analysis/*.md │ └───────────────┬─────────────────────┘ │ ▼ ┌─────────────────────────────────────┐ │ Step 2: Read Prisma Schema │ │ /prisma/schema/*.prisma │ └───────────────┬─────────────────────┘ │ ▼ ┌─────────────────────────────────────┐ │ Step 3: Read Interfaces & Controllers│ │ /src/api/structures/ │ │ /src/controllers/ │ └───────────────┬─────────────────────┘ │ ▼ ┌─────────────────────────────────────┐ │ Step 4: Compare & Report │ │ - Missing APIs │ │ - Empty interfaces │ │ - Type mismatches │ │ - Missing DTOs │ └─────────────────────────────────────┘
Step 1: Read Requirements
find docs/analysis -name "*.md" -type f
Extract required APIs:
- HTTP methods (GET, POST, PATCH, PUT, DELETE)
- URL paths
- Request/response structures
- Authentication requirements
Step 2: Read Prisma Schema
find prisma/schema -name "*.prisma" -type f
Understand data model for DTO validation.
Step 3: Read Current Implementation
# Controllers find src/controllers -name "*Controller.ts" -type f # Interfaces find src/api/structures -name "I*.ts" -type f
Step 4: Validation Checks
4.1 API Coverage
For each required API:
- ✅ Controller method exists
- ❌ API missing
4.2 Interface Completeness
For each interface file:
- ✅ All properties defined
- ❌ Empty interface
{} - ❌ Missing ICreate/IUpdate/ISummary
4.3 Type Alignment with Prisma
For each DTO property:
- ✅ Type matches Prisma field
- ❌ Type mismatch
- ❌ Missing nullable annotation
- ⚠️ Missing typia tags
4.4 Controller Structure
- ✅ Proper decorators (@TypedRoute, @TypedBody)
- ❌ Missing authentication decorator
- ⚠️ Inconsistent naming
4.5 Path Naming
Check for redundant path segments where the same word repeats:
- ❌
- e.g.,/{word}/{word}s
,/admin/admins/user/users - ❌
- e.g.,/{word}/{word}-*/item/item-details - ❌
- prefix repeated in resource path/{prefix}/{prefix}-*
Fix by removing redundant segment:
- ✅
- e.g.,/{word}s
,/admins/users - ✅
- no repetition/{prefix}/{resources}
Output Format
# Validation Report: Interfaces ## Summary - Required APIs: X - Implemented APIs: Y - Missing APIs: Z - Empty interfaces: W ## ✅ Valid Items - [Controller] `AdminEntitiesController` - All methods present - [Interface] `IEntity` - Properly defined ## ❌ Issues Found - [Missing API] `DELETE /admin/entities/:id` - Not implemented - [Empty Interface] `IEntity.ICreate` - No properties defined - [Type Mismatch] `IEntity.status` - Expected union type, found string ## ⚠️ Warnings - [Missing Tag] `IEntity.id` - Should have `tags.Format<"uuid">` - [Nullable] `IEntity.deleted_at` - Should be `(string & tags.Format<"date-time">) | null` - [Path Naming] `/{word}/{word}s` pattern detected - Redundant path segment, remove duplication ## Recommendation Run `/fix-interface` to fix the issues above.
Important
This skill is READ-ONLY.
- Does NOT modify any files
- Does NOT run any build commands
- Only reports discrepancies
To fix issues, use
/fix-interface skill.