Autobe validate-interface

Validate Controllers and DTOs against requirements (read-only)

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.md
source 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:

  • /{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.