Orchestration de navigateur

VérifiéPrudence

Utilise browser-use via Chrome DevTools Protocol pour naviguer sur le web. Orchestrez à distance un navigateur pour accomplir des tâches web.

Spar Skills Guide Bot
DeveloppementIntermédiaire
22/07/2026
Claude CodeCursorWindsurfCopilotCodex
#browser-automation#web-scraping#cli#chrome-devtools-protocol#sso-auth

Recommandé pour

Synthèse automatique

Expose une CLI qui pilote un navigateur Chromium distant (via browser-use et le Chrome DevTools Protocol) pour naviguer, remplir des formulaires, exécuter du JavaScript et capturer du trafic.

Points forts

  • Surface CLI complète et scriptable : navigate, fill, click, click-at, dom, execute, cookies.
  • Requêtes XHR authentifiées exécutées dans l'origine de la page, ce qui transporte les cookies et contourne le CORS.
  • Capture du trafic HTTP et WebSocket en NDJSON, plus lecture des cookies HttpOnly via CDP.
  • Assistant de connexion SSO générique (globs --match, --success-url) capable d'extraire cookies, localStorage et valeurs évaluées.

Limites

  • Nécessite de démarrer, surveiller et arrêter un serveur en arrière-plan avant toute action client.
  • Repose sur des sélecteurs CSS fragiles, sans assertions ni gestion visuelle intégrée.
  • La documentation se limite à un renvoi vers le README du projet, peu de détails sur les cas limites.
Quand l'utiliser

À utiliser quand un agent doit manipuler une vraie application web : se connecter, extraire des données, rejouer des requêtes authentifiées ou observer le trafic réseau.

Quand l'éviter

À éviter pour du scraping massif à grande échelle ou lorsqu'un simple appel HTTP/curl suffit, car le pilotage d'un navigateur est plus lourd et plus lent.

Analyse de sécurité

Prudence
Score qualité78/100

The skill is a genuine browser-automation CLI wrapping browser-use/CDP, but it grants the agent powerful primitives: arbitrary in-page JS execution, HttpOnly cookie reading, credentialed cross-origin-bypassing XHR, full HTTP/WebSocket capture, and SSO session-cookie extraction to disk. These are all documented and purposeful rather than covert, and there is no destructive or obfuscated payload, so it lands at caution rather than risky — but agents using it can trivially surface session tokens or credentials in output/logs.

Points d'attention
  • •Executes arbitrary JavaScript in the page context (`browser client execute`), which can read/modify any authenticated page state
  • •Reads cookies including HttpOnly cookies via CDP (`browser client cookies`), a credential-harvesting primitive
  • •Performs authenticated XHR from the page origin, explicitly bypassing CORS with the user's session cookies
  • •SSO login flow captures session cookies/localStorage/eval results and can write them to a file (`--out ./.cookies.json`), enabling session token extraction
  • •Records full HTTP and WebSocket traffic to NDJSON via CDP capture, which may include secrets or tokens
  • •Runs a long-lived background browser server and requires shell/CLI execution, though no allowed-tools are declared
  • •No obfuscation, no curl|sh install, no destructive filesystem commands observed; capabilities are legitimate for browser automation but high-impact if misused
Comment cette analyse est faite

Exemples

Search and summarize results
Start the browser server, navigate to google.com, type 'hamster dance' into the search box, click search, read the first 3 results with execute, summarize them, then stop the server.
Authenticated API call from the page
Navigate to https://app.example.com/dashboard, then run browser client xhr https://app.example.com/api/me -H 'Accept: application/json' and show me the JSON response.
SSO capture
Use browser login --url https://app.example.com --match '*app.example.com/dashboard*' --cookie session --out cookies.json to log in via SSO and save the session cookie.

name: browser description: remotely orchestrate a (chromium) browser to utilize web apps

Browser

Uses browser-use (via Chrome DevTools Protocol) to browse any website. Remotely orchestrate a browser, to navigate the web. Meaning any task that can be accomplished via a browser.

Instructions

  • read README.md to understand this project

QUICK REFERENCE

These are CLI commands you may use.

| Task | Command | Purpose | |------|---------|---------| | Start Browser Server | browser server start | Start background browser server | | Stop Browser Server | browser server stop | Stop background server | | Server Status | browser server status | Check server status and latest logs summary | | View Live Logs | browser server logs --follow | Tail live server logs | | Get Page Status | browser client status | Get current page URL and title | | Navigate to URL | browser client navigate URL | Navigate browser to specified URL | | Execute JavaScript | browser client execute JAVASCRIPT | Execute JavaScript code (arrow function) | | Get DOM Content | browser client dom [SELECTOR] | Get HTML content of element (default: body) | | Fill Input Field | browser client fill SELECTOR VALUE | Fill form input field with value | | Click Element | browser client click SELECTOR | Click on specified element | | Click at Coordinates | browser client click-at X Y | Click at specific coordinates | | Get Cookies | browser client cookies [--domain D] [--name N] | Read cookies incl. HttpOnly (CDP) | | Authed XHR | browser client xhr URL [-X METHOD] [-H 'K: V'] [-d BODY] [--body] | Run a request inside the page's origin (carries cookies, bypasses CORS) | | SSO Login + Capture | browser login --url URL --match '*host/path*' [--cookie NAME] [--local KEY] [--eval NAME=JS] [--out FILE] | Headed SSO login; capture cookies / localStorage / eval values. No SSO provider is hardcoded — you pass --match globs (or --success-url regex). | | Start Capture | browser capture start [FILE] [--filter SUBSTR] | Record HTTP + WebSocket traffic to NDJSON | | Stop Capture | browser capture stop | Stop the active capture | | Verify/Repair CLI | browser-agent doctor | Ensure the browser command is THIS CLI (repairs browser-use shadowing) |

Examples

Sample user prompt:

let's test this project:

  • start browser service
  • use client scripts to
    • navigate to google.com
    • type hamster dance into search box
    • click search button
    • read first 3 search results
    • summarize them in your response to me
    • stop the server

Sample agent output (ie. Gemini 3 Flash):

GitHub Copilot: Created 6 todos

Starting: *Start browser service* (1/6)

Ran terminal command: browser server start

Stdout:
Starting browser server...
✅ Server started in background (PID 12345)
Logs: /home/user/.browser_agent/server.log

Starting: *Navigate to Google* (2/6)

Ran terminal command: browser client navigate "https://www.google.com"

Stdout:
✅ Navigated to https://www.google.com

Starting: *Type search query* (3/6)

Ran terminal command: browser client fill "[name='q']" "hamster dance"

Stdout:
✅ Filled [name='q']

Starting: *Click search button* (4/6)

Ran terminal command: browser client click "[name='btnK']"

Stdout:
✅ Clicked [name='btnK']

Starting: *Read search results* (5/6)

Ran terminal command: browser client execute "() => Array.from(document.querySelectorAll('#search h3')).slice(0, 3).map(h3 => ({title: h3.innerText, link: h3.closest('a')?.href}))"

Stdout:
Result: [{"title": "Hampton the Hamster \"The Hamsterdance Song\"", "link": "https://www.youtube.com/watch?v=1qN72LEQnaU"}, ...]

Starting: *Stop server* (6/6)

Ran terminal command: browser server stop

Stdout:
✅ Server stopped (PID 12345)

Completed: *Summarize results*

The browser service was successfully started, and I performed the requested search for "hamster dance" on Google. Here are the first three search results:

1.  **Hampton the Hamster "The Hamsterdance Song"**
    - [https://www.youtube.com/watch?v=1qN72LEQnaU](https://www.youtube.com/watch?v=1qN72LEQnaU)
2.  **Hampton the Hamster - The Hamsterdance Song (Official Video ...**
    - [https://www.youtube.com/watch?v=6WpMlwVwydo](https://www.youtube.com/watch?v=6WpMlwVwydo)
3.  **Hamster Dance - Wikipedia**
    - [https://en.wikipedia.org/wiki/Hamster_Dance](https://en.wikipedia.org/wiki/Hamster_Dance)

SSO Login + Cookie Capture Example

Open a headed browser, let the user complete SSO (e.g. Okta), and capture the session cookie(s) once the page settles. Reusable by any tool that needs a cookie-authenticated session.

# Capture the Slack 'd' cookie after login, writing JSON to a file
browser login \
  --url https://app.slack.com/client \
  --cookie d \
  --cookie-domain slack.com \
  --success-url "/client" \
  --out ./.cookies.json
# Detection is staged: URL must match --success-url (or destination host),
# the page must finish loading, and all required --cookie names must be present
# before capture. Without --out, the cookie map prints to stdout.

Authenticated XHR Example

Run an HTTP request from inside the current page's origin — it carries existing cookies and bypasses CORS. Useful for hitting same-site JSON endpoints.

browser client navigate "https://app.example.com"
browser client xhr "https://app.example.com/api/me" --body
# --body prints only the response body; omit it to see status + headers + body
browser client xhr "https://app.example.com/api/items" -X POST \
  -H 'Content-Type: application/json' -d '{"q":"x"}'

Traffic Capture Example

Record HTTP requests/responses and WebSocket frames (via CDP) to NDJSON for reverse-engineering an API.

browser capture start --filter example.com      # only record matching URLs
browser client navigate "https://example.com"   # interact / click around
browser capture stop                             # flush + close the file
# Output: captures/<timestamp>.ndjson, one JSON record per request/response/ws frame

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/browser-orchestration-mrwakc2w/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/browser-orchestration-mrwakc2w' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/browser-orchestration-mrwakc2w/download' --output '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md.part' && mv '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md.part' '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Extrait original : QUICK REFERENCE

These are CLI commands you may use.

TaskCommandPurpose
Start Browser Serverbrowser server startStart background browser server
Stop Browser Serverbrowser server stopStop background server
Server Statusbrowser server statusCheck server status and latest logs summary
View Live Logsbrowser server logs --followTail live server logs
Get Page Statusbrowser client statusGet current page URL and title
Navigate to URLbrowser client navigate URLNavigate browser to specified URL
Execute JavaScriptbrowser client execute JAVASCRIPTExecute JavaScript code (arrow function)
Get DOM Contentbrowser client dom [SELECTOR]Get HTML content of element (default: body)
Fill Input Fieldbrowser client fill SELECTOR VALUEFill form input field with value
Click Elementbrowser client click SELECTORClick on specified element
Click at Coordinatesbrowser client click-at X YClick at specific coordinates
Get Cookiesbrowser client cookies [--domain D] [--name N]Read cookies incl. HttpOnly (CDP)
Authed XHRbrowser client xhr URL [-X METHOD] [-H 'K: V'] [-d BODY] [--body]Run a request inside the page's origin (carries cookies, bypasses CORS)
SSO Login + Capturebrowser login --url URL --match '*host/path*' [--cookie NAME] [--local KEY] [--eval NAME=JS] [--out FILE]Headed SSO login; capture cookies / localStorage / eval values. No SSO provider is hardcoded — you pass --match globs (or --success-url regex).
Start Capturebrowser capture start [FILE] [--filter SUBSTR]Record HTTP + WebSocket traffic to NDJSON
Stop Capturebrowser capture stopStop the active capture
Verify/Repair CLIbrowser-agent doctorEnsure the browser command is THIS CLI (repairs browser-use shadowing)

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md' && test -s '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/browser' && cp -R '.skill-downloads/browser-orchestration-mrwakc2w' '.claude/skills/browser'

Cursor
test -f '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md' && test -s '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/browser' && cp -R '.skill-downloads/browser-orchestration-mrwakc2w' '.cursor/skills/browser'

Codex
test -f '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md' && test -s '.skill-downloads/browser-orchestration-mrwakc2w/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/browser' && cp -R '.skill-downloads/browser-orchestration-mrwakc2w' '.agents/skills/browser'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/browser-orchestration-mrwakc2w'

openskills read 'browser-orchestration-mrwakc2w'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/browser-orchestration-mrwakc2w/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires