Agent skill

Warp Integration Test Video

by warpdotdev in warpdotdev/warp

Records screenshots and video from Warp's Rust integration-test harness, with the commands and environment variables to run a named test and review its artifacts.

AGPL-3.0Auto-check passedTesting & QA

Install Warp Integration Test Video

skills CLI
$ npx skills add warpdotdev/warp --skill gui-integration-test-video -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install warpdotdev/warp gui-integration-test-video --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/warpdotdev/warp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.warp/skills/gui-integration-test-video .claude/skills/gui-integration-test-video && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gui-integration-test-video
GitHub stars
65k
Used in
1 other repo
Token cost
~2.6k tokens
SKILL.md length
997 words
Files
1
Skills in repo
46
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Records screenshots and video from Warp's Rust integration-test harness, with the commands and environment variables to run a named test and review its artifacts.

  • Works in 2 steps: Record in test code → Record from the environment
  • Recording video of a named Warp integration test
  • SKILL.md covers When NOT to use this skill, Command to invoke a test, Environment variables and How to specify which tests to…, plus 7 more sections
  • Calls cargo

What it does

The skill is narrowly scoped to the integration-test recording pipeline in the crates/integration harness for the GUI desktop app. It covers running a single recording test with the integration binary, authoring tests that call the start-recording and take-screenshot steps, and reviewing the artifacts a test produced, including overlays that show mouse and keyboard events.

Running a test needs the WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS variable set to 1 for real frame capture, plus cargo run on the integration binary. Adding WARP_INTEGRATION_TEST_VIDEO with a list of test names makes the driver record those tests automatically, and the same variables work with cargo nextest for broader runs. A list of the implementation files in the integration and UI crates is included.

It explicitly does not apply to general requests to screenshot or record the running Warp app. For those, the skill points to the computer use tool's own recording and screenshot features.

When your agent uses it

  • Recording video of a named Warp integration test
  • Writing an integration test step that takes a screenshot
  • Reviewing the screenshots or video a test produced

Example prompts

  • “Run the test_video_recording integration test with real display capture and show me the artifacts.”
  • “Write an integration test for the tab menu that records video and takes a screenshot after the click.”
  • “Record the test_foo and test_bar integration tests automatically with the nextest runner.”

Requirements

  • Rust and cargo, with cargo-nextest for broader runs
  • A display for real frame capture
  • The Warp repository

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Record in test code
  2. Record from the environment

What it can do on your machine

Read from SKILL.md and the folder at commit f571865. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Warp Integration Test Video loads about 2.6k tokens when it runs. Until then it costs about 166 tokens; SKILL.md has 997 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~166
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from warpdotdev/warp at commit f571865, republished under its AGPL-3.0 licence (© warpdotdev). 997 words, ~2,559 tokens.

Download SKILL.mdSave it as .claude/skills/gui-integration-test-video/SKILL.md (or your agent's skills folder).
name
gui-integration-test-video
description
GUI desktop app only. Run and author Warp Rust integration tests (the `crates/integration` harness) that capture screenshots and video via `TestStep::with_start_recording()` / `with_take_screenshot()`, including mouse and keyboard event overlays. TRIGGER only for the integration-test recording pipeline: recording or screenshotting a named integration test, authoring a test that captures video/screenshots, or reviewing artifacts a test produced. SKIP for any general request to screenshot or record the running Warp app or a UI flow — capture those with the computer use tool's built-in screen recording / screenshots, not this skill.

Integration Test Video Recording

Scope — GUI desktop app only. This skill applies to Warp's GUI desktop front-end (the app/ crate on the WarpUI pixel/GPU framework). It does not apply to the headless TUI front-end (crates/warp_tui; cell-grid TuiElement library under crates/warpui_core/src/elements/tui), which has its own components, tests, and change-verification workflow. For TUI work, see the tui-ui-guidelines, tui-testing, and tui-verify-change skills instead.

Use this skill when working with Warp's integration test recording pipeline on this branch.

When NOT to use this skill

This skill is only for capturing screenshots/video from within the Rust integration-test harness (crates/integration). It is not the way to fulfill a general "take a screenshot" or "record a video" request against the running Warp app or a live UI flow. For those, use the computer use tool, which exposes screenshot and screen-recording (start/stop recording) capabilities that drive the real app — don't reach for this integration-test tooling just because a request mentions "recording" or "screenshot."

The relevant implementation lives in:

  • integration/src/bin/integration.rs
  • integration/src/test/video_recording.rs
  • integration/tests/integration/ui_tests.rs
  • ui/src/integration/driver.rs
  • ui/src/integration/step.rs
  • ui/src/integration/video_recorder.rs
  • ui/src/integration/artifacts.rs
  • ui/src/integration/overlay.rs

Command to invoke a test

For a single manually-invoked recording test, prefer the integration binary:

bash
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
cargo run -p integration --bin integration -- test_video_recording

That is the command shown by the sample test in integration/src/test/video_recording.rs.

If you want the driver to auto-record a test or set of tests, add WARP_INTEGRATION_TEST_VIDEO:

bash
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
WARP_INTEGRATION_TEST_VIDEO=test_video_recording \
cargo run -p integration --bin integration -- test_video_recording

For broader integration test runs, the same env vars work with the normal test runner:

bash
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
WARP_INTEGRATION_TEST_VIDEO=test_foo,test_bar \
cargo nextest run --no-fail-fast --workspace test_foo

Environment variables

WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS
  • Set this to 1 when you need real frame capture.
  • Use it for screenshot/video workflows and manual visual verification.
  • Without a real display, expect recording workflows to be incomplete or unusable.
WARP_INTEGRATION_TEST_VIDEO

This is the main env var that controls driver-managed video recording in ui/src/integration/driver.rs.

Behavior:

  • Unset or empty: auto-recording is disabled.
  • 1 or all: auto-record every test in the run.
  • Comma-separated test names: auto-record only those tests.

Examples:

bash
# Record every test in the run
WARP_INTEGRATION_TEST_VIDEO=all
bash
# Record only specific tests
WARP_INTEGRATION_TEST_VIDEO=test_foo,test_bar

Important nuance:

  • You do not need WARP_INTEGRATION_TEST_VIDEO if the test itself explicitly calls with_start_recording() and with_stop_recording().
  • Use the env var when you want whole-test recording without changing the test code.
WARP_INTEGRATION_TEST_ARTIFACTS_DIR

This controls the root artifact directory used by TestArtifacts in ui/src/integration/artifacts.rs.

If unset, artifacts go under:

text
$TMPDIR/warp_integration_test_artifacts

Each run gets a timestamped directory:

text
<artifacts_root>/<test_name>/<timestamp>/

This is the main directory to inspect for screenshots, logs, and the final recording.mp4.

WARP_INTEGRATION_TEST_VIDEO_DIR

This env var exists in ui/src/integration/video_recorder.rs as the lower-level recorder output root helper, defaulting to:

text
$TMPDIR/warp_integration_video_captures

On this branch, the normal integration driver flow writes the finalized video into the test artifacts directory instead, so WARP_INTEGRATION_TEST_ARTIFACTS_DIR is the one you usually care about when reviewing results.

How to specify which tests to record

There are two modes:

1. Record in test code

Use TestStep::with_start_recording() and TestStep::with_stop_recording() inside the test itself. This is best when you only want to capture a specific span of the test.

2. Record from the environment

Set WARP_INTEGRATION_TEST_VIDEO to:

  • all
  • 1
  • or a comma-separated list like test_a,test_b

This starts recording at the beginning of matching tests and writes the video when the test completes.

How overlays work

There is no separate overlay env var on this branch.

Overlay annotations are produced from the input events the test dispatches while recording is active. The overlay pipeline is implemented in ui/src/integration/overlay.rs, and the event capture hooks live in ui/src/integration/step.rs.

To get useful overlays in the final video, drive the test with APIs that emit mouse and keyboard events, such as:

  • with_event(...)
  • with_event_fn(...)
  • with_click_on_saved_position(...)
  • with_keystrokes(...)

Overlay types currently exercised by the sample test:

  • mouse click indicators
  • drag trails
  • keyboard shortcut pills

In practice:

  • Mouse down / drag / mouse up events create click and drag overlays.
  • KeyDown events create keyboard overlay pills.
  • If a test only records frames and never dispatches relevant input events, the resulting video will not show these annotations.
Show full SKILL.md (393 more words)Show less

How to write a test that takes screenshots

Use TestStep::with_take_screenshot("filename.png").

Example pattern:

rust
TestStep::new("Take screenshot after bootstrap")
    .with_take_screenshot("after_bootstrap.png")

The screenshot request is stored during the step and written by the driver after the step renders. The PNG lands in the test's timestamped artifacts directory.

How to write a test that records video

Minimum pattern
  1. Use Builder::new().with_real_display().
  2. Add a step with with_start_recording().
  3. Run the actions/events you want captured.
  4. Add a step with with_stop_recording().

Example shape:

rust
Builder::new()
    .with_real_display()
    .with_step(TestStep::new("Start recording").with_start_recording())
    .with_step(/* actions and events */)
    .with_step(TestStep::new("Stop recording").with_stop_recording())
For overlay-friendly recordings

Prefer explicit UI-driving steps that emit mouse and key events:

  • click with with_click_on_saved_position(...)
  • dispatch raw mouse events with with_event(...) / with_event_fn(...)
  • send keyboard shortcuts with with_keystrokes(...)

For drag overlays, send a sequence like:

  • LeftMouseDown
  • one or more LeftMouseDragged
  • LeftMouseUp
Optional validation

It is reasonable to add an with_on_finish(...) hook that checks for expected artifacts such as:

  • recording.mp4
  • recording.log
  • screenshot PNGs

The sample test does exactly that.

Where the video assets go

The normal output location is:

text
${WARP_INTEGRATION_TEST_ARTIFACTS_DIR:-$TMPDIR/warp_integration_test_artifacts}/<test_name>/<timestamp>/

Common artifacts in that directory:

  • recording.mp4
  • recording.log
  • any screenshots requested with with_take_screenshot(...)

For test_video_recording, the sample test expects:

  • after_bootstrap.png
  • after_commands.png
  • recording.mp4
  • recording.log

If MP4 encoding fails during finalization, the recorder falls back to per-frame PNGs in a sibling directory like:

text
recording_frames/

with files such as:

text
recording_0000.png

How to review the assets

  1. Open the latest timestamped artifact directory for the test.
  2. Review recording.mp4 first to confirm:
    • the UI state is correct
    • recording actually started and stopped in the intended window
    • overlay annotations appear at the right moments
  3. Review any PNG screenshots captured by the test.
  4. Check recording.log if the output looks incomplete or suspicious.
  5. If recording.mp4 is missing, look for fallback frame PNGs.

When summarizing results for the user, include the exact artifact directory path.

Sample test for video recording

The sample manual test is test_video_recording.

It is:

  • registered in integration/src/bin/integration.rs
  • listed in integration/tests/integration/ui_tests.rs
  • implemented in integration/src/test/video_recording.rs

Run it with:

bash
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
cargo run -p integration --bin integration -- test_video_recording

If you want full-test auto-recording from the environment as well, use:

bash
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
WARP_INTEGRATION_TEST_VIDEO=test_video_recording \
cargo run -p integration --bin integration -- test_video_recording

Working pattern for agents

When asked to record or debug an integration test with video:

  1. Identify the exact test name.
  2. Decide whether recording should be explicit in the test or enabled via WARP_INTEGRATION_TEST_VIDEO.
  3. Ensure the run uses WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1.
  4. If the user wants visible interaction overlays, make sure the test dispatches mouse and keyboard events while recording is active.
  5. After the run, inspect the timestamped artifact directory and report the output paths back to the user.

© warpdotdev, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .warp/skills/gui-integration-test-video of warpdotdev/warp.

Open the folder on GitHubat commit f571865

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in warpdotdev/warp, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Warp Integration Test Video next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Warp Integration Test Video compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Warp Integration Test Video this skillwarpdotdev/warp65k1 repos~2.6kAutomated safety check: PassAGPL-3.0
Growing Outside In Systemslexler/skill-factory2391 repos~1.9kAutomated safety check: PassApache-2.0
Testing Strategiesancoleman/ai-design-components526—~3.8kAutomated safety check: PassMIT
OpenHarness End-to-End EvalsHKUDS/OpenHarness16k1 repos~2.1kAutomated safety check: NotesMIT
E2E Testinglangflow-ai/langflow156k—~3.3kAutomated safety check: PassMIT
Remote Executor Integration Testsopeninterpreter/openinterpreter69k2 repos~842Automated safety check: PassApache-2.0

Similar skills

  • Growing Outside In Systems

    lexler/skill-factory

    Drive feature development using Outside-In TDD with Hexagonal Architecture.

    239 GitHub starsUsed in 1 repo~1.9k tokens
    Testing & QAAuto-check passed
  • Testing Strategies

    ancoleman/ai-design-components

    Strategic guidance for choosing and implementing testing approaches across the test pyramid.

    526 GitHub stars~3.8k tokensUpdated 10 mo ago
    Testing & QAAuto-check passed
  • Validates OpenHarness features by running real multi-turn agent loops with live LLM calls against an unfamiliar codebase, checking actual tool execution.

    16k GitHub starsUsed in 1 repo~2.1k tokens
    Testing & QAAuto-check: notes
  • E2E Testing

    langflow-ai/langflow

    Write and review Playwright E2E tests for Langflow. An agent skill from langflow-ai/langflow.

    156k GitHub stars~3.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Remote Executor Integration Tests

    openinterpreter/openinterpreter

    Explains how to run agent integration tests against remote executors, using Docker for Linux or Wine for Windows, and how to opt tests in or skip them.

    69k GitHub starsUsed in 2 repos~842 tokens
    Testing & QAAuto-check passed
  • Official

    Starts a throwaway MongoDB 7.0 replica set and runs the Airbyte spec, check, discover and read commands against source-mongodb-v2 images for local end-to-end testing.

    22k GitHub stars~1.9k tokensUpdated today
    Testing & QAAuto-check passed

More from warpdotdev/warp

All 46 skills in this repo
  • Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.

    65k GitHub starsUsed in 2 repos~4.4k tokens
    Auto-check passed
  • Required groundwork before any use_figma call: the rules and reference files for running JavaScript in a Figma file through the Plugin API without common failures.

    65k GitHub starsUsed in 4 repos~4.4k tokens
    Auto-check passed
  • Warp Factory Files

    warpdotdev/warp

    Authors and edits file-based Warp software factory definitions rooted at factory.yaml, covering agents, automations, scorers and webhooks, and validates them before a pull request.

    65k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Figma Design to Code

    warpdotdev/warp

    Turns a Figma frame or component into production code that matches the design, using the Figma MCP server and the project's own design system.

    65k GitHub starsUsed in 4 repos~2.9k tokens
    Auto-check passed
  • Migrates the compatible subset of settings and global file-based MCP servers from the Warp desktop app into Warp Agent CLI without exposing credentials or state.

    65k GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed
  • Creates project-specific design system rules from your codebase so coding agents implement Figma designs with your components, naming and tokens.

    65k GitHub starsUsed in 3 repos~4.6k tokens
    Auto-check passed

Works with

Categories

Questions about Warp Integration Test Video

What does Warp Integration Test Video do?

Records screenshots and video from Warp's Rust integration-test harness, with the commands and environment variables to run a named test and review its artifacts. The skill is narrowly scoped to the integration-test recording pipeline in the crates/integration harness for the GUI desktop app. It covers running a single recording test with the integration binary, authoring tests that call the start-recording and take-screenshot steps, and reviewing the artifacts a test produced, including overlays that show mouse and keyboard events.

When should I use Warp Integration Test Video?

Warp Integration Test Video fits situations like: recording video of a named Warp integration test; writing an integration test step that takes a screenshot; reviewing the screenshots or video a test produced.

How do I install Warp Integration Test Video in Claude Code?

Run `npx skills add warpdotdev/warp --skill gui-integration-test-video -a claude-code`. Or copy the skill folder (.warp/skills/gui-integration-test-video in warpdotdev/warp) into .claude/skills/gui-integration-test-video in your project. Claude Code loads it when a task matches its description.

How do I install Warp Integration Test Video in Codex?

Run `npx skills add warpdotdev/warp --skill gui-integration-test-video -a codex`. Or copy the skill folder (.warp/skills/gui-integration-test-video in warpdotdev/warp) into .agents/skills/gui-integration-test-video in your project. Codex loads it when a task matches its description.

Can I use Warp Integration Test Video in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add warpdotdev/warp --skill gui-integration-test-video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gui-integration-test-video, .gemini/skills/gui-integration-test-video, .github/skills/gui-integration-test-video and .opencode/skills/gui-integration-test-video in your project.

What does Warp Integration Test Video need to run?

Going by SKILL.md and its folder, Warp Integration Test Video needs the command-line tools its instructions call (cargo). Our summary lists: Rust and cargo, with cargo-nextest for broader runs; A display for real frame capture; The Warp repository.

Does Warp Integration Test Video access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Warp Integration Test Video safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Warp Integration Test Video use?

Warp Integration Test Video is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Warp Integration Test Video use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Warp Integration Test Video?

Skills that share tags, products or a category with Warp Integration Test Video: Growing Outside In Systems (lexler/skill-factory, 239 stars), Testing Strategies (ancoleman/ai-design-components, 526 stars), OpenHarness End-to-End Evals (HKUDS/OpenHarness, 16k stars) and E2E Testing (langflow-ai/langflow, 156k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Warp Integration Test Video?

warpdotdev (a GitHub organization) maintains it in warpdotdev/warp, which has 65,380 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 7, 2026.

Source: warpdotdev/warp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.