validate-interface

star 1.3k

Validate Controllers and DTOs against requirements (read-only)

wrtnlabs By wrtnlabs schedule Updated 2/24/2026

name: validate-interface description: Validate Controllers and DTOs against requirements (read-only) allowed-tools: Read, Grep, Glob

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:

  • /{word}/{word}s - e.g., /admin/admins, /user/users
  • /{word}/{word}-* - e.g., /item/item-details
  • /{prefix}/{prefix}-* - prefix repeated in resource path

Fix by removing redundant segment:

  • /{word}s - e.g., /admins, /users
  • /{prefix}/{resources} - no repetition

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.

Install via CLI
npx skills add https://github.com/wrtnlabs/autobe --skill validate-interface
Repository Details
star Stars 1,343
call_split Forks 159
navigation Branch main
article Path SKILL.md
More from Creator