Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mahdi-salmanzade/expo56-skill --skill expo-56git clone --depth 1 https://github.com/mahdi-salmanzade/expo56-skillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mahdi-salmanzade/expo56-skill/expo-56)<a href="https://agentmods.dev/skills/mahdi-salmanzade/expo56-skill/expo-56"><img src="https://agentmods.dev/badge/skills/mahdi-salmanzade/expo56-skill/expo-56/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mahdi-salmanzade/expo56-skill/expo-56"><img src="https://agentmods.dev/badge/skills/mahdi-salmanzade/expo56-skill/expo-56.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00391 | $0.06647 |
| Opus 5.5 | $0.00156 | $0.02659 |
| Sonnet 5.5 | $0.00078 | $0.01329 |
| Haiku 4.5 | $0.00039 | $0.00665 |
Grade A, and why
expo-56 scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Expo SDK 56 & 57
Audited against the
expo/exporelease branchesorigin/sdk-56andorigin/sdk-57on 2026-07-25. SDK 57 shipped 2026-07-08; its latest patch is 57.0.8 (published 2026-07-22, dist-taglatest). SDK 56 shipped 2026-06-01 and is still actively patched — latest 56.0.17 (published 2026-07-23, dist-tagsdk-56), i.e. newer than the SDK 57 patch. The supported window is SDK 54–57.Sourcing rule — this matters more than it sounds. Version pins here come from
packages/expo/bundledNativeModules.jsonon the release branch (git show origin/sdk-57:packages/expo/bundledNativeModules.json), because that file ships inside theexpopackage and is whatexpo installresolves against. Two tempting sources are wrong:
docs/public/static/schemas/v56.0.0|v57.0.0/native-modules.jsonis stale — it still listsreact-native-screens4.25.2 andexpo-router~56.2.9 when the shipped values are ~4.26.0 and ~56.2.16.- The
mainbranch contains post-57 work destined for SDK 58. Anything under## Unpublishedin a CHANGELOG, and anypackages/*/package.jsonvalue onmain, is not in SDK 57.Re-verify with
npx expo install --fixafter any patch bump; this is a point-in-time snapshot.
This skill is a version-pinned API reference, not a task playbook. It covers building on SDK 56 or 57, and the 55→56 and 56→57 migrations. Expo's own official skills are playbooks for the newest SDK and carry no version pins — see Composing with the official Expo skills. Use both.
Step 1: Establish which SDK the project is on
Do this before answering anything version-specific. A user saying "latest Expo" may be on either release. The genuine 56↔57 differences that silently break code are narrow: prebuild semantics, expo-camera's iOS default pictureSize, and the RN 0.86 bump. Most other "SDK 57" changes were also backported to the 56 line — check the patch version before telling anyone to upgrade.
What ships with it
22 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- evals/evals.json 7.4 KB
- references/01-core-setup-upgrade.md 31 KB
- references/02-expo-router.md 51 KB
- references/03-expo-ui.md 58 KB
- references/04-expo-modules-api.md 43 KB
- references/05-cli-metro-bundling.md 38 KB
- references/06-filesystem-networking.md 34 KB
- references/07-media-device-apis.md 42 KB
- references/08-sqlite-updates-convex.md 39 KB
- references/09-system-ui-components.md 39 KB
- references/10-eas-build-brownfield.md 38 KB
- references/11-camera-visual-media.md 43 KB
- references/12-video-audio-playback.md 44 KB
- references/13-auth-security.md 61 KB
- references/14-notifications-background.md 41 KB
- references/15-location-sensors.md 47 KB
- references/16-app-config-foundational.md 53 KB
- references/17-animation-gesture-deps.md 34 KB
- references/18-eas-full-workflow.md 59 KB
- references/19-dev-workflow-testing.md 42 KB
- references/20-maps-web-utilities.md 32 KB
- references/21-sdk-57-migration.md 40 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 230 lines · 391 tokens per session scan A 25cd0406ae4f
expo-56 is a skill published in the GitHub repository mahdi-salmanzade/expo56-skill (2 stars, last pushed 3mo ago), licensed MIT. It adds 391 tokens to every session and 6,647 once invoked, about $0.0016 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
new-architecture
React Native New Architecture (Fabric, TurboModules, bridgeless) compatibility. Use when a library breaks under it, for newArchEnabled questions, or errors mentioning codegen, Fabric, ViewPropTypes, requireNativeComponent.
expo-sdk-upgrade
Upgrading Expo SDK and React Native safely. Use when bumping the SDK or react-native, or when the app broke after an upgrade: upgrade order, expo install --fix, expo-doctor, config plugins, OTA pitfalls.
hermes-crashes
Decoding Hermes crashes and minified production stack traces. Use for "address at index.android.bundle" frames, unsymbolicated or badly grouped Sentry events, SIGSEGV in libhermes, ANRs, source maps.
deep-linking
Deep links, universal links and app links in React Native. Use when links do not open the app, for apple-app-site-association or assetlinks.json, lost cold-start links, expo-router linking, custom URL schemes.
eas-release
EAS builds, OTA updates and store submission. Use for eas.json profiles, safe OTA publishing, App Store or Play Store submission, store rejections, versioning and rollback.
in-app-purchases
In-app purchases and subscriptions with RevenueCat. Use for paywalls, odd sandbox behavior, premium not arriving after purchase, webhook verification, restore and transfer flows.