ios-engineering
Skill2 starsChanged 5 months agoMITView on GitHub
End-to-end product planning, SwiftUI/iOS implementation, engineering review, root-cause debugging, UI replication and visual review, XCTest generation, whole-app audit, and evidence-based acceptance. Use for iOS product requirements, UI/UX changes, feature implementation, bug investigation, code review, testing, release validation, or final verification.
4 other projects use a version of this.
Adopted by
Most recently taken up by
- juninmd/skillstheir own version, first seen Nov 8, 2026
- PhoenixNest/AGENT-GLOBAL-BASEtheir own version, first seen Oct 20, 2026
- foreturn/product-studiotheir own version, first seen Oct 14, 2026
- loganware05/captains-compass-cursortheir own version, first seen Oct 12, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- foreturn/product-studio★ 3same name
- juninmd/skills★ 2same name
- loganware05/captains-compass-cursor★ 2same name
- PhoenixNest/AGENT-GLOBAL-BASE★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. About 0 are common, 20 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈20
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Use this single skill for the complete lifecycle of an existing iOS product:
- Distinctive: line 56
Do not activate several full workflows at once.
- Distinctive: line 60
Before applying generic rules, search for project-specific sources in this order:
- Very specific: line 77
Prefer reuse → extend → refactor → rebuild, in that order.
- Distinctive: line 78
Default to one recommended solution.
- Distinctive: line 88
Do not invent product behavior, module names, token names, test schemes, or target names.
- Distinctive: line 89
Do not create a parallel source of truth to make a feature appear to work.
- Distinctive: line 90
Do not hide missing business data with silent fallback.
- Distinctive: line 91
Do not rewrite historical facts from current mutable configuration.
- Distinctive: line 92
Do not classify a smell as a confirmed bug without a reachable failure path.
- Distinctive: line 93
Do not weaken assertions, validation, or business rules to make tests pass.
- Distinctive: line 94
Do not use arbitrary sleeps as synchronization or proof of correctness.
- Distinctive: line 95
Do not alter product semantics merely to match a static screenshot.
- Distinctive: line 96
Do not start fixing a review surface before the relevant scope has been scanned and findings grouped.
- Distinctive: line 97
Do not require user confirmation for deterministic, in-scope fixes when the user already requested implementation or repair.
- Distinctive: line 98
Do not auto-resolve a genuine product/design conflict.
- Distinctive: line 99
Do not declare completion from compilation, checked boxes, comments, or mock-only tests.
- Distinctive: line 100
Do not turn every observation into current-scope work.
- Distinctive: line 114
Write, delete, persistence, history, notification, cache, widget, watch, or cross-page synchronization:
- Distinctive: line 138
Default to concise, executable output.
- Distinctive: line 140
Every formal output must make these visible:
- Very specific: line 150
Use the matching file under templates/ when a durable report or execution prompt is needed.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
iOS Engineering
Purpose
Use this single skill for the complete lifecycle of an existing iOS product:
product decision
→ design freeze
→ implementation
→ review
→ debugging
→ UI validation
→ feature testing
→ whole-app audit
→ final acceptanceThe skill is generic. Product facts, domain rules, real module names, build schemes, test targets, design tokens, and component names must come from the active repository.
Invocation
Preferred commands:
/ios plan <requirement>
/ios implement <requirement or task>
/ios review <scope>
/ios debug <observed failure>
/ios ui <replicate | review | fix> <screen or design>
/ios test feature <feature>
/ios audit app
/ios verify <requirement or change>Natural-language equivalents are valid. If the user explicitly names a mode, use it.
Mode routing
Select one primary mode:
plan: decide product structure, requirement scope, UX, interaction, UI structure, data loop, execution grouping, and acceptance criteria.implement: change production behavior under a frozen requirement.review: inspect completed or partial work for defects and omissions.debug: trace an observed failure to its root cause and add regression protection.ui: replicate, review, or repair rendered iOS UI.test: add focused XCTest coverage for one feature or contract.audit: run staged whole-app QA and cross-flow regression.verify: decide whether a requirement is actually complete.
Do not activate several full workflows at once. A primary mode may load references from other modes when the task crosses boundaries.
Required project discovery
Before applying generic rules, search for project-specific sources in this order:
.agent/project-profile.mddocs/project/ios-engineering-profile.mddocs/ENGINEERING-SKILL-PROFILE.md- current issue, PRD, requirement, or design artifact
- product and domain rules
- architecture and data-flow documentation
- design-system and component documentation for UI work
- testing profile, schemes, targets, and validation commands
Project facts override examples in this skill. Project rules cannot weaken data integrity, deterministic testing, safety, accessibility, or evidence requirements.
Universal operating rules
- Understand the real user goal before accepting the requested control or surface as the solution.
- Inspect the existing product and implementation before proposing a new module, data owner, or component.
- Prefer
reuse → extend → refactor → rebuild, in that order. - Default to one recommended solution. Offer alternatives only for a material trade-off or unresolved product conflict.
- Separate durable product facts from implementation notes and one-time audit evidence.
- Identify the authoritative state owner and complete read/write path before modifying stateful behavior.
- Preserve explicit non-goals and already-correct behavior.
- Fix the earliest wrong assumption or transition, not only the visible symptom.
- Validate with the repository's real build, test, runtime, and visual entry points.
- Report confirmed facts, inferred risks, unknowns, evidence, and remaining blockers separately.
Hard rules
- Do not invent product behavior, module names, token names, test schemes, or target names.
- Do not create a parallel source of truth to make a feature appear to work.
- Do not hide missing business data with silent fallback.
- Do not rewrite historical facts from current mutable configuration.
- Do not classify a smell as a confirmed bug without a reachable failure path.
- Do not weaken assertions, validation, or business rules to make tests pass.
- Do not use arbitrary sleeps as synchronization or proof of correctness.
- Do not alter product semantics merely to match a static screenshot.
- Do not start fixing a review surface before the relevant scope has been scanned and findings grouped.
- Do not require user confirmation for deterministic, in-scope fixes when the user already requested implementation or repair.
- Do not auto-resolve a genuine product/design conflict; record the conflict and recommended decision.
- Do not declare completion from compilation, checked boxes, comments, or mock-only tests.
- Do not turn every observation into current-scope work; classify current, deferred, historical, and global-system issues.
Reference loading
Load only what the task needs:
- Product architecture, requirement, UX, information architecture, or execution prompt:
modes/plan.mdreferences/product-architecture.mdreferences/requirement-and-ux.mdreferences/interaction-and-state-design.md
- Any production change:
modes/implement.mdreferences/core-engineering-rules.md
- Write, delete, persistence, history, notification, cache, widget, watch, or cross-page synchronization:
references/data-consistency.mdreferences/fallback-and-error-handling.md
- Code review or unexplained behavior:
references/bug-patterns.md
- SwiftUI, navigation, sheet, safe area, keyboard, accessibility, or layout:
references/swiftui-and-ios-ui.md
- Design reproduction or rendered visual review:
references/ui-replication.mdreferences/visual-quality-review.md
- Feature tests:
modes/test.mdreferences/testing.md
- Whole-app QA:
modes/audit.mdreferences/full-app-audit.md
- Acceptance or completion claims:
modes/verify.mdreferences/evidence-and-reporting.md
- Localization or copy-sensitive work:
references/localization.md
Output policy
Default to concise, executable output. Expand only when the user asks for a full specification or audit report.
Every formal output must make these visible:
- scope examined
- product or engineering decision
- confirmed findings or completed changes
- preserved behavior and explicit non-goals
- evidence
- unresolved risks, decisions, or unverified conditions
- next required action, if any
Use the matching file under templates/ when a durable report or execution prompt is needed.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

