Install any skill in seconds. Free to start, no credit card required.
Get Started Free →perminder-klair/subwave-app-ota-update
Ship a JS/TS-only change to the already-installed SUB/WAVE app (the Expo project in `app/`) over-the-air via EAS Update — no new TestFlight/Play build, no store round-trip.
Passed 12 of 17 test cases with the skill, and 10 of 17 without it.
and 2 more in the full report
4 fixed12 passed either way5 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
Before publishing an over-the-air patch for the SUB/WAVE project, how can I verify that my CLI tool is authenticated under the correct publisher account?
| Checked | Without skill | With skill |
|---|---|---|
| Recommends running eas whoami to confirm account identity. | Passed | Passed |
| Identifies pinku1 as the expected account. | Missed | Passed |
The instructions your model reads when the skill loads.
Push a JS/TS-only change to the app binaries already on people's phones,
without building or submitting anything. The app ships expo-updates; an
eas update bundles the current JS + Metro assets and serves them to matching
installs, who pick them up on next launch. Most changes (UI, hooks, copy, logic,
styles) go out this way in ~1 minute instead of a 15-min build + store round-trip.
This skill covers the whole OTA loop: decide if the change is even OTA-eligible, publish it to the right channel, and confirm which installed builds will actually receive it (the question that always comes up — "will my TestFlight build get this?").
The authoritative reference with the full decision table and fingerprint
debugging is app/docs/RELEASE.md. This skill is
the hands-on OTA path; for a binary build read the release skills instead
(see "When you actually need a build" below).
Derive the repo root; don't hardcode paths. eas.json + app.json live in
app/, and every eas command must run from there.
REPO=$(git -C "<this skill's base directory>" rev-parse --show-toplevel)
APP="$REPO/app" # cd here before any eas command
| Thing | Value |
|---|---|
| EAS project | @pinku1/subwave (Expo account pinku1) |
| Updates URL | https://u.expo.dev/b834b64c-f694-4f45-b3fa-0f2c0a4df5ba (in app.json) |
| Channels | preview (tester builds) and production (TestFlight / Play) |
| Runtime version | fingerprint policy — an OTA only reaches builds whose native fingerprint matches (see below) |
| Apply behaviour | checkAutomatically: ON_LOAD + fallbackToCacheTimeout: 0 — fetches in background, applies on the next cold start |
An OTA can only carry JS, TS, and Metro-bundled assets. It cannot carry
native code. EAS enforces this with the fingerprint runtime policy: it hashes
test cases passed, vs 10 / 17 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.