LaunchKit · 2026
Back to Skills

fosmvvm-fields-generator

Generate FOSMVVM Fields protocols with validation rules, FormField definitions, and localized messages.

2
415 downloads
by @foscomputerservices

Setup & Installation

openclaw skills install @foscomputerservices/fosmvvm-fields-generator

Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:

npx clawhub install fosmvvm-fields-generator

What This Skill Does

Generates the three files that make up a FOSMVVM Form Specification: a Swift protocol with FormField definitions and validation methods, a messages struct with localized string properties, and a YAML localization file. The generated protocol becomes the single source of truth for a form's fields, constraints, and messages, adopted by request bodies, ViewModels, and persistence models alike.

Defining the protocol once and having request bodies, ViewModels, and database models all adopt it eliminates the drift that occurs when validation logic is duplicated across layers.

When to use it

  • Defining validation rules for a new user registration form
  • Adding field contracts to a Fluent DataModel before wiring up the database
  • Generating localization YAML for a settings edit screen
  • Creating a typed login credentials protocol shared between client and server
  • Scaffolding a search or filter form with keyboard semantics and autofill hints

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: generate fields for an idea creation form with a title and a content body

AGENT
  1. 1Identifies form purpose as create, entity as Idea, protocol name as CreateIdeaFields
  2. 2Designs two fields: titleField (text, required, length-constrained) and contentField (textArea, required, length-constrained)
  3. 3Generates CreateIdeaFields.swift with protocol definition, FormField statics, and validate methods
  4. 4Generates CreateIdeaFieldsMessages.swift with @FieldValidationModel struct and @LocalizedString properties
  5. 5Generates CreateIdeaFieldsMessages.yml with English titles, placeholders, and validation error strings
OUTPUT

Three files placed under Sources/{ViewModelsTarget}/FieldModels/ and Sources/{ResourcesPath}/FieldModels/ covering the full form contract