Growing Outside In Systems
lexler/skill-factory
Drive feature development using Outside-In TDD with Hexagonal Architecture.
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.
$ npx skills add warpdotdev/warp --skill gui-integration-test-video -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install warpdotdev/warp gui-integration-test-video --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "gui-integration-test-video" agent skill from https://github.com/warpdotdev/warp/tree/master/.warp/skills/gui-integration-test-video into .claude/skills/gui-integration-test-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gui-integration-test-video", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/warpdotdev/warp/tree/master/.warp/skills/gui-integration-test-videoType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add warpdotdev/warp --skill gui-integration-test-video -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install warpdotdev/warp gui-integration-test-video --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/warpdotdev/warp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.warp/skills/gui-integration-test-video .agents/skills/gui-integration-test-video && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gui-integration-test-video" agent skill from https://github.com/warpdotdev/warp/tree/master/.warp/skills/gui-integration-test-video into .agents/skills/gui-integration-test-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gui-integration-test-video", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add warpdotdev/warp --skill gui-integration-test-video -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install warpdotdev/warp gui-integration-test-video --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/warpdotdev/warp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.warp/skills/gui-integration-test-video .cursor/skills/gui-integration-test-video && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "gui-integration-test-video" agent skill from https://github.com/warpdotdev/warp/tree/master/.warp/skills/gui-integration-test-video into .cursor/skills/gui-integration-test-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gui-integration-test-video", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/warpdotdev/warp.git --path .warp/skills/gui-integration-test-video--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add warpdotdev/warp --skill gui-integration-test-video -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install warpdotdev/warp gui-integration-test-video --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/warpdotdev/warp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.warp/skills/gui-integration-test-video .gemini/skills/gui-integration-test-video && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "gui-integration-test-video" agent skill from https://github.com/warpdotdev/warp/tree/master/.warp/skills/gui-integration-test-video into .gemini/skills/gui-integration-test-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gui-integration-test-video", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install warpdotdev/warp gui-integration-test-videoInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add warpdotdev/warp --skill gui-integration-test-video -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/warpdotdev/warp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.warp/skills/gui-integration-test-video .github/skills/gui-integration-test-video && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "gui-integration-test-video" agent skill from https://github.com/warpdotdev/warp/tree/master/.warp/skills/gui-integration-test-video into .github/skills/gui-integration-test-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gui-integration-test-video", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add warpdotdev/warp --skill gui-integration-test-video -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install warpdotdev/warp gui-integration-test-video --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/warpdotdev/warp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.warp/skills/gui-integration-test-video .opencode/skills/gui-integration-test-video && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "gui-integration-test-video" agent skill from https://github.com/warpdotdev/warp/tree/master/.warp/skills/gui-integration-test-video into .opencode/skills/gui-integration-test-video/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gui-integration-test-video", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
gui-integration-test-videoRecords 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.
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.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f571865. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from warpdotdev/warp at commit f571865, republished under its AGPL-3.0 licence (© warpdotdev). 997 words, ~2,559 tokens.
.claude/skills/gui-integration-test-video/SKILL.md (or your agent's skills folder).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.
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.rsintegration/src/test/video_recording.rsintegration/tests/integration/ui_tests.rsui/src/integration/driver.rsui/src/integration/step.rsui/src/integration/video_recorder.rsui/src/integration/artifacts.rsui/src/integration/overlay.rsFor a single manually-invoked recording test, prefer the integration binary:
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
cargo run -p integration --bin integration -- test_video_recordingThat 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:
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
WARP_INTEGRATION_TEST_VIDEO=test_video_recording \
cargo run -p integration --bin integration -- test_video_recordingFor broader integration test runs, the same env vars work with the normal test runner:
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
WARP_INTEGRATION_TEST_VIDEO=test_foo,test_bar \
cargo nextest run --no-fail-fast --workspace test_fooWARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS1 when you need real frame capture.WARP_INTEGRATION_TEST_VIDEOThis is the main env var that controls driver-managed video recording in ui/src/integration/driver.rs.
Behavior:
1 or all: auto-record every test in the run.Examples:
# Record every test in the run
WARP_INTEGRATION_TEST_VIDEO=all# Record only specific tests
WARP_INTEGRATION_TEST_VIDEO=test_foo,test_barImportant nuance:
WARP_INTEGRATION_TEST_VIDEO if the test itself explicitly calls with_start_recording() and with_stop_recording().WARP_INTEGRATION_TEST_ARTIFACTS_DIRThis controls the root artifact directory used by TestArtifacts in ui/src/integration/artifacts.rs.
If unset, artifacts go under:
$TMPDIR/warp_integration_test_artifactsEach run gets a timestamped directory:
<artifacts_root>/<test_name>/<timestamp>/This is the main directory to inspect for screenshots, logs, and the final recording.mp4.
WARP_INTEGRATION_TEST_VIDEO_DIRThis env var exists in ui/src/integration/video_recorder.rs as the lower-level recorder output root helper, defaulting to:
$TMPDIR/warp_integration_video_capturesOn 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.
There are two modes:
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.
Set WARP_INTEGRATION_TEST_VIDEO to:
all1test_a,test_bThis starts recording at the beginning of matching tests and writes the video when the test completes.
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:
In practice:
Use TestStep::with_take_screenshot("filename.png").
Example pattern:
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.
Builder::new().with_real_display().with_start_recording().with_stop_recording().Example shape:
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())Prefer explicit UI-driving steps that emit mouse and key events:
with_click_on_saved_position(...)with_event(...) / with_event_fn(...)with_keystrokes(...)For drag overlays, send a sequence like:
LeftMouseDownLeftMouseDraggedLeftMouseUpIt is reasonable to add an with_on_finish(...) hook that checks for expected artifacts such as:
recording.mp4recording.logThe sample test does exactly that.
The normal output location is:
${WARP_INTEGRATION_TEST_ARTIFACTS_DIR:-$TMPDIR/warp_integration_test_artifacts}/<test_name>/<timestamp>/Common artifacts in that directory:
recording.mp4recording.logwith_take_screenshot(...)For test_video_recording, the sample test expects:
after_bootstrap.pngafter_commands.pngrecording.mp4recording.logIf MP4 encoding fails during finalization, the recorder falls back to per-frame PNGs in a sibling directory like:
recording_frames/with files such as:
recording_0000.pngrecording.mp4 first to confirm:recording.log if the output looks incomplete or suspicious.recording.mp4 is missing, look for fallback frame PNGs.When summarizing results for the user, include the exact artifact directory path.
The sample manual test is test_video_recording.
It is:
integration/src/bin/integration.rsintegration/tests/integration/ui_tests.rsintegration/src/test/video_recording.rsRun it with:
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
cargo run -p integration --bin integration -- test_video_recordingIf you want full-test auto-recording from the environment as well, use:
WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1 \
WARP_INTEGRATION_TEST_VIDEO=test_video_recording \
cargo run -p integration --bin integration -- test_video_recordingWhen asked to record or debug an integration test with video:
WARP_INTEGRATION_TEST_VIDEO.WARPUI_USE_REAL_DISPLAY_IN_INTEGRATION_TESTS=1.© 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
Just SKILL.md in .warp/skills/gui-integration-test-video of warpdotdev/warp.
Open the folder on GitHubat commit f571865
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.
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Warp Integration Test Video this skillwarpdotdev/warp | 65k | 1 repos | ~2.6k | Automated safety check: Pass | AGPL-3.0 | |
| Growing Outside In Systemslexler/skill-factory | 239 | 1 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Testing Strategiesancoleman/ai-design-components | 526 | — | ~3.8k | Automated safety check: Pass | MIT | |
| OpenHarness End-to-End EvalsHKUDS/OpenHarness | 16k | 1 repos | ~2.1k | Automated safety check: Notes | MIT | |
| E2E Testinglangflow-ai/langflow | 156k | — | ~3.3k | Automated safety check: Pass | MIT | |
| Remote Executor Integration Testsopeninterpreter/openinterpreter | 69k | 2 repos | ~842 | Automated safety check: Pass | Apache-2.0 |
lexler/skill-factory
Drive feature development using Outside-In TDD with Hexagonal Architecture.
ancoleman/ai-design-components
Strategic guidance for choosing and implementing testing approaches across the test pyramid.
HKUDS/OpenHarness
Validates OpenHarness features by running real multi-turn agent loops with live LLM calls against an unfamiliar codebase, checking actual tool execution.
langflow-ai/langflow
Write and review Playwright E2E tests for Langflow. An agent skill from langflow-ai/langflow.
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.
airbytehq/airbyte
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.
warpdotdev/warp
Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.
warpdotdev/warp
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.
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.
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.
warpdotdev/warp
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.
warpdotdev/warp
Creates project-specific design system rules from your codebase so coding agents implement Figma designs with your components, naming and tokens.
Works with
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.