用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/oimiragieo/agent-studio --skill ios-expert命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Agent frontmatter enhancements — disallowedTools, mcpServers scoping, fork_eligible field
Context management — pre-compact persistence, threshold alignment, microcompact/circuit breaker detection
Hook enhancements — updatedInput for bash safety prefixes, suppressOutput for verbose blocks, denial-based routing feedback
正在显示 SKILL.md
基于 SOC 职业分类
| name | ios-expert |
| description | iOS development expert including SwiftUI, UIKit, and Apple frameworks |
| version | 1.1.0 |
| model | sonnet |
| invoked_by | both |
| user_invocable | true |
| tools | ["Read","Write","Edit","Bash","Grep","Glob"] |
| consolidated_from | 1 skills |
| best_practices | ["Follow domain-specific conventions","Apply patterns consistently","Prioritize type safety and testing"] |
| error_handling | graceful |
| streaming | supported |
| verified | true |
| lastVerifiedAt | "2026-02-22T00:00:00.000Z" |
| source | builtin |
| trust_score | 100 |
| provenance_sha | 2af63179404e8ed8 |
When reviewing or writing code, apply these guidelines:
When reviewing or writing code, apply these guidelines:
When reviewing or writing code, apply these guidelines:
@MainActor for UI updates — SwiftUI and UIKit views must be modified on the main thread; background thread UI updates cause runtime crashes or silent visual corruption.@State for data that is shared between views — @State is local to the view and does not propagate changes to siblings or parents; use @ObservedObject, @EnvironmentObject, or @StateObject for shared model data.[weak self] in closures that capture self — strong self capture in closures that are held by the captured object creates retain cycles and memory leaks.const constructors and mark SwiftUI views as struct — class-based SwiftUI views lose automatic diffing optimization; struct views enable efficient identity tracking.| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
| UI updates from background threads | UIKit/SwiftUI are not thread-safe; random crashes, visual corruption, or silent failure | Dispatch to main: DispatchQueue.main.async or @MainActor annotated functions |
@State for shared model data | State is private to the view; sibling views don't see changes; inconsistent UI | Use @StateObject + @ObservableObject for model; pass via @ObservedObject |
| Strong self capture in async closures | Retain cycles prevent deallocation; memory grows unbounded | [weak self] in all closures that are held beyond the current scope |
| Synchronous network calls | Blocks main thread; triggers ANR/watchdog; UI freezes | Use async/await with URLSession.data(for:) or Combine; always on background |
| Class-based SwiftUI views | Opt out of struct diffing optimization; slower rendering; lifecycle issues | Define all views as struct; only use class for ObservableObject models |
This expert skill consolidates 1 individual skills:
Before starting:
cat .claude/context/memory/learnings.md
After completing: Record any new patterns or exceptions discovered.
ASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.