ios-engineer

A skill for planning iOS software work, with rules for choosing the main task type and checking relevant technical details.

In plain words
What is it for?
Analyzing, debugging, designing, reviewing, and planning changes to iPhone and iPad apps.
Why use it?
It helps keep iOS advice focused and avoids guessing about devices, operating-system versions, programming-language versions, or reproduction conditions.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/i-stack/ai-coding-kit/snapshot
Any agent
npx skills add i-stack/ai-coding-kit --skill snapshot
Clone the repo
git clone --depth 1 https://github.com/i-stack/ai-coding-kit

Made for: Claude Code, Codex.

Per session 55 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,398 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00055 $0.04398
Opus 5 $0.00028 $0.02199
Sonnet 5 $0.00011 $0.00880
Haiku 4.5 $0.00006 $0.00440

Measured yesterday against content hash cc91da96705d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ios-engineer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

The scan reads SKILL.md. This mod also ships 20 executable files (scripts/append_usage_entry.sh, scripts/approve_skill_promotion.sh, scripts/check_skill_promotion_readiness.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills-engineering/ios-engineer/evolution/history/v64/snapshot/SKILL.md · 105 lines

How it starts

The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.

iOS Engineer

核心铁律

  • [IR-001] 始终使用简体中文。
  • [IR-002] 对描述不清、上下文不足或存在歧义的问题,先确认关键事实,不自行猜测需求、边界或期望行为。判定信息不足时(典型触发:模糊措辞 / 未给机型与系统 / 未给复现条件 / 未说已尝试方案 / 未说受影响范围),必须以独立的“前置确认”块字面输出 ≥1 个具体问题,方可继续给出方案。仅在散文中提“需要更多信息”或“建议补充”视为违反本铁律。前置确认问题维度示例见 root_cause_enforcement.md §2 取证策略;架构 / 性能类按对应 ROUTE 主读 ref 补完。能从工程或上下文读出的事实优先读,不要让用户重复输入。
  • [IR-003] 默认先锁定 1 个最高概率根因或主路径,最多补充 1 个备选;不要同时展开多个大分支。
  • [IR-004] 默认按“根因 -> 为什么 -> 修法 -> 验证”输出;若任务命中长模板要求,四段式作为摘要层,详细模板作为附加层。代码审查 / PR Review 例外:按 findings-first 标准输出骨架输出,骨架段落详见 review_checklists.md 第 8 节。
  • [IR-005] 先给最小可验证修复,不先提出整模块重写、架构翻新或大范围重构。
  • [IR-006] 涉及并发(@MainActor / actor / Sendable / async let)、可用性 API、SwiftUI 行为、网络取消语义的建议,回答里必须出现一条显式的“版本前提”声明,二选一:要么给出从工程读取的 IPHONEOS_DEPLOYMENT_TARGETSWIFT_VERSION 真值(如 iOS 15.0 / Swift 5.9),要么以“假设 iOS ≥ N / Swift ≥ M,如不符请纠正”形式显式声明假设值。两者缺一或只给其中一项即视为违反本铁律。能读工程时优先读真值;只有在无法读取或成本过高时才允许退到显式假设。本 skill 不预设默认基线。具体落点见 examples.md §1/§2/§4/§5/§6 模板的“版本前提”块与 review_checklists.md §8 骨架的“版本前提”段;该段必须作为独立段落字面存在,不允许与“结论”或“为什么”合并、也不允许散写进散文,字段存在性需要可被机械校验。
  • [IR-007] 不要格式化代码,除非明确要求格式化当前代码。
  • [IR-008] 任何改动都必须声明“已覆盖、未覆盖、残留风险”。

任务分流

先把任务归入下列一个主类(选粒度最匹配的一条,其他按追加处理),默认只读 2 到 4 份 ref;跨多维度时按 根因/边界 -> 状态/并发 -> 测试验证 -> 迁移或发布风险 的优先顺序加载。

路由优先级

  • 默认走 SYM 表 -> 主读 ref 单点路由(最小心智成本)。
  • 升级到 ROUTE-017 剧本必须显式满足以下任一条件:跨多日 / 跨多模块 / 已尝试常规排障无果 / 需要分阶段落地。
  • 仅"问题复杂"或"涉及多个 ref"不算升级条件 — 多 ref 用 ROUTE 主读 + 追加机制覆盖即可。
  • 升级判据满足时,ROUTE-017 取代 SYM 主读,但 SYM 表仍作症状定位辅助。
  • 分流时先按主关键词过 ROUTE 表,再用每条的 TRIGGER / SKIP 锚点确认;锚点对仅用于消歧,不替代主关键词与 ref 主读链。

症状导航

先按用户描述的直接症状选入口;命中后再回到下方任务分流确定主读与追加 ref。规则 ID 索引见 rule_index.md

症状 / 关键词 优先入口 常见追加
[SYM-001] Crash / 崩溃 / 断言 / 强解 / 野指针 / EXC_BAD_ACCESS root_cause_enforcement.md 并发问题追加 swift_concurrency.md;日志取证追加 observability_logging.md
[SYM-002] UI 错位 / 约束冲突 / 列表跳动 / 复用错乱 / 无障碍 layout_and_ui.md 状态驱动渲染追加 ui_state_patterns.md
[SYM-003] 状态错乱 / 异步回写 / 旧请求覆盖新 UI / 多 Bool 互斥 ui_state_patterns.md 取消链路追加 swift_concurrency.md
[SYM-004] 请求失败 / 重试异常 / 鉴权刷新 / 分页重复或漏数据 / 缓存污染 networking_patterns.md 错误建模追加 domain_modeling.md
[SYM-005] 卡顿 / 启动慢 / 内存上涨 / 过度刷新 / 能耗异常 performance_optimization.md 指标与埋点追加 observability_logging.md
[SYM-006] 命名混乱 / 术语混用 / 强制解包 / 访问控制 / 代码结构 ios_conventions.md 代码审查场景追加 review_checklists.md
[SYM-007] 老项目越改越乱 / 不敢动某块代码 / 接手陌生项目找不到入口 / 牵一发动全身 / 团队抱怨开发卡手 / 想重构但不知从哪起 architecture_analysis.md 需要具体修法追加 architecture_and_network.md;路线图与迁移风险追加 migration_strategy.md

Read the full file on GitHub · 105 lines

Files

What ships with it

48 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 105 lines · 55 tokens per session scan A cc91da96705d

Subscribe to this mod's changes

ios-engineer is a skill published in the GitHub repository i-stack/ai-coding-kit (3 stars, last pushed yesterday), licensed MIT. It adds 55 tokens to every session and 4,398 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

swiftui-design-consultation

Apple-canon design system for SwiftUI projects: produces DESIGN.md + a Swift Package starter (semantic colors, SF Pro, Liquid Glass, motion, accessibility). Use when starting or refreshing a SwiftUI design system.

Paretofilm/superpowers-gstack · 51 tokens

e2e-route

Pure dispatcher: picks the right E2E executor for a Swift test request from context (platform × intent × verification kind) and hands off. Routes to the scaffold/MCP-sim/QA/design-review skills.

Paretofilm/superpowers-gstack · 51 tokens

orca-emulator-android

Control an Android emulator / device from inside Orca using the orca CLI. Use for listing/booting AVDs, taps, swipes, typing, hardware buttons (incl. Back and Recents), rotation, app install/launch, runtime permissions, the accessibility tree, and logcat — driving a real adb-connected device or emulator.…

stablyai/orca · 104 tokens

speckit-analyze

Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.

unoplatform/uno · 32 tokens

add-sample

Create a SamplesApp sample page with correct theming and attributes. Use when adding UI samples for controls.

unoplatform/uno · 21 tokens

mapping-to-snomed

Maps clinical concept spans extracted by OpenMed to SNOMED CT concepts through a USER-SUPPLIED terminology server (the user's own Ontoserver, Snowstorm, or UMLS/UTS), never a bundled vocabulary. Use when the user wants to code findings, disorders, procedures, body structures, or substances to SNOMED CT, run an ECL…

maziyarpanahi/openmed · 205 tokens