ivan-magda/uikit-expert — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ivan-magda/uikit-expert (Plugin) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An AI agent skill for writing correct, performant, modern UIKit code in Swift.
<img src="demo.gif" alt="Installing the uikit-expert skill" width="600">
AI coding assistants tend to produce UIKit code with the same recurring mistakes: geometry work in viewDidLoad instead of viewIsAppearing, missing [weak self] in escaping closures, deprecated cell.textLabel instead of UIContentConfiguration, and navigation bar appearance set on the wrong object. This skill gives an agent the facts it needs to catch and fix those mistakes.
It ships in the Agent Skills format, so it works with any assistant that reads SKILL.md or AGENTS.md, including Claude Code, Cursor, Windsurf, and Codex. The entry point, SKILL.md, routes the agent through a decision tree (review, improve, or implement) and points it at the matching reference file for the task at hand.
The skill teaches facts and best practices, not architecture. It draws a hard line:
translatesAutoresizingMaskIntoConstraints = false on programmatic views.Fourteen reference files cover the surface area an agent hits when working with UIKit:
| Domain | Key topics |
|---|---|
| Lifecycle | viewIsAppearing (iOS 13+), child VC containment, deallocation verification |
| Auto Layout | Batch activation, zero-churn constraints, constraint animation, .flushUpdates (iOS 26) |
| Collection views | Diffable data sources, stable identity, compositional layout, list configuration |
| Cell configuration | UIContentConfiguration, UIBackgroundConfiguration, configurationUpdateHandler |
| List performance | Prefetching with Swift concurrency, cell reuse race condition, reconfigureItems |
| Navigation | Four-slot UINavigationBarAppearance, concurrent transition guards, Liquid Glass |
| Animation | API selection, UIViewPropertyAnimator state machine, spring animations |
| Memory | Retain cycle traps (Timer, NotificationCenter, CADisplayLink, nested closures), Task retention |
| Concurrency | @MainActor, Task lifecycle, Swift 6 migration, Task.detached pitfalls |
| Interop | UIHostingController containment, sizingOptions, UIViewRepresentable lifecycle |
| Images | ImageIO downsampling, decoded bitmap math, cancel/clear/verify pattern |
| Keyboard | UIKeyboardLayoutGuide, iPad floating keyboard, scroll view sync |
| Adaptive | registerForTraitChanges, Dynamic Type, CGColor dark mode trap, VoiceOver |
| Modern APIs | Observation framework, updateProperties(), .flushUpdates, mandatory UIScene |
Each reference is self-contained, with correct and incorrect Swift examples, a "why" for every recommendation, and a checklist at the bottom.
The guidance spans iOS 13 through 26:
viewIsAppearing (back-deployed), UINavigationBarAppearanceUIContentConfiguration, CellRegistration, compositional layout list configurationUIKeyboardLayoutGuide, reconfigureItems, scrollEdgeAppearance changesregisterForTraitChanges, custom traits, spring animation APIUIObservationTrackingEnabled (opt-in), automatic trait trackingupdateProperties(), .flushUpdates, mandatory UIScene, Liquid GlassPick the path that matches your assistant.
npx skills add https://github.com/ivan-magda/uikit-expert-skill --skill uikit-expertSee the skills.sh platform page for details.
Add the marketplace, then install the skill:
/plugin marketplace add ivan-magda/uikit-expert-skill
/plugin install uikit-expert@uikit-expert-skillTo enable the skill for everyone on a repository, add this to the project's .claude/settings.json:
{
"enabledPlugins": {
"uikit-expert@uikit-expert-skill": true
},
"extraKnownMarketplaces": {
"uikit-expert-skill": {
"source": {
"source": "github",
"repo": "ivan-magda/uikit-expert-skill"
}
}
}
}Claude Code prompts each team member to install the skill when they open the project.
uikit-expert/ folder following your tool's official skills docs:Once the skill is installed, ask your agent to use it for any UIKit task. For example:
Use the uikit-expert skill to review the current UIKit code for lifecycle, memory management, and performance issues.
The agent reads SKILL.md, picks the matching branch of the decision tree, and pulls in the relevant reference file. To confirm it loaded, check that the agent cites the workflow and checklists from SKILL.md and jumps into a specific reference file for your task.
uikit-expert-skill/
├── .claude-plugin/
│ ├── plugin.json # Claude Code plugin manifest
│ └── marketplace.json # Claude Code marketplace catalog
├── AGENTS.md # Meta-rules for AI agents authoring the skill
└── uikit-expert/
├── SKILL.md # Decision tree router (entry point)
└── references/
├── view-controller-lifecycle.md
├── auto-layout.md
├── modern-collection-views.md
├── cell-configuration.md
├── list-performance.md
├── navigation-patterns.md
├── animation-patterns.md
├── memory-management.md
├── concurrency-main-thread.md
├── uikit-swiftui-interop.md
├── image-loading.md
├── keyboard-scroll.md
├── adaptive-appearance.md
└── modern-uikit-apis.mdIssues and pull requests are welcome. When adding content, keep it UIKit-specific and factual: reserve "always" and "never" for correctness, and present optimizations as suggestions. The authoring rules live in AGENTS.md.
Released under the MIT License.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.