Revyl CLI Failure Analysis Skill
Native Agent Behavior
- Ask at most 1-3 concise clarification questions only when the target test, workflow, session, report URL, or sensitive action cannot be inferred from the repo or Revyl CLI.
- Prefer safe defaults and keep moving when
revyl test list, revyl workflow list, revyl test report, revyl workflow report, revyl device report, screenshots, or reports can answer the question.
- When Revyl prints a report, viewer, or local app URL, open it in the native browser/tool surface when available: Codex Browser/in-app browser for local URLs, Revyl report/viewer URLs, screenshots, and page checks; Claude Code
.claude/skills compatibility links plus WebFetch/WebSearch or configured MCP/browser tools; Cursor .cursor/skills when using --copy, otherwise shared .agents/skills, plus available MCP/browser tools. Codex also discovers shared .agents/skills directly.
- If no browser tool is exposed, report the URL and verify through
revyl test report, revyl workflow report, or revyl device report instead of claiming browser access.
- Confirm before entering sensitive data, submitting forms, uploading files, accepting browser permissions, changing sharing/access, or deleting data.
Quick Start
# 1) Pull structured evidence for test runs
revyl test report <test-name> --json
# Or pull structured evidence for a live/manual device session
revyl device report --session-id <session-id> --json
# 2) Classify failure
# REAL BUG | FLAKY TEST | INFRA ISSUE | SETUP ISSUE | TEST IMPROVEMENT
# 3) Apply fix and rerun
revyl test run <test-name>
For workflow-level triage:
revyl workflow report <workflow-name>
revyl workflow report <workflow-name> --json
Decision Matrix
| Signal |
Classification |
Action |
| Instructions succeed but final state contradicts expected behavior |
REAL BUG |
File defect with expected vs actual evidence |
| App behavior acceptable but assertion wording too brittle |
FLAKY TEST |
Rewrite validation wording |
| No steps executed or setup failed |
INFRA ISSUE |
Re-run and inspect environment/device/build setup |
| Session remains on login, permission, onboarding, or recovery UI before the target flow |
SETUP ISSUE |
Complete or fix setup before feature testing |
| Test structure allows false positives or combines verify+action |
TEST IMPROVEMENT |
Restructure YAML |
Device Session Analysis
When a session-id is available, analyze that report directly. Do not only point at a previous successful session.
For setup-dependent sessions, explain the shape of what happened:
- Startup: platform, status, install/launch actions, dev-client deep link, and whether the relay or first bundle looked healthy.
- Setup entry: whether the session reached the expected starting screen and handled permission dialogs if they appeared.
- Credential handling: whether email/password were entered, but do not copy
type_data.value, raw credentials, signed URLs, or artifact URLs from the report.
- Source of secrets: use test variables or
{{global.name}} placeholders in YAML; do not hard-code or repeat secrets.
- Final state: the screen reached after setup and whether it proves the target flow is ready.
- Next action: if still on login/onboarding/recovery/permission UI, classify as
SETUP ISSUE and complete setup before feature testing.
Output Format
Test/Session: <name or session-id>
Result: <PASS/FAIL>
Failure Step: <order> - <description>
Classification: <REAL BUG | FLAKY TEST | INFRA ISSUE | SETUP ISSUE | TEST IMPROVEMENT>
Confidence: <HIGH | MEDIUM | LOW>
Session shape:
- Startup: <platform/status/install-launch/deep-link readiness summary>
- Setup path: <entrypoint, permission dialog, credential or setup flow>
- Secret handling: <globals/placeholders used; no raw credentials copied>
- Final state: <target-ready screen or remaining setup blocker>
Evidence:
- Expected: <description>
- Observed: <reasoning summary>
- Why this classification: <short rationale>
Exact next action:
- <bug report details OR yaml rewrite OR infra rerun command>
Rerun command:
- revyl test run <test-name>
1---2name: revyl-cli-analyze3description: Analyze failed Revyl test, workflow, and device-session reports via CLI to classify real bugs, flaky tests, infra issues, setup failures, or test-design improvements.4---56# Revyl CLI Failure Analysis Skill78## Native Agent Behavior910- Ask at most 1-3 concise clarification questions only when the target test, workflow, session, report URL, or sensitive action cannot be inferred from the repo or Revyl CLI.11- Prefer safe defaults and keep moving when `revyl test list`, `revyl workflow list`, `revyl test report`, `revyl workflow report`, `revyl device report`, screenshots, or reports can answer the question.12- When Revyl prints a report, viewer, or local app URL, open it in the native browser/tool surface when available: Codex Browser/in-app browser for local URLs, Revyl report/viewer URLs, screenshots, and page checks; Claude Code `.claude/skills` compatibility links plus WebFetch/WebSearch or configured MCP/browser tools; Cursor `.cursor/skills` when using `--copy`, otherwise shared `.agents/skills`, plus available MCP/browser tools. Codex also discovers shared `.agents/skills` directly.13- If no browser tool is exposed, report the URL and verify through `revyl test report`, `revyl workflow report`, or `revyl device report` instead of claiming browser access.14- Confirm before entering sensitive data, submitting forms, uploading files, accepting browser permissions, changing sharing/access, or deleting data.1516## Quick Start1718```bash19# 1) Pull structured evidence for test runs20revyl test report <test-name> --json2122# Or pull structured evidence for a live/manual device session23revyl device report --session-id <session-id> --json2425# 2) Classify failure26# REAL BUG | FLAKY TEST | INFRA ISSUE | SETUP ISSUE | TEST IMPROVEMENT2728# 3) Apply fix and rerun29revyl test run <test-name>30```3132For workflow-level triage:3334```bash35revyl workflow report <workflow-name>36revyl workflow report <workflow-name> --json37```3839## Decision Matrix4041| Signal | Classification | Action |42|---|---|---|43| Instructions succeed but final state contradicts expected behavior | REAL BUG | File defect with expected vs actual evidence |44| App behavior acceptable but assertion wording too brittle | FLAKY TEST | Rewrite validation wording |45| No steps executed or setup failed | INFRA ISSUE | Re-run and inspect environment/device/build setup |46| Session remains on login, permission, onboarding, or recovery UI before the target flow | SETUP ISSUE | Complete or fix setup before feature testing |47| Test structure allows false positives or combines verify+action | TEST IMPROVEMENT | Restructure YAML |4849## Device Session Analysis5051When a `session-id` is available, analyze that report directly. Do not only point at a previous successful session.5253For setup-dependent sessions, explain the shape of what happened:54551. Startup: platform, status, install/launch actions, dev-client deep link, and whether the relay or first bundle looked healthy.562. Setup entry: whether the session reached the expected starting screen and handled permission dialogs if they appeared.573. Credential handling: whether email/password were entered, but do not copy `type_data.value`, raw credentials, signed URLs, or artifact URLs from the report.584. Source of secrets: use test variables or `{{global.name}}` placeholders in YAML; do not hard-code or repeat secrets.595. Final state: the screen reached after setup and whether it proves the target flow is ready.606. Next action: if still on login/onboarding/recovery/permission UI, classify as `SETUP ISSUE` and complete setup before feature testing.6162## Output Format6364```text65Test/Session: <name or session-id>66Result: <PASS/FAIL>67Failure Step: <order> - <description>68Classification: <REAL BUG | FLAKY TEST | INFRA ISSUE | SETUP ISSUE | TEST IMPROVEMENT>69Confidence: <HIGH | MEDIUM | LOW>70Session shape:71- Startup: <platform/status/install-launch/deep-link readiness summary>72- Setup path: <entrypoint, permission dialog, credential or setup flow>73- Secret handling: <globals/placeholders used; no raw credentials copied>74- Final state: <target-ready screen or remaining setup blocker>75Evidence:76- Expected: <description>77- Observed: <reasoning summary>78- Why this classification: <short rationale>79Exact next action:80- <bug report details OR yaml rewrite OR infra rerun command>81Rerun command:82- revyl test run <test-name>83```