一键导入
browser-target
Use extension-provided browser targets to inspect and operate active browser state through the target's advertised filesystem and shell commands.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use extension-provided browser targets to inspect and operate active browser state through the target's advertised filesystem and shell commands.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create or revise reusable GSV agent workflows under skills.d. Use when the user asks to automate, save, teach, repeat, or reuse a workflow, or accepts an offer to preserve a proven workflow for later.
Guide on how to build and modify GSV packages, including source checkout, app/backend/CLI changes, manifests, validation, staged commits, and syncing.
Guide on how to review GSV packages before approval, including source inspection, manifests, capabilities, entrypoints, staged edits, refs, and trust boundaries.
Use the GSV Manual for questions about GSV's operating model, user workflows, settings, devices, users and agents, packages, automation, integrations, filesystem, desktop, updates, and source/debug orientation.
| name | browser-target |
| description | Use extension-provided browser targets to inspect and operate active browser state through the target's advertised filesystem and shell commands. |
| aliases | browser-extension, browser |
Use this skill when a target is listed as kind browser, has platform
browser or browser-extension, or when the user asks you to act on an active
browser target. Browser target ids are user-configured and may look like
browser:chrome, rearden:brave, or another device id.
Shell with the browser target id, and Read, Write, Edit, Delete, or Search with the same target./README.txt, help, and <command> --help output as authoritative.From the native gsv target, identify the browser target and inspect its
descriptor:
targets list --kind browser
targets show rearden:brave
Then run small inspection commands on the browser target itself:
cat /README.txt
help
tabs --help
page --help
network --help
media --help
Do not assume commands beyond what the active target advertises. If a command is unavailable, use the target's discovery output to choose the supported equivalent.
Useful read-only runtime paths usually include:
cat /proc/browser.json
cat /proc/tabs.json
cat /proc/tabs/<tabId>/text.txt
cat /proc/network/status.json
cat /proc/network/events.jsonl
Writable browser-local paths usually include /tmp, /tmp/render,
/home/browser, /home/browser/screenshots, /home/browser/network, and
/home/browser/recordings. Use these for artifacts created by browser
commands, viewer inputs, network captures, screenshots, recordings, and
temporary transfer files.
Use target-qualified paths when moving files to or from a browser target:
cp macbook:/home/hank/report.pdf [rearden:brave]:/tmp/report.pdf
cp [rearden:brave]:/tmp/report.pdf gsv:/home/hank/report.pdf
Target-qualified paths use target:/absolute/path. Plain target ids such as
macbook do not need brackets. Target ids containing : must be bracketed,
such as [rearden:brave]:/tmp/page.html.
Run target-qualified cp from the native GSV shell or target-aware filesystem
tools. The browser target's just-bash cp is local to the browser filesystem.
Use target-aware cp for large files. Do not base64 large files through model output.
Start with tab discovery, then inspect page content before mutating anything:
tabs list
tabs active
page snapshot --tab <tabId>
page text --tab <tabId>
Use selector-based page commands for interaction:
page click --tab <tabId> 'button[type=submit]'
page type --tab <tabId> 'input[name=email]' 'hank@example.com'
page key --tab <tabId> Enter
page wait --tab <tabId> '.result' --timeout 10000
page screenshot --tab <tabId>
Use JavaScript evaluation only when page snapshot/text/click/type/wait cannot express the task:
page js --tab <tabId> 'document.title'
page js --tab <tabId> 'Array.from(document.querySelectorAll("button")).map((button) => button.textContent)'
Prefer selector clicks to coordinates. Always pass --tab for work on an
agent-opened tab so a user changing their active tab cannot redirect the task.
tabs open creates a background tab and returns its id. Capture that id and
pass it to every command that operates on the new tab:
opened="$(tabs open https://example.com)"
tab_id="$(printf '%s\n' "$opened" | tail -n 1 | jq -r '.tab.id')"
page snapshot --tab "$tab_id"
page click --tab "$tab_id" 'a.more-information'
Use tabs open --active only when the user explicitly asks to see or switch to
new content. For example:
tabs open --active /home/browser/screenshots/tab-123.png
printf '<h1>Report</h1>' | tabs open --active --mime text/html -
For a remote file, first copy it into /tmp or /tmp/render on the browser
target from the native GSV shell, then run tabs open on the browser-local
path. Use --mime when stdin or an extensionless file needs an explicit
content type.
Browser profile commands can inspect or mutate real profile state:
cookies list example.com
storage local get
history search --limit 20 query
bookmarks search query
Mutation examples:
cookies set https://example.com name value
history delete https://example.com/
bookmarks create <parentId> https://example.com "Example"
For browser downloads, use the browser target's downloads command. Browser
downloads are real browser-profile downloads, while /tmp and /home/browser
are the target filesystem exposed through GSV.
downloads list --limit 20
downloads start https://example.com/file.pdf --filename file.pdf
downloads get <downloadId>
network start --tab <tabId> --bodies --persist
network status --tab <tabId>
network events --tab <tabId> --limit 50
network get <requestId> --body
network export har --tab <tabId> --path /home/browser/network/capture.har
network stop --tab <tabId>
Use --persist when the capture should create files under
/home/browser/network/sessions/.... Without persistence, inspect through the
network command output or the /proc/network/* runtime files.
Use media record to capture tab audio or video into the browser target filesystem:
media record start --tab <tabId> --path /home/browser/recordings/demo.webm
media record start --tab <tabId> --video --path /home/browser/recordings/demo-video.webm
media record status
media record stop
tabs open /home/browser/recordings/demo.webm
Audio recordings are WebM/Opus when supported. Use --video or
--mode video for tab video with audio; video recordings are WebM when
supported and can grow quickly, so set --max-bytes explicitly for longer
captures. Tab capture may require asking the user to focus the tab and click
Grant Recording in the GSV extension UI first; each grant can start one
recording. By default, captured tab audio remains audible; use --monitor off
only when the task calls for disabling playback. To move a finished recording
to another target, copy it from the native GSV shell after recording stops.
Use clipboard commands for small text handoffs:
clipboard read
clipboard write "copied text"
printf '%s\n' "copied text" | clipboard write
Clipboard access may be unavailable in MV3 service-worker contexts until an offscreen document bridge is enabled. Treat command errors as capability signals, not as proof that the browser target is disconnected.