{"id":"f087637f-bbbe-4212-b2d7-b46586f8069f","shortId":"ETkLpA","kind":"skill","title":"mobile-app","tagline":"A mobile-app screen rendered inside a pixel-accurate iPhone 15 Pro frame\non the page. Built by copying the seed `assets/template.html` and pasting\none screen archetype from `references/layouts.md`. Use when the brief asks\nfor \"mobile app\", \"iOS app\", \"Android app\", \"phone screen\"","description":"# Mobile App Skill\n\nProduce a single mobile-app screen mockup, framed inside a real-feeling iPhone 15 Pro device.\n\n## Resource map\n\n```\nmobile-app/\n├── SKILL.md                ← you're reading this\n├── assets/\n│   └── template.html       ← seed: device frame + screen primitives (READ FIRST)\n└── references/\n    ├── layouts.md          ← 6 screen archetypes (Feed / Detail / Onboarding / Profile / Checkout / Focus)\n    └── checklist.md        ← P0/P1/P2 self-review (anti-fake-device)\n```\n\n## Workflow\n\n### Step 0 — Pre-flight\n\n1. **Read `assets/template.html`** end-to-end through the `<style>` block. The Dynamic Island, status bar SVG icons, home indicator, side rails, and tab bar are all already drawn in HTML/SVG — do not re-implement them inline on each screen.\n2. **Read `references/layouts.md`** so you know which 6 archetypes exist.\n3. **Read the active DESIGN.md** — map its tokens to the six `:root` variables in the seed.\n\n### Step 1 — Copy the seed\n\nCopy `assets/template.html` to the project root as `index.html`. Replace the six `:root` variables with the active design system's tokens. Replace the page `<title>` and the caption above the device.\n\n### Step 2 — Pick exactly one archetype\n\n| Brief language | Use |\n|---|---|\n| feed, inbox, timeline, list, messages, notifications | A — Feed |\n| article, post, item, recipe, song, product, song detail | B — Detail |\n| sign-up, welcome, intro, walkthrough, tour | C — Onboarding |\n| profile, account, user page, someone's bio | D — Profile |\n| checkout, payment, order, form, settings step | E — Checkout |\n| timer, map, dashboard widget, single big number | F — Focus / hero card |\n\nA mobile screen does **one job**. If the brief seems to combine two, ship one screen and offer the other as a follow-up.\n\n### Step 3 — Paste and fill\n\nCopy the archetype block from `layouts.md` into `<main class=\"content\">`, replacing the placeholder card. Fill bracketed text with real, specific copy from the brief. **Drop the `<nav class=\"tabbar\">` block entirely** for archetypes that don't show one (B, C, E).\n\n### Step 4 — Self-check\n\nRun through `references/checklist.md`. Pay extra attention to:\n- Frame still has the Dynamic Island, status bar SVGs, and home indicator\n- Tap targets ≥ 44px\n- One accent, used ≤ 2× on the screen\n- Display headings still use `var(--font-display)` (serif)\n\n### Step 5 — Emit the artifact\n\n```\n<artifact identifier=\"mobile-slug\" type=\"text/html\" title=\"Mobile — Screen Name\">\n<!doctype html>\n<html>...</html>\n</artifact>\n```\n\nOne sentence before describing what's there. Stop after `</artifact>`.\n\n## Hard rules\n\n- **The phone is real.** Dynamic Island gap, SVG status icons, home indicator. The seed protects all three — don't rewrite the frame.\n- **Single screen, single job.** No multi-tab tours, no spliced flows.\n- **Accent budget = 2.** One active tab + one primary action is the default.\n- **Numerics in mono** via `.num` class.\n- **Display in serif** via `var(--font-display)`.\n- **No external images** — use `.ph-img` placeholders.","tags":["mobile","app","open","design","nexu-io","agent-skills","ai-agents","ai-design","byok","claude","claude-code-for-design","claude-design"],"capabilities":["skill","source-nexu-io","skill-mobile-app","topic-agent-skills","topic-ai-agents","topic-ai-design","topic-byok","topic-claude","topic-claude-code-for-design","topic-claude-design","topic-coding-agents","topic-design-systems","topic-design-tools","topic-desktop-app","topic-figma-alternative"],"categories":["open-design"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/nexu-io/open-design/mobile-app","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add nexu-io/open-design","source_repo":"https://github.com/nexu-io/open-design","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 36607 github stars · SKILL.md body (3,029 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-11T06:52:25.441Z","embedding":null,"createdAt":"2026-05-01T18:52:33.234Z","updatedAt":"2026-05-11T06:52:25.441Z","lastSeenAt":"2026-05-11T06:52:25.441Z","tsv":"'0':111 '1':115 '15':16,67 '6':91 'accur':14 'android':45 'anti':106 'anti-fake-devic':105 'app':3,7,42,44,46,50,57,74 'archetyp':32,93 'ask':39 'asset':80 'assets/template.html':27,117 'brief':38 'built':22 'checklist.md':100 'checkout':98 'copi':24 'detail':95 'devic':69,83,108 'end':119,121 'end-to-end':118 'fake':107 'feed':94 'feel':65 'first':88 'flight':114 'focus':99 'frame':18,60,84 'insid':10,61 'io':43 'iphon':15,66 'layouts.md':90 'map':71 'mobil':2,6,41,49,56,73 'mobile-app':1,5,55,72 'mockup':59 'onboard':96 'one':30 'p0/p1/p2':101 'page':21 'past':29 'phone':47 'pixel':13 'pixel-accur':12 'pre':113 'pre-flight':112 'primit':86 'pro':17,68 'produc':52 'profil':97 're':77 'read':78,87,116 'real':64 'real-feel':63 'refer':89 'references/layouts.md':34 'render':9 'resourc':70 'review':104 'screen':8,31,48,58,85,92 'seed':26,82 'self':103 'self-review':102 'singl':54 'skill':51 'skill-mobile-app' 'skill.md':75 'source-nexu-io' 'step':110 'template.html':81 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-design' 'topic-byok' 'topic-claude' 'topic-claude-code-for-design' 'topic-claude-design' 'topic-coding-agents' 'topic-design-systems' 'topic-design-tools' 'topic-desktop-app' 'topic-figma-alternative' 'use':35 'workflow':109","prices":[{"id":"40065fc9-15a7-4d11-8d99-6ff5669c4ca8","listingId":"f087637f-bbbe-4212-b2d7-b46586f8069f","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"nexu-io","category":"open-design","install_from":"skills.sh"},"createdAt":"2026-05-01T18:52:33.234Z"}],"sources":[{"listingId":"f087637f-bbbe-4212-b2d7-b46586f8069f","source":"github","sourceId":"nexu-io/open-design/mobile-app","sourceUrl":"https://github.com/nexu-io/open-design/tree/main/skills/mobile-app","isPrimary":false,"firstSeenAt":"2026-05-01T18:52:33.234Z","lastSeenAt":"2026-05-11T06:52:25.441Z"},{"listingId":"f087637f-bbbe-4212-b2d7-b46586f8069f","source":"skills_sh","sourceId":"nexu-io/open-design/mobile-app","sourceUrl":"https://skills.sh/nexu-io/open-design/mobile-app","isPrimary":true,"firstSeenAt":"2026-05-07T20:42:37.837Z","lastSeenAt":"2026-05-07T22:41:42.184Z"}],"details":{"listingId":"f087637f-bbbe-4212-b2d7-b46586f8069f","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"nexu-io","slug":"mobile-app","github":{"repo":"nexu-io/open-design","stars":36607,"topics":["agent-skills","ai-agents","ai-design","byok","claude","claude-code-for-design","claude-design","coding-agents","design-systems","design-tools","desktop-app","figma-alternative","generative-ai","hermes-agent","local-first","nextjs","no-code","prototyping","ui-generator","vibe-coding"],"license":"apache-2.0","html_url":"https://github.com/nexu-io/open-design","pushed_at":"2026-05-11T06:48:43Z","description":"🎨 Local-first, open-source alternative to Anthropic's Claude Design. ⚡ 19 Skills · ✨ 71 brand-grade Design Systems 🖼 Generate web · desktop · mobile prototypes · slides · images · videos · HyperFrames 📦 Sandboxed preview · HTML/PDF/PPTX/MP4 export 🤖 Runs on Claude Code / Codex / Cursor / Gemini / OpenCode / Qwen / Copilot / Hermes / Kimi CLI.","skill_md_sha":"26489b0bfccacc654386b854833b97c8cd5d539e","skill_md_path":"skills/mobile-app/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/nexu-io/open-design/tree/main/skills/mobile-app"},"layout":"multi","source":"github","category":"open-design","frontmatter":{"name":"mobile-app","description":"A mobile-app screen rendered inside a pixel-accurate iPhone 15 Pro frame\non the page. Built by copying the seed `assets/template.html` and pasting\none screen archetype from `references/layouts.md`. Use when the brief asks\nfor \"mobile app\", \"iOS app\", \"Android app\", \"phone screen\", or \"app UI\"."},"skills_sh_url":"https://skills.sh/nexu-io/open-design/mobile-app"},"updatedAt":"2026-05-11T06:52:25.441Z"}}