iOS Revyl PR Proof
Use this skill to prove changes to the Swift demo on a real Revyl cloud iOS simulator.
Workflow
Inspect the Swift change and run local checks when useful.
Ensure
revylis installed, current enough forbuild remote, and authenticated:if ! command -v revyl >/dev/null 2>&1 || ! revyl build remote --help >/dev/null 2>&1; then REVYL_NO_MODIFY_PATH=1 sh -c 'curl -fsSL https://revyl.com/install.sh | sh' export PATH="$HOME/.revyl/bin:$PATH" fi revyl --version revyl build remote --help >/dev/null revyl auth status revyl config show --jsonRefresh the demo launch vars:
node .agents/skills/ios-revyl-pr-proof/scripts/ensure-revyl-ios-auth-launch-vars.mjs --jsonBuild with Revyl remote build:
cd ios && revyl build remote --platform ios --jsonStart a fresh device from the returned build version:
revyl device start --platform ios \ --build-version-id <build-version-id> \ --launch-var REVYL_SWIFT_DEMO_TEST_LOGIN_TOKEN \ --launch-var REVYL_SWIFT_DEMO_TEST_ACCESS_TOKEN \ --launch-var REVYL_SWIFT_DEMO_TEST_REFRESH_TOKEN \ --launch-var REVYL_SWIFT_DEMO_TEST_UID_TOKEN \ --timeout 900 --open=false --jsonAs soon as the device returns a viewer URL, update the PR with the live proof block from
references/pr-proof.md. In Cursor Cloud Agent, useManagePullRequest, notgh pr edit.Validate the exact starter outcome:
revyl device validation -s 0 "The Revyl Swift Demo shows an authenticated cloud-agent proof screen" --jsonFetch the report:
revyl device report --session-id <session-id> --jsonReplace the live PR block with final video or screenshot proof.
Failure Gates
Fail the proof, fix the issue, and rerun a fresh session when:
launch_env_var_keysis missing any of the fourREVYL_SWIFT_DEMO_TEST_*keys.- The app shows "Signed out demo state" or "Launch vars rejected".
- The focused validation returns false.
- No usable session id, viewer URL, report, screenshot, or video is available.
Backup Build
Use the GitHub Actions upload only when Revyl remote build capacity is unavailable:
revyl build list --app <REVYL_APP_ID> --json
Pick the newest build for the PR or commit, then start the device with the same four launch vars. Always state when proof used the backup CI build rather than revyl build remote.
Guardrails
- Never paste raw launch-var values in docs, PR bodies, logs, or screenshots.
- Mention only launch-var key names in PR proof.
- Do not use
revyl device extractfor normal proof. Use one focused validation and screenshots/report evidence. - The demo JWTs are not real auth. They exist only to make expiry and refresh behavior easy to see in the starter.