Agent skill

Fosmvvm UI Tests Generator

by LeoYeAI in LeoYeAI/openclaw-master-skills

Generate UI tests for FOSMVVM SwiftUI views using XCTest and FOSTestingUI.

MITAuto-check passedTesting & QA

Install Fosmvvm UI Tests Generator

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill fosmvvm-ui-tests-generator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills fosmvvm-ui-tests-generator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/fosmvvm-ui-tests-generator .claude/skills/fosmvvm-ui-tests-generator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
fosmvvm-ui-tests-generator
GitHub stars
2.2k
Token cost
~4.4k tokens
SKILL.md length
983 words
Files
3
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

Generate UI tests for FOSMVVM SwiftUI views using XCTest and FOSTestingUI.

  • Works in 4 steps: Base Test Case Class → Individual UI Test Files → XCUIElement Helper Extensions → …
  • Tasks that involve Test data and fixtures
  • SKILL.md covers Conceptual Foundation, Core Components, ViewModelOperations: Optional and Test Categories, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Fosmvvm UI Tests Generator is an agent skill from LeoYeAI/openclaw-master-skills. Generate UI tests for FOSMVVM SwiftUI views using XCTest and FOSTestingUI. Covers accessibility identifiers, ViewModelOperations, and test data transport.

Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `_meta.json` and `reference.md`).

It sits in Testing & QA, covering Test data and fixtures, iOS development and Accessibility. It works with SwiftUI. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • Tasks that involve Test data and fixtures
  • Tasks that involve iOS development
  • Tasks that involve Accessibility

Example prompts

  • “/fosmvvm-ui-tests-generator”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Base Test Case Class
  2. Individual UI Test Files
  3. XCUIElement Helper Extensions
  4. View Requirements

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are swift).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Fosmvvm UI Tests Generator loads about 4.4k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 983 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~4.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 983 words, ~4,447 tokens.

Download SKILL.mdSave it as .claude/skills/fosmvvm-ui-tests-generator/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
fosmvvm-ui-tests-generator
description
Generate UI tests for FOSMVVM SwiftUI views using XCTest and FOSTestingUI. Covers accessibility identifiers, ViewModelOperations, and test data transport.
homepage
https://github.com/foscomputerservices/FOSUtilities

FOSMVVM UI Tests Generator

Generate comprehensive UI tests for ViewModelViews in FOSMVVM applications.

Conceptual Foundation

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

UI testing in FOSMVVM follows a specific pattern that leverages:

  • FOSTestingUI framework for test infrastructure
  • ViewModelOperations for verifying business logic was invoked
  • Accessibility identifiers for finding UI elements
  • Test data transporter for passing operation stubs to the app
┌─────────────────────────────────────────────────────────────┐
│                    UI Test Architecture                      │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  Test File (XCTest)                 App Under Test          │
│  ┌──────────────────┐              ┌──────────────────┐     │
│  │ MyViewUITests    │              │ MyView           │     │
│  │                  │              │                  │     │
│  │ presentView() ───┼─────────────►│ Show view with   │     │
│  │   with stub VM   │              │   stubbed data   │     │
│  │                  │              │                  │     │
│  │ Interact via ────┼─────────────►│ UI elements with │     │
│  │   identifiers    │              │   .uiTestingId   │     │
│  │                  │              │                  │     │
│  │ Assert on UI     │              │ .testData────────┼──┐  │
│  │   state          │              │   Transporter    │  │  │
│  │                  │              └──────────────────┘  │  │
│  │ viewModelOps() ◄─┼─────────────────────────────────────┘  │
│  │   verify calls   │              Stub Operations          │
│  └──────────────────┘                                        │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Core Components

1. Base Test Case Class

Every project should have a base test case that inherits from ViewModelViewTestCase:

swift
class MyAppViewModelViewTestCase<VM: ViewModel, VMO: ViewModelOperations>:
    ViewModelViewTestCase<VM, VMO>, @unchecked Sendable {

    @MainActor func presentView(
        configuration: TestConfiguration,
        viewModel: VM = .stub(),
        timeout: TimeInterval = 3
    ) throws -> XCUIApplication {
        try presentView(
            testConfiguration: configuration.toJSON(),
            viewModel: viewModel,
            timeout: timeout
        )
    }

    override func setUp() async throws {
        try await super.setUp(
            bundle: Bundle.main,
            resourceDirectoryName: "",
            appBundleIdentifier: "com.example.MyApp"
        )

        continueAfterFailure = false
    }
}

Key points:

  • Generic over ViewModel and ViewModelOperations
  • Wraps FOSTestingUI's presentView() with project-specific configuration
  • Sets up bundle and app bundle identifier
  • continueAfterFailure = false stops tests immediately on failure
2. Individual UI Test Files

Each ViewModelView gets a corresponding UI test file.

For views WITH operations:

swift
final class MyViewUITests: MyAppViewModelViewTestCase<MyViewModel, MyViewOps> {
    // UI Tests - verify UI state
    func testButtonEnabled() async throws {
        let app = try presentView(viewModel: .stub(enabled: true))
        XCTAssertTrue(app.myButton.isEnabled)
    }

    // Operation Tests - verify operations were called
    func testButtonTap() async throws {
        let app = try presentView(configuration: .requireSomeState())
        app.myButton.tap()

        let stubOps = try viewModelOperations()
        XCTAssertTrue(stubOps.myOperationCalled)
    }
}

private extension XCUIApplication {
    var myButton: XCUIElement {
        buttons.element(matching: .button, identifier: "myButtonIdentifier")
    }
}

For views WITHOUT operations (display-only):

Use an empty stub operations protocol:

swift
// In your test file
protocol MyViewStubOps: ViewModelOperations {}
struct MyViewStubOpsImpl: MyViewStubOps {}

final class MyViewUITests: MyAppViewModelViewTestCase<MyViewModel, MyViewStubOpsImpl> {
    // UI Tests only - no operation verification
    func testDisplaysCorrectly() async throws {
        let app = try presentView(viewModel: .stub(title: "Test"))
        XCTAssertTrue(app.titleLabel.exists)
    }
}

When to use each:

  • With operations: Interactive views that perform actions (forms, buttons that call APIs, etc.)
  • Without operations: Display-only views (cards, detail views, static content)
3. XCUIElement Helper Extensions

Common helpers for interacting with UI elements:

swift
extension XCUIElement {
    var text: String? {
        value as? String
    }

    func typeTextAndWait(_ string: String, timeout: TimeInterval = 2) {
        typeText(string)
        _ = wait(for: \.text, toEqual: string, timeout: timeout)
    }

    func tapMenu() {
        if isHittable {
            tap()
        } else {
            coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.5)).tap()
        }
    }
}
4. View Requirements

For views WITH operations:

swift
public struct MyView: ViewModelView {
    #if DEBUG
    @State private var repaintToggle = false
    #endif

    private let viewModel: MyViewModel
    private let operations: MyViewModelOperations

    public var body: some View {
        Button(action: doSomething) {
            Text(viewModel.buttonLabel)
        }
        .uiTestingIdentifier("myButtonIdentifier")
        #if DEBUG
        .testDataTransporter(viewModelOps: operations, repaintToggle: $repaintToggle)
        #endif
    }

    public init(viewModel: MyViewModel) {
        self.viewModel = viewModel
        self.operations = viewModel.operations
    }

    private func doSomething() {
        operations.doSomething()
        toggleRepaint()
    }

    private func toggleRepaint() {
        #if DEBUG
        repaintToggle.toggle()
        #endif
    }
}

For views WITHOUT operations (display-only):

swift
public struct MyView: ViewModelView {
    private let viewModel: MyViewModel

    public var body: some View {
        VStack {
            Text(viewModel.title)
            Text(viewModel.description)
        }
        .uiTestingIdentifier("mainContent")
    }

    public init(viewModel: MyViewModel) {
        self.viewModel = viewModel
    }
}

Critical patterns (for views WITH operations):

  • @State private var repaintToggle = false for triggering test data transport
  • .testDataTransporter(viewModelOps:repaintToggle:) modifier in DEBUG
  • toggleRepaint() called after every operation invocation
  • operations stored as property from viewModel.operations

Display-only views:

  • No repaintToggle needed
  • No .testDataTransporter() modifier needed
  • Just add .uiTestingIdentifier() to elements you want to test

ViewModelOperations: Optional

Not all views need ViewModelOperations:

Views that NEED operations:

  • Forms with submit/cancel actions
  • Views that call business logic or APIs
  • Interactive views that trigger app state changes
  • Views with user-initiated async operations

Views that DON'T NEED operations:

  • Display-only cards or detail views
  • Static content views
  • Pure navigation containers
  • Server-hosted views that just render data

For views without operations:

Create an empty operations file alongside your ViewModel:

swift
// MyDisplayViewModelOperations.swift
import FOSMVVM
import Foundation

public protocol MyDisplayViewModelOperations: ViewModelOperations {}

#if canImport(SwiftUI)
public final class MyDisplayViewStubOps: MyDisplayViewModelOperations, @unchecked Sendable {
    public init() {}
}
#endif

Then use it in tests:

swift
final class MyDisplayViewUITests: MyAppViewModelViewTestCase<
    MyDisplayViewModel,
    MyDisplayViewStubOps
> {
    // Only test UI state, no operation verification
}

The view itself doesn't need:

  • repaintToggle state
  • .testDataTransporter() modifier
  • operations property
  • toggleRepaint() function

Just add .uiTestingIdentifier() to elements you want to verify.

Test Categories

UI State Tests

Verify that the UI displays correctly based on ViewModel state:

swift
func testButtonDisabledWhenNotReady() async throws {
    let app = try presentView(viewModel: .stub(ready: false))
    XCTAssertFalse(app.submitButton.isEnabled)
}

func testButtonEnabledWhenReady() async throws {
    let app = try presentView(viewModel: .stub(ready: true))
    XCTAssertTrue(app.submitButton.isEnabled)
}
Operation Tests

Verify that user interactions invoke the correct operations:

swift
func testSubmitButtonInvokesOperation() async throws {
    let app = try presentView(configuration: .requireAuth())
    app.submitButton.tap()

    let stubOps = try viewModelOperations()
    XCTAssertTrue(stubOps.submitCalled)
    XCTAssertFalse(stubOps.cancelCalled)
}
Navigation Tests

Verify navigation flows work correctly:

swift
func testNavigationToDetailView() async throws {
    let app = try presentView()
    app.itemRow.tap()

    XCTAssertTrue(app.detailView.exists)
}

When to Use This Skill

  • Adding UI tests for a new ViewModelView
  • Setting up UI test infrastructure for a FOSMVVM project
  • Following an implementation plan that requires test coverage
  • Validating user interaction flows

What This Skill Generates

Initial Setup (once per project)
FileLocationPurpose
{ProjectName}ViewModelViewTestCase.swiftTests/UITests/Support/Base test case for all UI tests
XCUIElement.swiftTests/UITests/Support/Helper extensions for XCUIElement
Per ViewModelView
FileLocationPurpose
{ViewName}ViewModelOperations.swiftSources/{ViewModelsTarget}/{Feature}/Operations protocol and stub (if view has interactions)
{ViewName}UITests.swiftTests/UITests/Views/{Feature}/UI tests for the view

Note: Views without user interactions use an empty operations file with just the protocol and minimal stub.

Project Structure Configuration

PlaceholderDescriptionExample
{ProjectName}Your project/app nameMyApp, TaskManager
{ViewName}The ViewModelView name (without "View" suffix)TaskList, Dashboard
{Feature}Feature/module groupingTasks, Settings

How to Use This Skill

Invocation: /fosmvvm-ui-tests-generator

Prerequisites:

  • View and ViewModel structure understood from conversation context
  • ViewModelOperations type identified (or confirmed as display-only)
  • Interactive elements and user flows discussed

Workflow integration: This skill is typically used after implementing ViewModelViews. The skill references conversation context automatically—no file paths or Q&A needed. Often follows fosmvvm-swiftui-view-generator or fosmvvm-react-view-generator.

Pattern Implementation

This skill references conversation context to determine test structure:

Test Type Detection

From conversation context, the skill identifies:

  • First test vs additional test (whether base test infrastructure exists)
  • ViewModel type (from prior discussion or View implementation)
  • ViewModelOperations type (from View implementation or context)
  • Interactive vs display-only (whether operations need verification)
Show full SKILL.md (390 more words)Show less
View Analysis

From requirements already in context:

  • Interactive elements (buttons, fields, controls requiring test coverage)
  • User flows (navigation paths, form submission, drag-and-drop)
  • State variations (enabled/disabled, visible/hidden, error states)
  • Operation triggers (which UI actions invoke which operations)
Infrastructure Planning

Based on project state:

  • Base test case (create if first test, reuse if exists)
  • XCUIElement extensions (helper methods for common interactions)
  • App bundle identifier (for launching test host)
Test File Generation

For the specific view:

  1. Test class inheriting from base test case
  2. UI state tests (verify display based on ViewModel)
  3. Operation tests (verify user interactions invoke operations)
  4. XCUIApplication extension with element accessors
View Requirements

Ensure test identifiers and data transport:

  1. .uiTestingIdentifier() on all interactive elements
  2. @State private var repaintToggle (if has operations)
  3. .testDataTransporter() modifier (if has operations)
  4. toggleRepaint() calls after operations (if has operations)
Context Sources

Skill references information from:

  • Prior conversation: View requirements, user flows discussed
  • View implementation: If Claude has read View code into context
  • ViewModelOperations: From codebase or discussion

Key Patterns

Test Configuration Pattern

Use TestConfiguration for tests that need specific app state:

swift
func testWithSpecificState() async throws {
    let app = try presentView(
        configuration: .requireAuth(userId: "123")
    )
    // Test with authenticated state
}
Element Accessor Pattern

Define element accessors in a private extension:

swift
private extension XCUIApplication {
    var submitButton: XCUIElement {
        buttons.element(matching: .button, identifier: "submitButton")
    }

    var cancelButton: XCUIElement {
        buttons.element(matching: .button, identifier: "cancelButton")
    }

    var firstItem: XCUIElement {
        buttons.element(matching: .button, identifier: "itemButton").firstMatch
    }
}
Operation Verification Pattern

After user interactions, verify operations were called:

swift
func testDecrementButton() async throws {
    let app = try presentView(configuration: .requireDevice())
    app.decrementButton.tap()

    let stubOps = try viewModelOperations()
    XCTAssertTrue(stubOps.decrementCalled)
    XCTAssertFalse(stubOps.incrementCalled)
}
Orientation Setup Pattern

Set device orientation in setUp() if needed:

swift
override func setUp() async throws {
    try await super.setUp()

    #if os(iOS)
    XCUIDevice.shared.orientation = .portrait
    #endif
}

View Testing Checklist

All views:

  • .uiTestingIdentifier() on all elements you want to test

Views WITH operations (interactive views):

  • @State private var repaintToggle = false property
  • .testDataTransporter(viewModelOps:repaintToggle:) modifier
  • toggleRepaint() helper function
  • toggleRepaint() called after every operation invocation
  • operations stored from viewModel.operations in init

Views WITHOUT operations (display-only):

  • No repaintToggle needed
  • No .testDataTransporter() needed
  • No operations property needed
  • operations stored from viewModel.operations in init

Common Test Patterns

Testing Async Operations
swift
func testAsyncOperation() async throws {
    let app = try presentView()
    app.loadButton.tap()

    // Wait for UI to update
    _ = app.waitForExistence(timeout: 3)

    let stubOps = try viewModelOperations()
    XCTAssertTrue(stubOps.loadCalled)
}
Testing Form Input
swift
func testFormInput() async throws {
    let app = try presentView()

    let emailField = app.emailTextField
    emailField.tap()
    emailField.typeTextAndWait("user@example.com")

    app.submitButton.tap()

    let stubOps = try viewModelOperations()
    XCTAssertTrue(stubOps.submitCalled)
}
Testing Error States
swift
func testErrorDisplay() async throws {
    let app = try presentView(viewModel: .stub(hasError: true))

    XCTAssertTrue(app.errorAlert.exists)
    XCTAssertEqual(app.errorMessage.text, "An error occurred")
}

File Templates

See reference.md for complete file templates.

Naming Conventions

ConceptConventionExample
Base test case{ProjectName}ViewModelViewTestCaseMyAppViewModelViewTestCase
UI test file{ViewName}UITestsTaskListViewUITests
Test method (UI state)test{Condition}testButtonEnabled
Test method (operation)test{Action}testSubmitButton
Element accessor{elementName}submitButton, emailTextField
UI testing identifier{elementName}Identifier or {elementName}"submitButton", "emailTextField"

See Also

Version History

VersionDateChanges
1.02026-01-23Initial skill for UI tests
1.12026-01-24Update to context-aware approach (remove file-parsing/Q&A). Skill references conversation context instead of asking questions or accepting file paths.

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in skills/fosmvvm-ui-tests-generator of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • _meta.json
  • reference.md

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Fosmvvm UI Tests Generator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Fosmvvm UI Tests Generator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fosmvvm UI Tests Generator this skillLeoYeAI/openclaw-master-skills2.2k—~4.4kAutomated safety check: PassMIT
Hig Components Contentraintree-technology/hig-doctor1435 repos~1.3kAutomated safety check: PassMIT
iOS Accessibilitydpearson2699/swift-ios-skills1.2k—~4.6kAutomated safety check: PassCustom licence
UI Review TahoeKartikLabhshetwar/better-shot2.4k2 repos~1.7kAutomated safety check: PassCustom licence
iOS Accessibility Testingconorluddy/xclaude-plugin183—~5kAutomated safety check: PassMIT
Frontend DesignAnastasiyaW/codex-claude-code-config154—~1.1kAutomated safety check: PassMIT

Similar skills

  • Hig Components Content

    raintree-technology/hig-doctor

    Apple Human Interface Guidelines for content display components.

    143 GitHub starsUsed in 5 repos~1.3k tokens
    MobileAuto-check passed
  • iOS Accessibility

    dpearson2699/swift-ios-skills

    Build and audit SwiftUI, UIKit, and AppKit accessibility for VoiceOver, Voice Control, Switch Control, Full Keyboard Access, Dynamic Type, focus restoration, labels/traits/actions, traversal, custom…

    1.2k GitHub stars~4.6k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • UI Review Tahoe

    KartikLabhshetwar/better-shot

    Comprehensive UI/UX review for macOS Tahoe apps. An agent skill from KartikLabhshetwar/better-shot.

    2.4k GitHub starsUsed in 2 repos~1.7k tokens
    Frontend & DesignAuto-check passed
  • iOS Accessibility Testing

    conorluddy/xclaude-plugin

    Guides WCAG 2.1 and VoiceOver accessibility testing for iOS apps, working from the accessibility tree and not from screenshots.

    183 GitHub stars~5k tokensUpdated 28 days ago
    Testing & QAAuto-check passed
  • Frontend Design

    AnastasiyaW/codex-claude-code-config

    Создание высококачественных, визуально выдающихся фронтенд-интерфейсов.

    154 GitHub stars~1.1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • UI Review

    gustavscirulis/snapgrid

    Review SwiftUI code for iOS/watchOS Human Interface Guidelines compliance, font usage, Dynamic Type support, and accessibility.

    116 GitHub starsUsed in 1 repo~1.4k tokens
    Frontend & DesignAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Works with

Questions about Fosmvvm UI Tests Generator

What does Fosmvvm UI Tests Generator do?

Generate UI tests for FOSMVVM SwiftUI views using XCTest and FOSTestingUI. Fosmvvm UI Tests Generator is an agent skill from LeoYeAI/openclaw-master-skills. Generate UI tests for FOSMVVM SwiftUI views using XCTest and FOSTestingUI.

When should I use Fosmvvm UI Tests Generator?

Fosmvvm UI Tests Generator fits situations like: tasks that involve Test data and fixtures; tasks that involve iOS development; tasks that involve Accessibility.

How do I install Fosmvvm UI Tests Generator in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill fosmvvm-ui-tests-generator -a claude-code`. Or copy the skill folder (skills/fosmvvm-ui-tests-generator in LeoYeAI/openclaw-master-skills) into .claude/skills/fosmvvm-ui-tests-generator in your project. Claude Code loads it when a task matches its description.

How do I install Fosmvvm UI Tests Generator in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill fosmvvm-ui-tests-generator -a codex`. Or copy the skill folder (skills/fosmvvm-ui-tests-generator in LeoYeAI/openclaw-master-skills) into .agents/skills/fosmvvm-ui-tests-generator in your project. Codex loads it when a task matches its description.

Can I use Fosmvvm UI Tests Generator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill fosmvvm-ui-tests-generator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fosmvvm-ui-tests-generator, .gemini/skills/fosmvvm-ui-tests-generator, .github/skills/fosmvvm-ui-tests-generator and .opencode/skills/fosmvvm-ui-tests-generator in your project.

What does Fosmvvm UI Tests Generator need to run?

SKILL.md names no scripts, command-line tools or credentials: Fosmvvm UI Tests Generator is instructions for the agent only.

Does Fosmvvm UI Tests Generator access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Fosmvvm UI Tests Generator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Fosmvvm UI Tests Generator use?

Fosmvvm UI Tests Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Fosmvvm UI Tests Generator use?

About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Fosmvvm UI Tests Generator?

Skills that share tags, products or a category with Fosmvvm UI Tests Generator: Hig Components Content (raintree-technology/hig-doctor, 143 stars), iOS Accessibility (dpearson2699/swift-ios-skills, 1.2k stars), UI Review Tahoe (KartikLabhshetwar/better-shot, 2.4k stars) and iOS Accessibility Testing (conorluddy/xclaude-plugin, 183 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fosmvvm UI Tests Generator?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.