Validate Interface logo

Validate Interface

OrganizationPopular
wrtnlabs
validate-interface

Validate Controllers and DTOs against requirements (read-only)

Overview

Publisherwrtnlabs
Repositoryautobe
Skill namevalidate-interface
Stars
1.4K
Forks
156
Bundled files
Instructions only
LicenseAGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by wrtnlabs on GitHub. Read the source before you install it.

Installation

Install the Validate Interface AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/wrtnlabs/autobe/tree/main/internals/template/realize/.claude/skills/validate-interface
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/wrtnlabs/autobe.git /tmp/autobe
mkdir -p .claude/skills
cp -r /tmp/autobe/internals/template/realize/.claude/skills/validate-interface .claude/skills/validate-interface
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Validate Interface in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Validate Interface on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Validate Interface is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

bash
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

bash
find prisma/schema -name "*.prisma" -type f

Understand data model for DTO validation.


Step 3: Read Current Implementation

bash
# 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

markdown
# 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.

Frequently asked questions

What does the Validate Interface AI skill do?

Validate Controllers and DTOs against requirements (read-only)

Why use Validate Interface on TypingMind?

Because you install it once and use it with any model. Validate Interface is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Validate Interface in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/wrtnlabs/autobe/tree/main/internals/template/realize/.claude/skills/validate-interface. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Validate Interface?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Validate Interface?

As many as you like. As long as a model supports skills, you can use Validate Interface with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Validate Interface AI skill free?

Yes. It is published on GitHub by wrtnlabs under the AGPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇