CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

swiftui-uikit-interop

Bridges UIKit and SwiftUI with UIViewRepresentable, UIViewControllerRepresentable, UIHostingController, UIHostingConfiguration, coordinator delegates, and UIKit automatic observation tracking for shared @Observable state. Use when wrapping UIKit-only or third-party UIKit views/controllers in SwiftUI, embedding SwiftUI in UIKit, integrating mail/share/document/PDF/text-view surfaces, or migrating UIKit apps to SwiftUI incrementally.

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is dpearson2699/swift-ios-skills

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, largely executable reference skill: correct lifecycle rules, loop guards, version-gated observation-tracking guidance, and a thorough checklist, with bulk recipes properly split into verified reference files. Weaknesses are minor: a few snippets are non-executable fragments, some basic-concept explanations could be trimmed, and the common 'wrap a view end-to-end' path is not sequenced in one place.

Suggestions

Trim the 'Why Coordinators Exist' rationale (delegates require a class is basic Swift knowledge Claude already has) and fold the one non-obvious sentence into the Structure section.

Replace the sizingOptions fragment — '@available' cannot decorate a bare assignment — with a complete executable example, and complete the @MainActor coordinator snippet.

Add a short ordered flow at the top for the most common task (choose protocol → copy recipe from references/representable-recipes.md → set delegate in make* → guard updates → verify against checklist) so the per-pattern guidance sequences into one start-to-finish workflow.

DimensionReasoningScore

Conciseness

The body is dense and instructional — lifecycle tables, key rules, and version-gated tracking guidance — with essentially no tutorial padding or explanation of what UIKit/SwiftUI are. Minor over-explanation could be trimmed: 'Why Coordinators Exist' re-explains that delegates require reference types (basic Swift knowledge), and 'Why updateUIView is the most important method' restates documented behavior. This fits anchor 4 ('efficient; minor instances of over-explanation') better than anchor 3, since the padding is a few sentences rather than whole padded sections.

4 / 5

Actionability

Most examples are complete, executable Swift (WrappedTextView, SearchBarView, DocumentScannerView + coordinator, the containment sequence, cell contentConfiguration). Two snippets are not runnable as written: the sizing-options fragment applies '@available(iOS 16.0, *)' to a bare property assignment, and the @MainActor coordinator example is a partial shell. This matches anchor 4 ('mostly executable guidance with minor gaps') rather than anchor 5's fully copy-paste-ready bar.

4 / 5

Workflow Clarity

Per-pattern sequences are explicit (make → update → dismantle timing table; addChild → constrain → didMove; delegate exits for success/cancel/error) and the 15-item Review Checklist acts as a validation checkpoint. It sits at anchor 4 ('clear sequence with most checkpoints present') rather than 5 because there is no single ordered start-to-finish flow for the most common task (e.g., choosing and adapting a wrapper recipe from the references) — the body teaches patterns rather than sequencing them. No destructive/batch operations exist, so the workflow-clarity cap does not apply.

4 / 5

Progressive Disclosure

SKILL.md is a well-navigable overview (TOC, sectioned patterns) that keeps core concepts inline and pushes bulk material to two real, one-level-deep reference files — references/representable-recipes.md (9 full wrapper recipes) and references/hosting-migration.md (migration patterns, including the 'Automatic Observation Tracking in UIKit' anchor the body links to, verified present). Both are signaled early with their purpose and again in the References section. This matches anchor 5 ('clear overview with well-signaled one-level-deep references; content appropriately split').

5 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, comprehensive and specific about capabilities, with an explicit 'Use when…' clause listing four concrete trigger scenarios. The only weakness is that a handful of natural user phrasings (e.g., 'interop', 'share sheet', specific UIKit controller names) are absent from the trigger list.

DimensionReasoningScore

Specificity

The description names multiple concrete mechanisms — 'UIViewRepresentable, UIViewControllerRepresentable, UIHostingController, UIHostingConfiguration, coordinator delegates, and UIKit automatic observation tracking' — covering both bridge directions plus state sharing comprehensively. It matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' and exceeds anchor 4, which is reserved for coverage with minor gaps; no capability area of UIKit/SwiftUI interop is missing.

5 / 5

Completeness

It explicitly answers both questions: 'Bridges UIKit and SwiftUI with [named APIs]' states the what, and 'Use when wrapping… embedding… integrating… or migrating…' gives concrete trigger phrases. This matches anchor 5 ('clearly and explicitly answers both what AND when with concrete trigger phrases') and exceeds anchor 4, where the 'when' clause would be less specific.

5 / 5

Trigger Term Quality

Good natural keyword coverage: 'wrapping UIKit-only or third-party UIKit views/controllers in SwiftUI', 'embedding SwiftUI in UIKit', 'mail/share/document/PDF/text-view surfaces', 'migrating UIKit apps to SwiftUI incrementally'. A few natural terms users would actually say are missing (e.g., 'interop', 'hybrid app', 'share sheet', specific controller names like UIActivityViewController), so it fits anchor 4 ('good keyword coverage; a few natural terms missing') rather than the anchor-5 comprehensive-synonyms bar; it is clearly above anchor 3's 'some relevant keywords but missing common variations'.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche (bidirectional UIKit/SwiftUI interop) with distinct triggers tied to specific APIs and integration surfaces, so it would not fire for generic SwiftUI or UIKit skills. This matches anchor 5; anchor 4 would apply only if there were notable overlap with a closely related skill, which there is not.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

dpearson2699/swift-ios-skills

Path

skills/swiftui-uikit-interop/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.