Source profileQuality 94/100

gaelic-ghost/socket/plugins/apple-dev-skills/skills/swift-openapi-client-workflow/SKILL.md

swift-openapi-client-workflow

Build, integrate, test, and diagnose Swift OpenAPI Generator clients in Apple-platform apps and Swift packages using OpenAPIURLSession, OpenAPIRuntime, URLSessionTransport, SwiftPM plugins, Apple docs, Dash docsets, and clear handoffs to server-side Swift OpenAPI workflows when the API contract or server transport changes.

Source repository stars
6
Declared platforms
0
Static risk flags
0
Last source update
2026-08-26
Source checked
2026-08-28

Decision brief

What it does: where it fits

Build, integrate, test, and diagnose Swift OpenAPI Generator clients in Apple-platform apps and Swift packages using OpenAPIURLSession, OpenAPIRuntime, URLSessionTransport, SwiftPM plugins, Apple docs, Dash docsets, and clear handoffs to server-side Swift OpenAPI workflows when the API contract or server transport changes.

Best for

  • Use this skill when an iOS, macOS, watchOS, tvOS, visionOS, or Swift package client should call an HTTP API from an OpenAPI description.
  • Use this skill when adding or changing swift-openapi-generator, swift-openapi-runtime, or swift-openapi-urlsession dependencies for client generation.
  • Use this skill when wiring openapi.yaml, openapi.json, or openapi-generator-config.yaml into an app-supporting package or target.

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/gaelic-ghost/socket --skill "plugins/apple-dev-skills/skills/swift-openapi-client-workflow"
Safe inspection promptEditorial

Inspect the Agent Skill "swift-openapi-client-workflow" from https://github.com/gaelic-ghost/socket/blob/ccbde05d2d542ce20d1645b425c75dc531b53721/plugins/apple-dev-skills/skills/swift-openapi-client-workflow/SKILL.md at commit ccbde05d2d542ce20d1645b425c75dc531b53721. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Planning Workflow

    1. Inspect project shape: - Package.swift - .xcodeproj, .xcworkspace, package dependencies, and target membership when present - OpenAPI document path - openapi-generator-config.yaml - app target, shared client package target, generated-code target, and test targets - networking…

    Inspect project shape:Package.swift.xcodeproj, .xcworkspace, package dependencies, and target membership when present
  2. 02

    Purpose

    Add or diagnose generated Swift OpenAPI clients in Apple-platform code without confusing app-side networking with server-side transport work.

    Add or diagnose generated Swift OpenAPI clients in Apple-platform code without confusing app-side networking with server-side transport work.The practical decision is where the OpenAPI document lives, which app or package target runs Swift OpenAPI Generator, how the generated Client is configured with OpenAPIURLSession, how calls are isolated from UI state,…
  3. 03

    When To Use

    Use this skill when an iOS, macOS, watchOS, tvOS, visionOS, or Swift package client should call an HTTP API from an OpenAPI description.

    Use this skill when an iOS, macOS, watchOS, tvOS, visionOS, or Swift package client should call an HTTP API from an OpenAPI description.Use this skill when adding or changing swift-openapi-generator, swift-openapi-runtime, or swift-openapi-urlsession dependencies for client generation.Use this skill when wiring openapi.yaml, openapi.json, or openapi-generator-config.yaml into an app-supporting package or target.
  4. 04

    Source Check

    Start with the Apple and Swift docs gate:

    Use explore-apple-swift-docs for Apple framework behavior, URLSession, Foundation networking, Xcode package integration, Swift concurrency, Observation, SwiftUI, UIKit, AppKit, or platform lifecycle behavior.Use local Dash or official docs before claiming current Apple or Swift API behavior.Look in Dash Swift docsets for appleswiftopenapigenerator, appleswiftopenapiruntime, appleswiftopenapiurlsession, swiftlangswiftpackagemanager, and Apple Foundation or platform docs when available.
  5. 05

    Client Integration

    When adding Swift OpenAPI client generation:

    add fetchable package dependencies for swift-openapi-generator, swift-openapi-runtime, and swift-openapi-urlsessionadd the OpenAPIGenerator plugin to the target that owns the OpenAPI documentadd OpenAPIRuntime and OpenAPIURLSession products to the generated-client target

Permission review

Static risk signals and limitations

No configured static risk pattern was detected

This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score94/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars6SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
gaelic-ghost/socket
Skill path
plugins/apple-dev-skills/skills/swift-openapi-client-workflow/SKILL.md
Commit
ccbde05d2d542ce20d1645b425c75dc531b53721
License
Apache-2.0
Collected
2026-08-28
Default branch
main
View the original SKILL.md

Swift OpenAPI Client Workflow

Purpose

Add or diagnose generated Swift OpenAPI clients in Apple-platform code without confusing app-side networking with server-side transport work.

The practical decision is where the OpenAPI document lives, which app or package target runs Swift OpenAPI Generator, how the generated Client is configured with OpenAPIURLSession, how calls are isolated from UI state, and which tests prove request, response, auth, cancellation, and error behavior.

When To Use

  • Use this skill when an iOS, macOS, watchOS, tvOS, visionOS, or Swift package client should call an HTTP API from an OpenAPI description.
  • Use this skill when adding or changing swift-openapi-generator, swift-openapi-runtime, or swift-openapi-urlsession dependencies for client generation.
  • Use this skill when wiring openapi.yaml, openapi.json, or openapi-generator-config.yaml into an app-supporting package or target.
  • Use this skill when diagnosing generated client symbols such as Client, APIProtocol, Operations, Components, response enums, content-type cases, undocumented responses, or transport errors.
  • Use this skill when integrating generated calls into SwiftUI, AppKit, UIKit, Observation, async tasks, app services, or test doubles.
  • Do not use this skill for generated server handlers, Vapor transport, Hummingbird transport, JSON-RPC, gRPC, or MCP-style service contracts. Hand that to server-side-swift:openapi-rpc-workflow when available.
  • Do not use this skill for ordinary URLSession networking with no OpenAPI contract.

Source Check

Start with the Apple and Swift docs gate:

  • Use explore-apple-swift-docs for Apple framework behavior, URLSession, Foundation networking, Xcode package integration, Swift concurrency, Observation, SwiftUI, UIKit, AppKit, or platform lifecycle behavior.
  • Use local Dash or official docs before claiming current Apple or Swift API behavior.
  • Look in Dash Swift docsets for appleswiftopenapigenerator, appleswiftopenapiruntime, appleswiftopenapiurlsession, swiftlangswiftpackagemanager, and Apple Foundation or platform docs when available.
  • Use Introducing Swift OpenAPI Generator for the official client/server overview, generated Client, APIProtocol, ClientTransport, and URLSessionTransport shape.
  • Use apple/swift-openapi-generator for current generator behavior, plugin setup, examples, and supported OpenAPI features.
  • Use apple/swift-openapi-runtime for generated runtime types, middleware concepts, and shared abstractions.
  • Use apple/swift-openapi-urlsession for the OpenAPIURLSession transport and platform support.
  • Use Swift Package Manager documentation for package plugin, target, dependency, and build behavior.

Do not claim current generator, URLSession transport, package-plugin, or Apple framework behavior from memory when current docs can be checked.

Planning Workflow

  1. Inspect project shape:
    • Package.swift
    • .xcodeproj, .xcworkspace, package dependencies, and target membership when present
    • OpenAPI document path
    • openapi-generator-config.yaml
    • app target, shared client package target, generated-code target, and test targets
    • networking service or API client owner
    • SwiftUI, Observation, AppKit, UIKit, or other UI entry points that call the client
  2. Identify the client ownership shape:
    • app target owns generated client directly
    • shared Swift package owns generated client for one or more apps
    • generated client wraps a server-side Swift service in the same workspace
    • existing hand-written client is being replaced or wrapped
  3. Confirm the generator stack:
    • Swift OpenAPI Generator package plugin
    • OpenAPIRuntime runtime dependency
    • OpenAPIURLSession transport for Apple-platform URL loading
    • client generation in openapi-generator-config.yaml
  4. Keep generated transport code away from UI views. Views should call a small app-facing service, model, environment value, or dependency shape that can be tested.
  5. Keep the OpenAPI document and generator config reviewable, because they define the generated Swift symbols and response cases.
  6. Validate through build, focused client tests, and app or package tests before recommending runtime manual checks.

Client Integration

When adding Swift OpenAPI client generation:

  • add fetchable package dependencies for swift-openapi-generator, swift-openapi-runtime, and swift-openapi-urlsession
  • add the OpenAPIGenerator plugin to the target that owns the OpenAPI document
  • add OpenAPIRuntime and OpenAPIURLSession products to the generated-client target
  • configure openapi-generator-config.yaml to generate types and client
  • instantiate generated Client with a documented server URL and URLSessionTransport
  • keep base URL, auth tokens, and environment selection outside generated types
  • keep secrets out of source control

For Xcode app projects, preserve project ownership. If package dependency or target membership changes require Xcode-aware mutation, hand off to xcode-build-run-workflow rather than editing .pbxproj casually.

For Swift package clients, keep Package.swift readable and intentional. Prefer SwiftPM commands or focused manifest edits that match the existing package style.

App-Side Behavior

When connecting generated clients to app code:

  • isolate generated response enums from UI views with a small app-facing API when the UI would otherwise switch over transport details everywhere
  • handle documented response cases explicitly
  • handle .undocumented responses with a readable error path
  • preserve task cancellation; do not hide CancellationError behind generic networking failures
  • keep authentication, retry, logging, and metrics in a transport or app-service boundary instead of scattering them across views
  • map generated schemas into local app models only when the app needs persistence, editing, identity, or UI-specific state
  • avoid using generated types as SwiftData, Core Data, or UI state models unless the generated schema is intentionally stable enough for that job

When an API contract change is needed, stop and surface that as server or contract work. Do not quietly patch the generated client around a mismatched server contract.

Testing And Validation

Choose the smallest useful check:

  • swift build to force package-plugin generation and type checking
  • swift test for package-level client wrappers, request mapping, response handling, and fake transport behavior
  • Xcode build or test workflow when the app target, scheme, simulator, or package integration is the real risk
  • local HTTP checks only when integration with a real server, auth header, TLS, cookie, redirect, or streaming behavior must be proven end to end

Prefer fake ClientTransport or app-service seams for tests when the behavior does not require a real network. Use real URLSessionTransport checks only when Foundation networking behavior is the thing being verified.

When validation fails, name the exact OpenAPI operation, generated symbol, target, package plugin, transport, response case, or Apple framework surface involved. Include the likely cause, such as a missing config file, wrong target plugin placement, stale operation ID, unsupported schema shape, missing OpenAPIURLSession dependency, target membership drift, or an app lifecycle call running from the wrong task boundary.

Output Shape

Return:

  1. Client shape: OpenAPI document, generator config, target ownership, generated symbols, transport, and app-facing owner.
  2. Docs used: Apple, Swift, Dash, GitHub, or SwiftPM docs consulted.
  3. Command path: exact SwiftPM, Xcode, generator, validation, test, run, or HTTP commands run or recommended.
  4. Behavior: operations, inputs, outputs, auth, cancellation, errors, UI handoff, and contract-change decisions.
  5. Validation: build, test, app run, fake transport, real HTTP, or skipped checks.
  6. Handoffs: server-side OpenAPI/RPC, Xcode build/run, Xcode testing, Swift package, docs exploration, persistence, or observability follow-up when the task crosses this skill's boundary.

Guardrails

  • Do not turn an Apple app workflow into server-side transport work.
  • Do not hide API contract mismatches behind app-side adapters without saying the server contract needs attention.
  • Do not commit generated caches, secrets, local server URLs as production defaults, or machine-local dependency paths.
  • Do not hand-edit Package.resolved.
  • Do not edit Xcode project files casually; use Xcode-aware workflows when project membership or scheme behavior is part of the change.
  • Do not let generated response enums leak into every view when a small app-facing service would keep UI code readable and testable.

Frequently asked questions

What to verify before installation and use

What does the swift-openapi-client-workflow source document cover?

Build, integrate, test, and diagnose Swift OpenAPI Generator clients in Apple-platform apps and Swift packages using OpenAPIURLSession, OpenAPIRuntime, URLSessionTransport, SwiftPM plugins, Apple docs, Dash docsets, and clear handoffs to server-side Swift OpenAPI workflows when the API contract or server transport changes.

How do I install swift-openapi-client-workflow?

The source record exposes this install command: npx skills add https://github.com/gaelic-ghost/socket --skill "plugins/apple-dev-skills/skills/swift-openapi-client-workflow". Inspect the command and pinned source before running it.

Alternatives

Compare before choosing

Computed 976

mgiovani/cc-arsenal

team-review

Multi-agent review team: architecture, security, performance, testing, style, docs/UX, plus an adversary that cross-examines the other 6, for security-sensitive, architectural, or large PRs (15+ files) where a single-agent pass risks missing cross-cutting issues. Use for auth/payments/PII changes, schema/pattern changes, compliance sign-off, or when asked to 'get the review team on this' / 'multi-agent review' / 'thorough review before merge'. For a standard PR or a quick pre-merge check, use /r

Computed 965,277

dotnet/skills

dotnet-webapi

Guides creation and modification of ASP.NET Core Web API endpoints with correct HTTP semantics, OpenAPI metadata, and error handling. USE FOR: adding new API endpoints (controllers or minimal APIs), wiring up OpenAPI/Swagger, creating .http test files, setting up global error handling middleware. DO NOT USE FOR: general C# coding style, EF Core data access or query optimization (use optimizing-ef-core-queries), frontend/Blazor work, gRPC services, or SignalR hubs.

Computed 9660

almanak-co/sdk

almanak-strategy-builder

Build, test, and deploy DeFi trading strategies using the Almanak SDK. ALWAYS use this skill when the user mentions almanak, DeFi strategy, trading strategy, yield farming, liquidity provision, token swap, borrowing, lending, perpetuals, staking, vault deposit, bridging tokens, backtesting, paper trading, or on-chain execution. Use for writing strategy.py files, composing intents (Swap, LP, Borrow, Supply, Perp, Bridge, Stake, Vault, Prediction), working with config.json strategy parameters, run

Computed 969

kensaurus/cursor-kenji

debug-error

Diagnose one error/bug with hypotheses and runtime evidence before fixing. Use when "debug this error", "investigate this bug", or behavior is unexpected. FE↔BE contract mismatch → debug-fe-be-integration. Sentry backlog/monitoring → debug-sentry-monitor. Bug-to-PR lifecycle → workflow-fix-and-ship.