fosmvvm-fields-generator — community fosmvvm-fields-generator, FOSUtilities, community, ide skills, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Ideal for Model-View-ViewModel pattern-based AI Agents requiring automated Form Specifications generation on macOS, iOS, Windows, and Linux Swift libraries for supporting the Model-View-ViewModel pattern on macOS, iOS, Windows and Linux

foscomputerservices foscomputerservices
[0]
[0]
Updated: 3/5/2026

Agent Capability Analysis

The fosmvvm-fields-generator skill by foscomputerservices is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Ideal for Model-View-ViewModel pattern-based AI Agents requiring automated Form Specifications generation on macOS, iOS, Windows, and Linux

Core Value

Empowers agents to generate Form Specifications following FOSMVVM patterns, utilizing Swift libraries to create a single source of truth for user input, defining what data can be provided and how it should be presented, using protocols like {Name}Fields

Capabilities Granted for fosmvvm-fields-generator

Generating Form Specifications for cross-platform applications
Automating user input validation based on FOSMVVM patterns
Creating {Name}Fields protocols for standardized data handling

! Prerequisites & Limits

  • Requires understanding of Model-View-ViewModel architecture
  • Specific to FOSMVVM patterns and Swift libraries
  • Needs access to FOSMVVMArchitecture documentation for full context
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

fosmvvm-fields-generator

Install fosmvvm-fields-generator, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command...

SKILL.md
Readonly

FOSMVVM Fields Generator

Generate Form Specifications following FOSMVVM patterns.

Conceptual Foundation

For full architecture context, see FOSMVVMArchitecture.md | OpenClaw reference

A Form Specification (implemented as a {Name}Fields protocol) is the single source of truth for user input. It answers:

  1. What data can the user provide? (properties)
  2. How should it be presented? (FormField with type, keyboard, autofill semantics)
  3. What constraints apply? (validation rules)
  4. What messages should be shown? (localized titles, placeholders, errors)

Why This Matters

The Form Specification is defined once, used everywhere:

swift
1// Same protocol adopted by different consumers: 2struct CreateIdeaRequestBody: ServerRequestBody, IdeaFields { ... } // HTTP transmission 3@ViewModel struct IdeaFormViewModel: IdeaFields { ... } // Form rendering 4final class Idea: Model, IdeaFields { ... } // Persistence validation

This ensures:

  • Consistent validation - Same rules on client and server
  • Shared localization - One YAML file, used everywhere
  • Single source of truth - Change once, applies everywhere

Connection to FOSMVVM

Form Specifications integrate with:

  • Localization System - FormField titles/placeholders and validation messages use LocalizableString
  • Validation System - Implements ValidatableModel protocol
  • Request System - RequestBody types adopt Fields for validated transmission
  • ViewModel System - ViewModels adopt Fields for form rendering

When to Use This Skill

  • Defining a new form (create, edit, filter, search)
  • Adding validation to a request body
  • Any type that needs to conform to ValidatableModel
  • When fosmvvm-fluent-datamodel-generator needs form fields for a DataModel

What This Skill Generates

A complete Form Specification consists of 3 files:

FilePurpose
{Name}Fields.swiftProtocol + FormField definitions + validation methods
{Name}FieldsMessages.swift@FieldValidationModel struct with @LocalizedString properties
{Name}FieldsMessages.ymlYAML localization (titles, placeholders, error messages)

Project Structure Configuration

Replace placeholders with your project's actual paths:

PlaceholderDescriptionExample
{ViewModelsTarget}Shared ViewModels SPM targetViewModels, SharedViewModels
{ResourcesPath}Localization resources pathSources/Resources

Expected Structure:

Sources/
  {ViewModelsTarget}/
    FieldModels/
      {Name}Fields.swift
      {Name}FieldsMessages.swift
  {ResourcesPath}/
    FieldModels/
      {Name}FieldsMessages.yml

How to Use This Skill

Invocation: /fosmvvm-fields-generator

Prerequisites:

  • Form purpose understood from conversation context
  • Field requirements discussed (names, types, constraints)
  • Entity relationship identified (what is this form creating/editing)

Workflow integration: This skill is used when defining form validation and user input contracts. The skill references conversation context automatically—no file paths or Q&A needed. Often precedes fosmvvm-fluent-datamodel-generator for form-backed models.

Pattern Implementation

This skill references conversation context to determine Fields protocol structure:

Form Analysis

From conversation context, the skill identifies:

  • Form purpose (create, edit, filter, login, settings)
  • Entity relation (User, Idea, Document - what's being created/edited)
  • Protocol naming (CreateIdeaFields, UpdateProfile, LoginCredentials)

Field Design

For each field from requirements:

  • Property specification (name, type, optional vs required)
  • Presentation type (FormFieldType: text, textArea, select, checkbox)
  • Input semantics (FormInputType: email, password, tel, date)
  • Constraints (required, length range, value range, date range)
  • Localization (title, placeholder, validation error messages)

File Generation Order

  1. Fields protocol with FormField definitions and validation
  2. FieldsMessages struct with @LocalizedString properties
  3. FieldsMessages YAML with localized strings

Context Sources

Skill references information from:

  • Prior conversation: Form requirements, field specifications discussed
  • Specification files: If Claude has read form specs into context
  • Existing patterns: From codebase analysis of similar Fields protocols

Key Patterns

Protocol Structure

swift
1public protocol {Name}Fields: ValidatableModel, Codable, Sendable { 2 var fieldName: FieldType { get set } 3 var {name}ValidationMessages: {Name}FieldsMessages { get } 4}

FormField Definition

swift
1static var contentField: FormField<String?> { .init( 2 fieldId: .init(id: "content"), 3 title: .localized(for: {Name}FieldsMessages.self, propertyName: "content", messageKey: "title"), 4 placeholder: .localized(for: {Name}FieldsMessages.self, propertyName: "content", messageKey: "placeholder"), 5 type: .textArea(inputType: .text), 6 options: [ 7 .required(value: true) 8 ] + FormInputOption.rangeLength(contentRange) 9) }

FormField Types Reference

FormFieldTypeUse Case
.text(inputType:)Single-line input
.textArea(inputType:)Multi-line input
.checkboxBoolean toggle
.selectDropdown selection
.colorPickerColor selection

FormInputType Reference (common ones)

FormInputTypeKeyboard/Autofill
.textDefault keyboard
.emailAddressEmail keyboard, email autofill
.passwordSecure entry
.telPhone keyboard
.urlURL keyboard
.date, .datetimeLocalDate picker
.givenName, .familyNameName autofill

Validation Method Pattern

swift
1internal func validateContent(_ fields: [FormFieldBase]?) -> [ValidationResult]? { 2 guard fields == nil || (fields?.contains(Self.contentField) == true) else { 3 return nil 4 } 5 6 var result = [ValidationResult]() 7 8 if content.isEmpty { 9 result.append(.init( 10 status: .error, 11 field: Self.contentField, 12 message: {name}ValidationMessages.contentRequiredMessage 13 )) 14 } else if !Self.contentRange.contains(NSString(string: content).length) { 15 result.append(.init( 16 status: .error, 17 field: Self.contentField, 18 message: {name}ValidationMessages.contentOutOfRangeMessage 19 )) 20 } 21 22 return result.isEmpty ? nil : result 23}

Messages Struct Pattern

swift
1@FieldValidationModel public struct {Name}FieldsMessages { 2 @LocalizedString("content", messageGroup: "validationMessages", messageKey: "required") 3 public var contentRequiredMessage 4 5 @LocalizedString("content", messageGroup: "validationMessages", messageKey: "outOfRange") 6 public var contentOutOfRangeMessage 7}

YAML Structure

yaml
1en: 2 {Name}FieldsMessages: 3 content: 4 title: "Content" 5 placeholder: "Enter your content..." 6 validationMessages: 7 required: "Content is required" 8 outOfRange: "Content must be between 1 and 10,000 characters"

Naming Conventions

ConceptConventionExample
Protocol{Name}FieldsIdeaFields, CreateIdeaFields
Messages struct{Name}FieldsMessagesIdeaFieldsMessages
Messages property{name}ValidationMessagesideaValidationMessages
Field definition{fieldName}FieldcontentField
Range constant{fieldName}RangecontentRange
Validate methodvalidate{FieldName}validateContent
Required message{fieldName}RequiredMessagecontentRequiredMessage
OutOfRange message{fieldName}OutOfRangeMessagecontentOutOfRangeMessage

See Also

Version History

VersionDateChanges
1.02024-12-24Initial skill
2.02024-12-26Rewritten with conceptual foundation; generalized from Kairos-specific
2.12026-01-24Update to context-aware approach (remove file-parsing/Q&A). Skill references conversation context instead of asking questions or accepting file paths.

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is fosmvvm-fields-generator?

Ideal for Model-View-ViewModel pattern-based AI Agents requiring automated Form Specifications generation on macOS, iOS, Windows, and Linux Swift libraries for supporting the Model-View-ViewModel pattern on macOS, iOS, Windows and Linux

How do I install fosmvvm-fields-generator?

Run the command: npx killer-skills add foscomputerservices/FOSUtilities/fosmvvm-fields-generator. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for fosmvvm-fields-generator?

Key use cases include: Generating Form Specifications for cross-platform applications, Automating user input validation based on FOSMVVM patterns, Creating {Name}Fields protocols for standardized data handling.

Which IDEs are compatible with fosmvvm-fields-generator?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for fosmvvm-fields-generator?

Requires understanding of Model-View-ViewModel architecture. Specific to FOSMVVM patterns and Swift libraries. Needs access to FOSMVVMArchitecture documentation for full context.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add foscomputerservices/FOSUtilities/fosmvvm-fields-generator. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use fosmvvm-fields-generator immediately in the current project.

Related Skills

Looking for an alternative to fosmvvm-fields-generator or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI