revyl-workspace · git:20261016.8f43e0c · 2026-10-16 · sha256 436329e4da567e10

revyl-workspace git:20261016.8f43e0cA

Immutable. This exact content never changes and is served at /api/v1/blob/436329e4da567e10.

---
name: revyl-workspace
description: Open a mobile app's Revyl Atlas map or a live cloud device session from Claude, or start and stop a device session the user explicitly asked for, through the connected Revyl workspace tools.
---

# Revyl Workspace

Use the connected `revyl-workspace` tools. Check which tools are actually
available; never invent a tool or fall back to a shell command. If the
connection is missing or expired, ask the user to sign in to Revyl through
Claude's connector flow. Never request API keys, passwords, or login codes in
chat.

## Find the app

Call `list_apps` to resolve an app the user names to its `app_id`. Filter with
`platform` or `search` when the list is long. If several apps match, ask which
one; never guess an ID or put a URL in an ID field.

## Open Atlas or an existing device

- Atlas: call `open_revyl_workspace` with `view="atlas"` and the resolved
  `app_id`. With no app selected, empty arguments open the Atlas app picker.
- Device: resolve the session with `list_device_sessions`, then call
  `open_revyl_workspace` with `view="device"` and its `session_id`. With no
  session selected, the device view opens the session list; it does not start
  a device. If several sessions match, ask which one.

The tool returns `workspace_url`. Claude may not show the embedded Atlas or
device view, so always give the user `workspace_url` as a link to open the
view in their browser, and do not claim you can see it.

## Start a device only when asked

A device session uses the user's device time. Call `start_device_session` only
when the user asks for a device, with an explicit `platform`, and with either
the app's `app_id` (installs its default build) or, for an exact build, the
`latest_build_id` that `list_apps` returned, passed as `build_id`. Record the
returned session ID and reuse it. Claude may not show the embedded live view,
so give the user the returned `viewer_url` as a link to watch and control the
device in their browser; do not start another session to retry rendering. If
startup is ambiguous, check `list_device_sessions` before considering another
start.

Use `screenshot` with the `session_id` to see the current screen, and inspect
the image before describing it.

When the requested work is done, stop only the sessions you started with
`stop_device_session(session_id=...)`. A stop request is not a released device:
report whether the result says it ended or is still stopping.

Do not create, modify, or share tests, builds, or workflows from this skill.
Keep signed URLs, credentials, and customer content out of public artifacts.