← RevylCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Revyl
Snapshot Sep 30, 2026 · 23:15 UTC · version 0.1.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "revyl-codex-dev-loop",
"description": "Run, preview, debug, and verify mobile app changes on Revyl cloud devices from Codex, with screenshots and semantic validation.",
"included_files": [],
"skill_md_contents": "---\nname: revyl-codex-dev-loop\ndescription: Run, preview, debug, and verify mobile app changes on Revyl cloud devices from Codex, with screenshots and semantic validation.\n---\n\n# Revyl Codex Dev Loop\n\nUse this skill for an authorized Revyl development loop in Codex. This plugin\nhas no hooks and no MCP server. Installation never changes an app's source or\n`.revyl/config.yaml`; later source/configuration work is allowed only when the\ntask explicitly requires it and the user authorizes it.\n\n## Launcher and setup\n\nResolve the launcher from this skill's own absolute directory before changing\nto the app directory. On POSIX use `../../scripts/launch-revyl`; on Windows use\n`../../scripts/launch-revyl.cmd`. Call that absolute launcher for **every**\nRevyl command; do not use `revyl` from `PATH`, `PLUGIN_ROOT`, or another\ninstalled CLI.\n\n```sh\nSKILL_DIR=\"<absolute directory containing this SKILL.md>\"\nLAUNCHER=\"$(cd \"$SKILL_DIR/../../scripts\" && pwd)/launch-revyl\"\n\"$LAUNCHER\" --version\n\"$LAUNCHER\" auth status\n```\n\n```bat\nREM Windows cmd.exe\nset \"SKILL_DIR=<absolute directory containing this SKILL.md>\"\nset \"LAUNCHER=%SKILL_DIR%\\..\\..\\scripts\\launch-revyl.cmd\"\n\"%LAUNCHER%\" --version\n\"%LAUNCHER%\" auth status\n```\n\nIf authentication is needed, use `\"$LAUNCHER\" auth login`. An existing\nenvironment-provided secret may authenticate the launcher without being copied\nor named in an argument. Never run credential-provisioning or secret-bridge\ncommands, print credentials, or paste them into chat. Post the normal login\napproval URL as a clickable link and wait for approval; do not claim that a\nbrowser opened.\n\n## Authorization and selection\n\nBefore any build, remote session, cloud device, or paid operation, require\nauthorization naming the app, environment, and paid operation. Resolve the\nexact profile and platform from the repository, task, and user context without\nchanging them; ask only when they remain ambiguous. Run from the app directory\nthat owns `.revyl/config.yaml`, not the monorepo root. Let `dev` create its new\ncontext, capture the returned context and session IDs, and clean up only those\nresources when the work ends or fails.\n\nFor native or rebuild-first apps, use the detached remote loop with explicit\nselection and no browser opening:\n\n```sh\n\"$LAUNCHER\" dev --profile <exact-profile> --platform <ios-or-android> \\\n --remote --detach --json --no-open\n```\n\nReturn the handshake's `viewer_url` immediately without opening it. A viewer or\n`--wait-ready` only means the session is available, not that the current build\nsucceeded. Wait for the build to reach its terminal success state before\nclaiming a build result.\n\nUse short-lived commands in separate calls. Target the returned context with\n`--context` for status and rebuild, and pass it positionally to stop:\n\n```sh\n\"$LAUNCHER\" dev status --context <returned-context>\n\"$LAUNCHER\" dev rebuild --context <returned-context> --wait --timeout 600 --json\n\"$LAUNCHER\" dev stop <returned-context> --json\n```\n\nTarget **every** device command with `-s <returned-session-id>`. Open each\ncaptured screenshot before describing it. A false or missing semantic verdict\nis a failed validation, but cleanup still runs for the returned context/session.\nBound status polling to the configured build timeout. If that limit expires,\nreport a timeout and stop the owned loop instead of polling indefinitely.\n\n## Detailed CLI mechanics\n\nResolve this skill's `../../references/revyl-cli-dev-loop.md` to an absolute\npath and read it for framework behavior, evidence, and troubleshooting. This\nskill overrides that reference whenever they conflict:\n\n- Do not use its browser-opening, URL-opening, foreground, persistent-shell,\n `PATH`, or installed-CLI examples. Use `--detach --json --no-open` and the\n absolute launcher above.\n- Do not start a local app source/configuration change, a device, build, or\n paid action without the named authorization above.\n- Do not install, enable, configure, or invoke `revyl-cli-auth-bypass`. That\n skill is not shipped with this plugin, and authentication bypass is never an\n automatic fallback.\n- Use exact resolved profile and platform values, and clean up only the context\n and session created for the authorized request.\n\nReport an unavailable authorization or ambiguous target instead of guessing.\n"
}SHA-256: 467d844912b9d1d3dc663e2c20a06ab46cb18be416d5e3f286a67f1d305081ec