Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
charleswiltgen avatar

Axiom Uikit

  • 664 installs
  • 1.1k repo stars
  • Updated August 3, 2026
  • charleswiltgen/axiom

axiom-uikit is a Claude Code reference skill that debugs and implements UIKit bridging, Auto Layout, Combine, TextKit, and UIKit animations for developers mixing SwiftUI and UIKit on iOS.

About

axiom-uikit is an MIT-licensed skill in charleswiltgen/axiom that agents must use for UIKit bridging, Auto Layout, Combine, TextKit, or UIKit animation tasks. Symptom-driven tables route issues such as UIViewRepresentable, UIViewControllerRepresentable, UIHostingController embedding, Coordinator lifecycle, and "Unable to simultaneously satisfy constraints" errors to focused guides like skills/uikit-bridging.md. Developers reach for axiom-uikit when SwiftUI wrappers misbehave, constraint logs flood Xcode, or TextKit and Combine integrations need proven patterns instead of trial-and-error. The skill is reference-oriented: match a symptom, open the mapped markdown guide, and apply UIKit-specific fixes during iOS app construction.

  • Mandatory skill gate: use for ANY UIKit bridging, Auto Layout, Combine, TextKit, or UIKit animation work
  • Symptom table routes constraints conflicts, missing views, and animation completion issues to dedicated references
  • Covers UIViewRepresentable, UIHostingController embedding, and Coordinator/updateUIView lifecycle
  • Combine publishers, AnyCancellable lifecycle, and Combine vs async/await guidance
  • TextKit 2 / NSTextLayoutManager reference for rich text layout work

Axiom Uikit by the numbers

  • 664 all-time installs (skills.sh)
  • Ranked #269 of 1,039 Mobile Development skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/charleswiltgen/axiom --skill axiom-uikit

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs664
repo stars1.1k
Security audit3 / 3 scanners passed
Last updatedAugust 3, 2026
Repositorycharleswiltgen/axiom

How do you fix UIKit Auto Layout constraint conflicts in SwiftUI?

Debug and implement UIKit bridging, Auto Layout, Combine, TextKit, and UIKit animations with symptom-driven reference guides.

Who is it for?

iOS developers bridging SwiftUI and UIKit who hit Auto Layout, Combine, TextKit, or animation errors during feature work.

Skip if: Android Jetpack Compose work, server-side Swift, or greenfield SwiftUI-only screens with no UIKit integration.

When should I use this skill?

The user reports UIKit bridging bugs, constraint satisfaction errors, TextKit issues, Combine wiring, or UIKit animation problems on iOS.

What you get

Resolved constraint setups, UIViewRepresentable implementations, and UIKit bridging patterns from axiom reference guides.

  • constraint fixes
  • bridging implementation patterns

By the numbers

  • MIT-licensed axiom skill with skills/uikit-bridging.md reference
  • Symptom table covers UIViewRepresentable and UIHostingController patterns

Files

SKILL.mdMarkdownGitHub ↗

UIKit & Bridging

You MUST use this skill for ANY UIKit bridging, Auto Layout, Combine, TextKit, or UIKit animation work.

Quick Reference

Symptom / TaskReference
UIViewRepresentable, UIViewControllerRepresentableSee skills/uikit-bridging.md
Embedding SwiftUI in UIKit (UIHostingController)See skills/uikit-bridging.md
Coordinator pattern, updateUIView lifecycleSee skills/uikit-bridging.md
"Unable to simultaneously satisfy constraints"See skills/auto-layout-debugging.md
Constraint conflicts, ambiguous layoutSee skills/auto-layout-debugging.md
Views not appearing, positioned incorrectlySee skills/auto-layout-debugging.md
CAAnimation completion handler not firingSee skills/uikit-animation-debugging.md
Spring physics wrong on device, duration mismatchSee skills/uikit-animation-debugging.md
Animation jank, CATransaction timingSee skills/uikit-animation-debugging.md
Combine publishers, AnyCancellable lifecycleSee skills/combine-patterns.md
@Published properties, Combine ↔ async/awaitSee skills/combine-patterns.md
When to use Combine vs async/awaitSee skills/combine-patterns.md
UIScene lifecycle required, resizable apps, size classes, tab sidebar OS27See skills/uikit-modernization.md
TextKit 2 architecture, NSTextLayoutManagerSee skills/textkit-ref.md
Writing Tools integration (iOS 26)See skills/textkit-ref.md
Viewport rendering surfaces, attachment reuse, collapsible text OS27See skills/textkit-ref.md
SwiftUI TextEditor, TextKit 1 migrationSee skills/textkit-ref.md
PencilKit canvas, PKToolPicker, drawing persistenceSee skills/pencilkit-paperkit.md
Apple Pencil Pro (squeeze, barrel roll, hover, haptics)See skills/pencilkit-paperkit.md
Handwriting recognition (PKStrokeRecognizer), stroke identity/slicing OS27See skills/pencilkit-paperkit-ref.md
PaperKit markup canvas (shapes, images, text + drawing)See skills/pencilkit-paperkit-ref.md
PaperKit programmatic markup model (subelements, adornments) OS27See skills/pencilkit-paperkit-ref.md

Decision Tree

digraph uikit {
    start [label="UIKit task" shape=ellipse];
    what [label="What do you need?" shape=diamond];

    start -> what;
    what -> "skills/uikit-bridging.md" [label="wrap UIKit in SwiftUI\nor SwiftUI in UIKit"];
    what -> "skills/auto-layout-debugging.md" [label="constraint errors,\nlayout issues"];
    what -> "skills/uikit-animation-debugging.md" [label="CAAnimation bugs,\nspring physics,\ncompletion handlers"];
    what -> "skills/combine-patterns.md" [label="publishers, sinks,\n@Published,\nasync/await bridge"];
    what -> "skills/textkit-ref.md" [label="text layout,\nWriting Tools,\nTextKit migration"];
    what -> "skills/pencilkit-paperkit.md" [label="drawing canvas,\nApple Pencil,\nPaperKit markup"];
    what -> "skills/uikit-modernization.md" [label="scene lifecycle (required 27),\nresizable apps,\nsize classes"];
}

0. Scene-lifecycle migration, "app won't launch on 27", resizability, size classes, tab sidebar? → skills/uikit-modernization.md 1. UIViewRepresentable / UIViewControllerRepresentable / UIHostingController? → skills/uikit-bridging.md 2. "Unable to simultaneously satisfy constraints" / layout bugs? → skills/auto-layout-debugging.md 3. CAAnimation completion missing / spring physics wrong / animation jank? → skills/uikit-animation-debugging.md 4. Combine publishers / AnyCancellable / @Published / Combine ↔ async bridge? → skills/combine-patterns.md 5. TextKit 2 / Writing Tools / TextEditor / TextKit 1 migration? → skills/textkit-ref.md 6. PencilKit canvas / Apple Pencil / PaperKit markup? → skills/pencilkit-paperkit.md 7. Pure SwiftUI view question (no UIKit bridging)? → /skill axiom-swiftui 8. Design decisions, HIG, Liquid Glass, SF Symbols, typography? → /skill axiom-design 9. Block retain cycles in UIKit callbacks? → See axiom-performance (skills/objc-block-retain-cycles.md) 10. Memory leaks from Combine subscriptions? → Start with skills/combine-patterns.md, then axiom-performance if leak persists

Conflict Resolution

uikit vs swiftui: When working with UI code:

  • Use uikit when wrapping UIKit in SwiftUI or vice versa, or debugging UIKit-specific issues (Auto Layout, CAAnimation)
  • Use swiftui for pure SwiftUI views, navigation, layout, animations

uikit vs concurrency: When Combine interacts with async/await:

  • Use uikit (skills/combine-patterns.md) for bridging Combine pipelines with async/await
  • Use concurrency for pure async/await patterns, actors, Sendable

uikit vs performance: When animations or layout cause performance issues: 1. Try uikit FIRST — Most animation jank is CATransaction timing or layer state, not a profiling issue 2. Only use performance if animation logic is correct but rendering is slow

uikit vs axiom-data: When @Published properties relate to data persistence:

  • Use uikit for Combine publisher patterns and @Published lifecycle
  • Use axiom-data for SwiftData/Core Data model layer concerns

Anti-Rationalization

ThoughtReality
"I'll just use UIHostingController, it's simple"Hosting has sizing, lifecycle, and navigation edge cases. skills/uikit-bridging.md covers the gotchas.
"Auto Layout error is just a warning, I'll ignore it"Unsatisfied constraints cause unpredictable layout at runtime. Fix them now.
"I know how CAAnimation works"90% of CAAnimation bugs are CATransaction timing, not Core Animation. Check skills/uikit-animation-debugging.md.
"Combine is dead, just rewrite with async/await"Combine has no deprecation notice. Rewriting working pipelines wastes time. skills/combine-patterns.md covers when to migrate vs maintain.
"TextKit 1 still works fine"TextKit 1 misses Writing Tools integration and has known layout bugs Apple won't fix. See skills/textkit-ref.md.
"I'll store cancellables in a local variable"Local AnyCancellable deallocates immediately, killing the subscription.
"I'll archive the PKCanvasView to save the drawing"Archiving the view loses editability. Persist drawing.dataRepresentation(). See skills/pencilkit-paperkit.md.
"My tool picker won't show, the API must be broken"The canvas must becomeFirstResponder() after setVisible(_:forFirstResponder:). See skills/pencilkit-paperkit.md.

Example Invocations

User: "How do I wrap a UIKit view in SwiftUI?" → Read: skills/uikit-bridging.md

User: "I'm getting 'Unable to simultaneously satisfy constraints'" → Read: skills/auto-layout-debugging.md

User: "My CAAnimation completion handler never fires" → Read: skills/uikit-animation-debugging.md

User: "Should I use Combine or async/await for this?" → Read: skills/combine-patterns.md

User: "How do I integrate Writing Tools with my text editor?" → Read: skills/textkit-ref.md

User: "How do I add an Apple Pencil drawing canvas with the tool picker?" → Read: skills/pencilkit-paperkit.md

User: "How do I add a PaperKit markup canvas with shapes and text?" → Read: skills/pencilkit-paperkit-ref.md

User: "My SwiftUI view has a memory leak from a Combine subscription" → Read: skills/combine-patterns.md

User: "How do I embed SwiftUI in my UIKit app?" → Read: skills/uikit-bridging.md

Related skills

How it compares

Use axiom-uikit for symptom-indexed UIKit bridging fixes; use generic SwiftUI docs when the screen never touches UIKit APIs.

FAQ

When must developers use axiom-uikit?

axiom-uikit must be used for any UIKit bridging, Auto Layout, Combine, TextKit, or UIKit animation work per the skill README. It routes symptoms to guides such as skills/uikit-bridging.md.

Does axiom-uikit cover SwiftUI inside UIKit hosting?

axiom-uikit covers embedding SwiftUI in UIKit via UIHostingController and related bridging topics. Reference tables link UIViewRepresentable, Coordinator lifecycle, and constraint errors to dedicated markdown guides.

Is Axiom Uikit safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Mobile Developmentfrontendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.