Skyvern Browser Automation
Skyvern-AI/skyvern
Picks the right Skyvern CLI command for a web task, from quick yes/no checks to reusable multi-page workflows, instead of falling back to plain page fetching.
Drives the running local Warp app from the command line to open tabs, split panes, stage input, change themes or inspect its state.
$ npx skills add warpdotdev/warp --skill warpctrl -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install warpdotdev/warp warpctrl --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/resources/bundled/skills/warpctrl .claude/skills/warpctrl && 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 "warpctrl" agent skill from https://github.com/warpdotdev/warp/tree/master/resources/bundled/skills/warpctrl into .claude/skills/warpctrl/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "warpctrl", 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/resources/bundled/skills/warpctrlType 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 warpctrl -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install warpdotdev/warp warpctrl --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/resources/bundled/skills/warpctrl .agents/skills/warpctrl && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "warpctrl" agent skill from https://github.com/warpdotdev/warp/tree/master/resources/bundled/skills/warpctrl into .agents/skills/warpctrl/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "warpctrl", 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 warpctrl -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install warpdotdev/warp warpctrl --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/resources/bundled/skills/warpctrl .cursor/skills/warpctrl && 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 "warpctrl" agent skill from https://github.com/warpdotdev/warp/tree/master/resources/bundled/skills/warpctrl into .cursor/skills/warpctrl/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "warpctrl", 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 resources/bundled/skills/warpctrl--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 warpctrl -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install warpdotdev/warp warpctrl --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/resources/bundled/skills/warpctrl .gemini/skills/warpctrl && 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 "warpctrl" agent skill from https://github.com/warpdotdev/warp/tree/master/resources/bundled/skills/warpctrl into .gemini/skills/warpctrl/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "warpctrl", 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 warpctrlInstalls 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 warpctrl -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/resources/bundled/skills/warpctrl .github/skills/warpctrl && 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 "warpctrl" agent skill from https://github.com/warpdotdev/warp/tree/master/resources/bundled/skills/warpctrl into .github/skills/warpctrl/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "warpctrl", 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 warpctrl -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 warpctrl --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/resources/bundled/skills/warpctrl .opencode/skills/warpctrl && 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 "warpctrl" agent skill from https://github.com/warpdotdev/warp/tree/master/resources/bundled/skills/warpctrl into .opencode/skills/warpctrl/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "warpctrl", 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.
warpctrlDrives the running local Warp app from the command line to open tabs, split panes, stage input, change themes or inspect its state.
The skill tells the agent to use the warpctrl command for actions that change Warp itself rather than the project or operating system: creating a tab, splitting a pane, staging text in Warp's input, opening settings or focusing a window. Warp Control is not a separate binary but a hidden control mode served by the already-running Warp process, and the command name and wrapper path are injected for the current channel, so the agent must not inspect processes or guess the channel.
First use in a task starts with a quick availability check. If the command resolves, it is used as is. Otherwise the agent verifies the bundled wrapper exists, checks that a symlink in /usr/local/bin points at it, and asks you before creating or replacing that symlink, offering an install option and a not-now option. After approval it creates only the expected symlink, retrying through osascript with administrator privileges on macOS if needed, and it never requests or exposes your password.
6 steps, taken from the first numbered list 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From 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 Control CLI loads about 3k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 1,326 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). 1,326 words, ~3,014 tokens.
.claude/skills/warpctrl/SKILL.md (or your agent's skills folder).Use {{warpctrl_binary_name}} to inspect or control the already-running local Warp application that provided this skill. The command name and wrapper path in this skill are injected for the current Warp channel, so do not inspect running processes or guess which channel is active.
Prefer {{warpctrl_binary_name}} when the requested action changes Warp itself rather than the user's project or operating system. Examples include creating a Warp tab, splitting a pane, staging text in Warp's input, opening Warp settings, or focusing a Warp window.
Warp Control is bundled into the Warp application. It is not a separate standalone binary; it is a hidden control mode served by the running Warp process.
{{warpctrl_binary_name}}{{warpctrl_wrapper_path}}/usr/local/bin/{{warpctrl_binary_name}}Before invoking Warp Control for the first time in a task, prefer the shortest available path and avoid unnecessary setup research:
command -v {{warpctrl_binary_name}} succeeds, use {{warpctrl_binary_name}} for the rest of the task. Do not inspect the bundled wrapper or verify the symlink unless a later command fails.command -v {{warpctrl_binary_name}} fails, verify that {{warpctrl_wrapper_path}} exists and is executable. If it is missing, tell the user that this Warp build does not contain the expected wrapper and stop./usr/local/bin/{{warpctrl_binary_name}}. Treat setup as complete only when it is a symlink that resolves to the exact {{warpctrl_wrapper_path}} bundled wrapper.ask_user_question tool to ask whether the user wants to install it at /usr/local/bin/{{warpctrl_binary_name}} pointing to {{warpctrl_wrapper_path}}. Offer Install command as the recommended option and Not now as the alternative. Do not create or replace a symlink without an affirmative response.ln -sf "{{warpctrl_wrapper_path}}" "/usr/local/bin/{{warpctrl_binary_name}}". Try without elevation first. If macOS permissions prevent the change, run that same command through osascript with administrator privileges; never request or expose the user's password directly.command -v {{warpctrl_binary_name}}, readlink /usr/local/bin/{{warpctrl_binary_name}}, and {{warpctrl_binary_name}} app version.If the user chooses Not now, do not create the symlink. Use the bundled wrapper at {{warpctrl_wrapper_path}} directly for the current task.
The Warp UI also exposes Install Warp Control CLI command and Uninstall Warp Control CLI command in the Command Palette and an install control under Settings > Scripting.
Always prefer discovering commands from {{warpctrl_binary_name}} itself rather than guessing or inventing them. The CLI provides full help and an action catalog that is the authoritative source of truth for what the installed build supports.
Run Warp Control commands serially. Never dispatch multiple {{warpctrl_binary_name}} commands through parallel shell-tool calls, even when the commands appear independent. They act on the same running app and may change the active target or the terminal context used to execute and observe later commands. For multi-step requests, prefer one shell-tool call that chains commands sequentially, or issue separate shell-tool calls one at a time.
After an action that creates, activates, navigates, or focuses a window, tab, pane, session, or surface, do not assume the active target is unchanged. Use explicit selectors for later commands when exact targeting matters, or rerun {{warpctrl_binary_name}} app active before continuing.
Validate that each result corresponds to the command that was invoked. If output describes a different action, reports an unexpected instance or channel, or otherwise conflicts with the request, stop and rerun {{warpctrl_binary_name}} instance list serially before retrying. Do not report success until the requested final state has been verified when a corresponding list, inspect, or get command is available.
Before discovering commands, route the request to the narrowest matching top-level group:
Requests to open, show, view, or toggle a named Warp UI destination, panel, picker, or settings page use surface. Convert natural-language names to kebab case, such as "Warp Drive" to warp-drive and "code review" to code-review. Prefer surface <name> open when the requested final state is open. Use surface list or surface help when the destination or supported verb is unknown. Do not infer an internal action name for a UI destination.
Requests about windows, tabs, panes, or sessions use the matching window, tab, pane, or session group.
Requests to stage or inspect editor input use input.
Requests to open a file in Warp use file.
Requests about themes, appearance, settings, or keybindings use the matching theme, appearance, setting, or keybinding group.
Use the generic action catalog only when no dedicated CLI group matches. Internal or catalog action names are not guaranteed to be reachable as standalone parser commands.
Discover running Warp instances from the current Warp channel:
{{warpctrl_binary_name}} instance listIf exactly one same-channel instance is running, commands select it automatically. If multiple same-channel instances are running, select one explicitly with --instance <instance_id> or --pid <pid>.
Discover the exact command and parameters from the routed group instead of guessing. This is the preferred source of truth for the available command surface:
{{warpctrl_binary_name}} help
{{warpctrl_binary_name}} <group> help
{{warpctrl_binary_name}} <group> <command> --helpOnly when no dedicated group matches, inspect the generic action catalog:
{{warpctrl_binary_name}} action list
{{warpctrl_binary_name}} action inspect <action.name>Inspect the active target chain or list the relevant targets before changing them:
{{warpctrl_binary_name}} app active
{{warpctrl_binary_name}} window list
{{warpctrl_binary_name}} tab list
{{warpctrl_binary_name}} pane list
{{warpctrl_binary_name}} session listInvoke the narrowest action that satisfies the request, then verify the result with the corresponding list, inspect, or get command when useful.
These are frequently used commands that are safe to invoke directly. For less common commands, route by intent and use {{warpctrl_binary_name}} <group> help or {{warpctrl_binary_name}} <group> <command> --help to discover the exact syntax supported by the running build. Inspect the generic action catalog only when no dedicated group matches.
# Create and manage tabs and panes
{{warpctrl_binary_name}} tab create
{{warpctrl_binary_name}} tab create --type agent
{{warpctrl_binary_name}} tab rename "server logs"
{{warpctrl_binary_name}} pane split --direction right
{{warpctrl_binary_name}} pane navigate --direction next
# Stage text in Warp's input without submitting it
{{warpctrl_binary_name}} input insert "git status"
{{warpctrl_binary_name}} input replace "cargo test"
# Open or toggle Warp UI surfaces
{{warpctrl_binary_name}} surface list
{{warpctrl_binary_name}} surface settings open
{{warpctrl_binary_name}} surface command-palette open --query "theme"
{{warpctrl_binary_name}} surface command-search open
{{warpctrl_binary_name}} surface theme-picker open
{{warpctrl_binary_name}} surface keybindings open
{{warpctrl_binary_name}} surface warp-drive open
{{warpctrl_binary_name}} surface resource-center toggle
{{warpctrl_binary_name}} surface ai-assistant toggle
{{warpctrl_binary_name}} surface project-explorer open
{{warpctrl_binary_name}} surface global-search open
{{warpctrl_binary_name}} surface conversation-list open
{{warpctrl_binary_name}} surface code-review open
{{warpctrl_binary_name}} surface left-panel toggle
{{warpctrl_binary_name}} surface right-panel toggle
{{warpctrl_binary_name}} surface vertical-tabs open
{{warpctrl_binary_name}} surface agent-management open
# Open a file in Warp
{{warpctrl_binary_name}} file open ./src/main.rs --line 42
# Inspect and update supported state
{{warpctrl_binary_name}} theme get
{{warpctrl_binary_name}} theme set "Dracula"
{{warpctrl_binary_name}} appearance get
{{warpctrl_binary_name}} setting list
{{warpctrl_binary_name}} keybinding listAdd --output-format json when structured output is easier to consume:
{{warpctrl_binary_name}} --output-format json tab listTarget selectors can be combined when the action supports their scope:
--instance <instance_id> or --pid <pid>--window <id>, --window-index <n>, or --window-title <exact-title>--tab <id>, --tab-index <n>, or --tab-title <exact-title>--pane <id> or --pane-index <n>--session <id>Use IDs returned by list, inspect, or app active when exact targeting matters. If a selector is omitted, most scoped actions operate on the active target. Prefer explicit selectors when more than one target could reasonably match the user's request.
Use surface list before a walkthrough or multi-step UI workflow. It reports both available and unavailable destinations with stable names and reasons. The direct surface ... open commands are idempotent; use them instead of toggle commands when the final open state matters. surface list accepts --instance or --pid for process selection but rejects window, tab, pane, and session selectors.
input insert and input replace only stage text. Warp Control intentionally does not provide an action that submits or runs the input.help first, then use action list or action inspect only when no dedicated group matches.Warp Control availability depends on the build channel and the Settings > Scripting toggle. The local-control mode defaults to enabled on internal dogfood builds (e.g., WarpDev) and disabled on public channels (Stable, Preview, OSS). On any channel, the final gate is the Settings > Scripting toggle. The installed {{warpctrl_binary_name}} wrapper invokes the matching channel-specific Warp executable.
If {{warpctrl_binary_name}} instance list is empty, confirm that a compatible same-channel Warp app is running and Scripting is enabled. If a command reports multiple instances, rerun it with --instance <instance_id>.
If the symlink is not on PATH, follow the confirmation-gated setup flow in How to invoke Warp Control or use {{warpctrl_wrapper_path}} directly.
© 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 resources/bundled/skills/warpctrl 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 Control CLI 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 Control CLI this skillwarpdotdev/warp | 65k | 1 repos | ~3k | Automated safety check: Pass | AGPL-3.0 | |
| Skyvern Browser AutomationSkyvern-AI/skyvern | 23k | — | ~2.9k | Automated safety check: Pass | AGPL-3.0 | |
| Feishu Bitable Managementop7418/CodePilot | 6.5k | 1 repos | ~1.7k | Automated safety check: Pass | Custom licence | |
| CUAWright Web Task Automationmicrosoft/CUAWright | 6k | — | ~2k | Automated safety check: Notes | MIT | |
| MoviePilot Downloader Operationjxxghp/MoviePilot | 12k | — | ~4.4k | Automated safety check: Pass | GPL-3.0 | |
| Refly Skill Runnerrefly-ai/refly | 7.5k | — | ~1.7k | Automated safety check: Pass | Custom licence |
Skyvern-AI/skyvern
Picks the right Skyvern CLI command for a web task, from quick yes/no checks to reusable multi-page workflows, instead of falling back to plain page fetching.
op7418/CodePilot
Creates, queries and edits Feishu Bitable tables through tool calls, covering records, fields, views and batch operations with the correct value format for each field type.
microsoft/CUAWright
Solves web tasks by driving a local Playwright browser one bash command at a time, saving a reusable script, screenshots and an action log for each run.
jxxghp/MoviePilot
Inspects, diagnoses and directly controls qBittorrent, Transmission or rTorrent downloaders configured in MoviePilot through a bundled Python helper.
refly-ai/refly
Base skill for the Refly ecosystem: finds, runs and monitors workflow-backed skills through the refly command line, with the actual work done on the Refly backend.
aardappel/treesheets
Runs Lobster scripts against the document open in a running TreeSheets instance through its local agent socket, and returns the results or errors.
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.
Categories
Drives the running local Warp app from the command line to open tabs, split panes, stage input, change themes or inspect its state. The skill tells the agent to use the warpctrl command for actions that change Warp itself rather than the project or operating system: creating a tab, splitting a pane, staging text in Warp's input, opening settings or focusing a window. Warp Control is not a separate binary but a hidden control mode served by the already-running Warp process, and the command name and wrapper path are injected for the current channel, so the agent must not inspect processes or guess the channel.
Warp Control CLI fits situations like: opening a new Warp tab or splitting a pane from the agent; inspecting the state of the running Warp app; opening a file in Warp or staging text in its input buffer; explaining how to invoke Warp Control manually.
Run `npx skills add warpdotdev/warp --skill warpctrl -a claude-code`. Or copy the skill folder (resources/bundled/skills/warpctrl in warpdotdev/warp) into .claude/skills/warpctrl in your project. Claude Code loads it when a task matches its description.
Run `npx skills add warpdotdev/warp --skill warpctrl -a codex`. Or copy the skill folder (resources/bundled/skills/warpctrl in warpdotdev/warp) into .agents/skills/warpctrl 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 warpctrl -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/warpctrl, .gemini/skills/warpctrl, .github/skills/warpctrl and .opencode/skills/warpctrl in your project.
SKILL.md names no scripts, command-line tools or credentials: Warp Control CLI is instructions for the agent only. Our summary lists: A running Warp app that bundles the warpctrl wrapper.
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 Control CLI 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 3k tokens (SKILL.md is roughly 12k 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 Control CLI: Skyvern Browser Automation (Skyvern-AI/skyvern, 23k stars), Feishu Bitable Management (op7418/CodePilot, 6.5k stars), CUAWright Web Task Automation (microsoft/CUAWright, 6k stars) and MoviePilot Downloader Operation (jxxghp/MoviePilot, 12k 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.