expo-web-to-native agent skill by expo
Migrates a web React app to native iOS and Android with Expo, including how web idioms like the DOM and CSS map to native.
At a glance
| Publisher | Expo Official |
|---|---|
| Repository | expo/skills (25 listed skills) |
| Category | Developer Tools and Frameworks |
| License | MIT |
| Last commit | October 17, 2026 (repository) |
| SKILL.md | 84 lines, 1,439 words |
| Bundled files | 6 files, including references |
| Quality score | 83/100 · B Passes all seven graded checks |
| Security scan | Not scanned |
| README badge | Get the badges for this listing |
Before you install
Read from the skill's files at the directory's October 19, 2026 snapshot: what ships with it, what its code reads, and the terms it is published under.
- Bundled scripts: none.
- Commands in SKILL.md: its code blocks run
npx, which fetches or runs software from outside the skill folder. - License: MIT, an open-source or open-content license.
Install expo-web-to-native
The skills CLI works with Claude Code, Codex, Cursor and other agents; the other routes copy the folder by hand.
npx skills add https://github.com/expo/skills/tree/main/plugins/expo/skills/expo-web-to-native
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/expo/skills.git "$tmp/repo"
mkdir -p .claude/skills
cp -R "$tmp/repo/"plugins/expo/skills/expo-web-to-native .claude/skills/
rm -rf "$tmp"
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo expo/skills \
--path plugins/expo/skills/expo-web-to-native
expo/skills is third-party code. Read SKILL.md and any bundled scripts before you install it.
How the author describes it
Migrate an existing web React app to a native iOS/Android app with Expo. Use when the user wants to turn a website into a mobile app, port a Next.js/Vite/CRA React codebase to React Native, reuse web code on native incrementally, or asks how web idioms (the DOM, CSS, React Router, localStorage, window) map to native. This is the end-to-end migration guide; use the `expo-dom` skill for the DOM-component mechanism itself.
From the description field of SKILL.md. Agents read this line to decide when to load the skill.
Sections in SKILL.md
- Principles
- Run it as a loop (recommended)
- The migration
- 1. Assess → write the worklist
- 2. Scaffold the shell
- 3. Shell it in DOM components — the day-one milestone
- 4. Strangle screens to native — by value
- 5. Wire data, auth, and storage
- 6. Ship
- Verify by running, not compiling
- References
- Submitting Feedback
Files in the skill folder
SKILL.mdagents/openai.yamlreferences/false-friends.mdreferences/native-patterns.mdreferences/run-as-goal.mdreferences/verify-on-device.md
Suede Skill Check: 83/100 · B
Report snapshot · · graded-v2
The rubric totals 100 points; published scores are capped at 99. Security scan: not scanned.
Source revision: 7ddc1f579699. Report version 1b152d408e35. Badge URLs follow the latest listing; save the report to keep this version.
Download report · Request a fresh review
What to review next
- Boundary clause: 0 of 4 points. 4 when the description says when not to use the skill (“Not for …”, “Do not use …”, “Use … instead”).
- Example request: 0 of 3 points. 3 when the description quotes an example request (3–60 characters in quotation marks).
- Bundled scripts: 0 of 2 points. 2 when the skill folder ships a scripts/ folder.
Add declarations and bundled files when they describe the skill’s actual needs. Update the source, then request a fresh review with the changed commit or PR.
expo-web-to-native passes the required frontmatter check and all seven graded checks, which cover the SKILL.md format, a declared license and a commit in the last year. Those checks earn 56 of the score’s points; the rest come from description quality, instruction depth, bundled files, maintenance and curated-list citations. How the score works.
See the checks and points
| Check | Result |
|---|---|
| Frontmatter parses and declares a name and a description | Pass |
| Name uses lowercase letters, digits and hyphens, 64 characters or fewer | Pass |
| Name matches the skill's folder name | Pass |
| Description is between 50 and 1,024 characters | Pass |
| Description says when an agent should use the skill | Pass |
| SKILL.md body is 500 lines or fewer | Pass |
| A license is declared in the frontmatter or the repository | Pass |
| Repository has a commit in the last 12 months | Pass |
| Score component | Points |
|---|---|
| Structural checks | 56 of 56 |
| Description length | 5 of 5 |
| Boundary clause | 0 of 4 |
| Example request | 0 of 3 |
| Instruction depth | 7 of 7 |
| Reference files | 3 of 3 |
| Bundled scripts | 0 of 2 |
| Recent maintenance | 9 of 9 |
| Curated-list citations | 3 of 7 |
| Tool permissions declared | 0 of 2 |
| Compatibility declared | 0 of 2 |
Two badges for expo-web-to-native
Choose the numeric badge, the letter badge, or both. Each links to this skill’s Suede listing; either valid linked badge can qualify for the feature offer.
[](https://skills.suedeai.ai/directory/expo/skills/expo-web-to-native/)
[](https://skills.suedeai.ai/directory/expo/skills/expo-web-to-native/)<a href="https://skills.suedeai.ai/directory/expo/skills/expo-web-to-native/"><img src="https://skills.suedeai.ai/directory/expo/skills/expo-web-to-native/score.svg" alt="Suede Skill Check: 83/100" width="160" height="175"></a>
<a href="https://skills.suedeai.ai/directory/expo/skills/expo-web-to-native/"><img src="https://skills.suedeai.ai/directory/expo/skills/expo-web-to-native/badge.svg" alt="Suede Skill Check: Grade B" width="160" height="175"></a>Suede Certified on the shield refers to this published structural quality check. Security scan: not scanned. Read the methodology.
Limited-time feature offer: display either the numeric or letter badge in your repository or skill README (both also qualify), then request badge verification. Eligible skills scoring 80–99 can receive a featured placement after Suede verifies at least one valid badge linked to the skill’s listing. Suede has not announced an end date.
Where this skill is cited
expo/skills appears in 2 curated lists: heilcheng/awesome-agent-skills, travisvn/awesome-claude-skills.