重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
swift-diagnostics by johnrogers/claude-swift-engineering
npx skills add https://github.com/johnrogers/claude-swift-engineering --skill swift-diagnostics适用于 iOS/macOS 开发的系统性调试工作流。通过遵循结构化的诊断方法,这些模式有助于在几分钟而非数小时内识别根本原因。
只要内容有被需要的可能,无论多小,都应始终加载参考文件。 拥有上下文总比错过某个模式或犯错要好。
| 参考文件 | 加载时机 |
|---|---|
| Navigation | NavigationStack 无响应、意外弹出、深度链接失败时 |
| Build Issues | SPM 解析、"No such module"、依赖冲突时 |
| Memory | 循环引用、内存增长、deinit 未调用时 |
| Build Performance | 构建缓慢、Derived Data 问题、Xcode 卡顿时 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 使用 LLDB 命令、断点、视图调试时 |
80% 的"神秘"问题源于可预测的模式:
请系统地进行诊断,切勿猜测。
跳过强制性的初步检查 — 在运行诊断(清理构建、重启模拟器、重启 Xcode)之前直接修改代码,意味着你将追逐幻影。务必从强制性检查开始。
一次性更改多个因素 — "让我删除 DerivedData 并重启模拟器并关闭 Xcode" 意味着你无法隔离到底是哪个修复真正起了作用。一次只更改一个变量。
假设自己知道原因 — "NavigationStack 停止工作,一定是我的 reducer 有问题" — 实际上可能是陈旧的 DerivedData。诊断决策树能防止假设。遵循决策树,不要猜测。
忽略内存基础知识 — deinit 未被调用是循环引用问题,但初学者常常归咎于架构。在重构之前,使用 Instruments 来验证泄漏。相信数据,而非直觉。
未能隔离问题 — 使用整个应用程序进行测试会使诊断复杂化。创建一个仅包含问题功能的最小可复现示例。隔离能揭示根本原因。
每周安装次数
53
代码仓库
GitHub 星标数
193
首次出现
2026年1月23日
安全审计
安装于
codex42
opencode42
claude-code39
gemini-cli39
cursor37
github-copilot36
Systematic debugging workflows for iOS/macOS development. These patterns help identify root causes in minutes rather than hours by following structured diagnostic approaches.
ALWAYS load reference files if there is even a small chance the content may be required. It's better to have the context than to miss a pattern or make a mistake.
| Reference | Load When |
|---|---|
| Navigation | NavigationStack not responding, unexpected pops, deep link failures |
| Build Issues | SPM resolution, "No such module", dependency conflicts |
| Memory | Retain cycles, memory growth, deinit not called |
| Build Performance | Slow builds, Derived Data issues, Xcode hangs |
| Xcode Debugging | LLDB commands, breakpoints, view debugging |
80% of "mysterious" issues stem from predictable patterns:
Diagnose systematically. Never guess.
Skipping mandatory first checks — Jumping straight to code changes before running diagnostics (clean build, restart simulator, restart Xcode) means you'll chase ghosts. Always start with the mandatory checks.
Changing multiple things at once — "Let me delete DerivedData AND restart simulator AND kill Xcode" means you can't isolate which fix actually worked. Change one variable at a time.
Assuming you know the cause — "NavigationStack stopped working, must be my reducer" — actually it was stale DerivedData. Diagnostic trees prevent assumptions. Follow the tree, don't guess.
Missing memory basics — Calling deinit not being called is a retain cycle, but beginners often blame architecture. Use Instruments to verify leaks before refactoring. Data, not intuition.
Not isolating the problem — Testing with your whole app complicates diagnosis. Create a minimal reproducible example with just the problematic feature. Isolation reveals root causes.
Weekly Installs
53
Repository
GitHub Stars
193
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex42
opencode42
claude-code39
gemini-cli39
cursor37
github-copilot36