Build profitable iOS apps using Cursor + Claude with AI-driven workflows and native polish
by @gregeisenberg
ABOUT THIS SKILL
Chris Raroque demonstrates how a solo developer can create polished, revenue-generating native iOS apps entirely in Cursor with Claude 3.7, covering everything from project setup to AI feature integration and asset generation.
TECHNIQUES
KEY PRINCIPLES (13)
Set up the Xcode project manually, then open it in Cursor for AI-assisted coding.
Cursor cannot handle initial Xcode project setup (framework selection, entitlements, network permissions), but once the project is configured, you can open the .xcodeproj in Cursor and iterate rapidly with chat-based edits.
Why: Xcode’s proprietary build system and entitlements require human-level decisions that current LLMs hallucinate or miss entirely.
"do not try to use Cursor to set up the project for Xcode... you got to set up... manually in Xcode"
Build UI first with dummy data, then wire functionality.
Ask Cursor to create only the UI layer using hard-coded data; once the visuals match the rest of the app, prompt again to connect real data sources.
Why: LLMs stay on track when given a single, bounded task; mixing UI and data logic in one prompt increases failure rate.
"I try to only do the UI first, and then I start hooking up the back end... it has a way easier time following the instructions"
Explicitly tell the AI to mimic existing design patterns.
Add the instruction "try to follow the similar UI as other parts of the app" to prevent the model from inventing new components.
Why: Without guardrails, LLMs default to generic patterns that break visual cohesion.
"try to follow the UI as similarly as the other parts of the app... it did pretty well trying to follow the rest of what the app looked like"
Use OpenRouter as a single gateway to 300+ LLMs with one-line model swaps.
Integrate once against OpenRouter’s endpoint; change model by changing a string identifier, enabling rapid A/B testing of GPT-4o, Claude, Gemini, etc.
Why: Eliminates boilerplate integrations and lets you optimize cost vs. quality in real time.
"OpenRouter has a service where... you can just switch out the models with one line of code"
Feed official documentation into Cursor via @docs to slash hallucinations.
Copy the URL of Apple, OpenRouter, or 11-labs docs; Cursor indexes the entire spec so the model references real APIs instead of inventing them.
Why: iOS and Mac SDK hallucinations are rampant; grounding the model in indexed docs keeps generated code valid.
"constantly feed in documentation... it really brought those hallucinations down"
Generate prompts with Claude in XML format for higher fidelity.
Ask Claude to write system prompts wrapped in XML tags (<persona>, <response_style>, etc.); paste the XML into Cursor for injection.
Why: Structured XML increases LLM adherence to complex instructions compared to free-form text.
"formatting in what's called XML... has a higher chance I've seen of producing really good results"
Use AI to create realistic mock data that matches user personas.
Prompt GPT to generate transactions, names, or events that fit a 28-year-old male in Dallas instead of generic placeholders.
Why: Realistic data makes demos and viral previews resonate; viewers can envision themselves using the product.
"add restaurants in places that look way more realistic... they can envision themselves using it"
Expose local functions as tools for true agentic behavior.
Define Swift functions (get_transactions_for_date_range, get_budget) and register them with OpenRouter’s tool-calling schema; the LLM decides when to invoke them.
Why: Turns a static chat into an agent that reasons about what data it needs, reducing token waste and enabling dynamic queries.
"we just gave it two tools, but this is already powerful... it's able to do all this stuff for you like an actual agent"
WHAT'S INSIDE
This is a structured knowledge base — not a prompt file. Your AI retrieves principles semantically, understands the reasoning behind each technique, and connects to related skills via a knowledge graph.
Compatible with OpenClaw · Claude · ChatGPT
principles · semantic retrieval · knowledge graph
Free during beta · Sign in to save to dashboard