expo-migrate-module agent skill by expo
Migrates a Swift Expo native module from the Expo Modules API 1.0 DSL to the 2.0 macro API, preserving its JavaScript and TypeScript contract.
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 | 117 lines, 1,486 words |
| Bundled files | 5 files, including references |
| Quality score | 87/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-migrate-module
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-experiments/skills/expo-migrate-module
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-experiments/skills/expo-migrate-module .claude/skills/
rm -rf "$tmp"
python3 ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo expo/skills \
--path plugins/expo-experiments/skills/expo-migrate-module
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 Apple/Swift Expo native module from the Expo Modules API 1.0 definition DSL to the 2.0 macro API (sometimes called v2) while preserving its JavaScript and TypeScript contract. Use when converting or incrementally adopting @ExpoModule, @JS, @Event, @SharedObject, or @Record in an existing module. Do not use for creating a new module, general Expo SDK upgrades, or Android/Kotlin migrations.
From the description field of SKILL.md. Agents read this line to decide when to load the skill.
Sections in SKILL.md
- Prerequisite
- References
- Workflow
- 1. Establish the contract
- 2. Verify the available 2.0 surface
- 3. Apply the migration
- When a 2.0 equivalent is missing or a group fails
- 4. Verify behavior
- Handoff
- Submitting Feedback
Files in the skill folder
SKILL.mdagents/openai.yamlreferences/compatibility.mdreferences/example.mdreferences/migration-map.md
Suede Skill Check: 87/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 4a51e9b9efee. Badge URLs follow the latest listing; save the report to keep this version.
Download report · Request a fresh review
What to review next
- 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.
- Tool permissions declared: 0 of 2 points. 2 when the frontmatter declares allowed-tools.
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-migrate-module 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 | 4 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-migrate-module
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-migrate-module/)
[](https://skills.suedeai.ai/directory/expo/skills/expo-migrate-module/)<a href="https://skills.suedeai.ai/directory/expo/skills/expo-migrate-module/"><img src="https://skills.suedeai.ai/directory/expo/skills/expo-migrate-module/score.svg" alt="Suede Skill Check: 87/100" width="160" height="175"></a>
<a href="https://skills.suedeai.ai/directory/expo/skills/expo-migrate-module/"><img src="https://skills.suedeai.ai/directory/expo/skills/expo-migrate-module/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.