🛠️ Skyvern Browser Automation
AIを活用して、ウェブサイトの閲覧、フォームへの入力
📺 まず動画で見る(YouTube)
▶ 【衝撃】最強のAIエージェント「Claude Code」の最新機能・使い方・プログラミングをAIで効率化する超実践術を解説! ↗
※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。
📜 元の英語説明(参考)
AI-powered browser automation — navigate sites, fill forms, extract structured data, log in with stored credentials, and build reusable workflows.
🇯🇵 日本人クリエイター向け解説
AIを活用して、ウェブサイトの閲覧、フォームへの入力
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o skyvern-browser-automation.zip https://jpskill.com/download/3509.zip && unzip -o skyvern-browser-automation.zip && rm skyvern-browser-automation.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/3509.zip -OutFile "$d\skyvern-browser-automation.zip"; Expand-Archive "$d\skyvern-browser-automation.zip" -DestinationPath $d -Force; ri "$d\skyvern-browser-automation.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
skyvern-browser-automation.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
skyvern-browser-automationフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
💬 こう話しかけるだけ — サンプルプロンプト
- › Skyvern Browser Automation を使って、最小構成のサンプルコードを示して
- › Skyvern Browser Automation の主な使い方と注意点を教えて
- › Skyvern Browser Automation を既存プロジェクトに組み込む方法を教えて
これをClaude Code に貼るだけで、このSkillが自動発動します。
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[スキル名] skyvern-browser-automation
Skyvern ブラウザ自動化 -- CLI 判断手順
Skyvern は AI を使用してウェブサイトをナビゲートし、操作します。以下の各コマンドは、実行可能な skyvern <command> 呼び出しです。
このスキルを使用するタイミング
- ナビゲーション、抽出、フォーム入力、ログインフロー、または再利用可能なウェブサイトワークフローのために AI 支援のブラウザ自動化が必要な場合に使用します。
- 決定論的なセレクターが利用できず、Skyvern の視覚/アクセシビリティ推論がページコントロールを識別できる場合に使用します。
- 1回限りのブラウザタスクを、実行履歴と検証を伴う繰り返し可能なワークフローにする必要がある場合に使用します。
ステップ 1: タスクを分類する (常に最初にこれを行う)
| 分類 | シグナル | CLI コマンド | コスト | 何が起こるか |
|---|---|---|---|---|
| クイックチェック (はい/いいえ) | 「ユーザーはログインしていますか?」 | skyvern browser validate |
1 LLM + スクリーンショット | 軽量な検証 (最大2ステップ)、ブール値を返します。最も安価な AI オプションです。 |
| クイックインスペクション | 「ページには何が表示されていますか?」 | skyvern browser extract |
1 LLM + スクリーンショット | 専用の抽出 LLM + スキーマ検証 + キャッシング。 |
| 単一アクション (既知のターゲット) | 「#submit をクリック」 | skyvern browser click/type |
0 LLM | 決定論的な Playwright。AI なし。最速です。 |
| 単一アクション (不明なターゲット) | 「送信ボタンをクリック」 | skyvern browser act |
2-3 LLM、スクリーンショットなし | 推論にスクリーンショットはありません。エコノミーなアクセシビリティツリー。視覚的なターゲットには、ハイブリッドモード (セレクター + 意図) を使用します。 |
| 同一ページ複数ステップ | 「フォームに入力して送信」 | skyvern browser act またはプリミティブチェーン |
2-3 LLM または 0 LLM | ラベルが明確な場合は act を使用します。セレクターがわかっている場合は、click/type/select を直接使用します。 |
| 使い捨ての自律試行 | 「これを一度試す」、「これが機能するかどうかを確認する」 | skyvern browser run-task |
高い | 探索のための1回限りの自律エージェント。繰り返し実行される、または複数ページのプロダクション自動化には使用しないでください。 |
| 複数ページまたは再利用可能な自動化 | 「複数ページのウィザードをナビゲートする」、「これを設定する」、「これを毎週自動化する」 | skyvern workflow create + run |
N LLM + スクリーンショット | 各ステップに1つのブロックを持つワークフローを構築します。各ブロックは視覚的推論、検証、および再利用可能な実行履歴を取得します。 |
MCP 注: CLI の代わりに Skyvern MCP を使用している場合は、同一ページ複数ステップの UI 作業には observe + execute を優先してください。CLI はそのペアを直接公開していません。
ステップ 2: これらの決定ルールを適用する
- プロンプトにセレクター、ID、XPath、または正確なフィールドターゲットが含まれている場合は、
actではなくブラウザプリミティブを使用します。 - はい/いいえの回答のみが必要な場合は、
extractまたはactではなくvalidateを使用します。 - 作業が1つのページに留まり、ラベルが明確な場合は、
actまたはプリミティブチェーンを使用します。 - ユーザーが
try this once、see if this worksと言うか、明らかに1回限りの探索的試行を望んでいる場合は、run-taskを使用します。 - タスクが複数のページにまたがり、再利用可能、スケジュール可能、繰り返し可能、または自動化として明示的に
set upされることを意図している場合は、workflow createを使用します。 - パスワードは絶対に入力しないでください。常に
skyvern browser loginで保存された認証情報を使用してください。
ステップ 3: セッションを作成する
すべてのブラウザコマンドにはセッションが必要です。最初にセッションを作成します。
# クラウドセッション (デフォルト -- 公開 URL で動作します)
skyvern browser session create --timeout 30
# ローカルセッション (localhost URL またはセルフホストモード用)
skyvern browser session create --local --timeout 30
# CDP 経由で既存のブラウザに接続
skyvern browser session connect --cdp "ws://localhost:9222"
セッションの状態はコマンド間で保持されます。session create の後、後続のコマンドは自動的にアタッチされます。
--session pbs_... でオーバーライドします。完了したら閉じます: skyvern browser session close。
ステップ 4: 分類ごとに実行する
クイックチェック (はい/いいえ)
skyvern browser validate --prompt "Is the user logged in? Look for a dashboard or avatar."
true/false を返します。最も安価な AI オプションです -- ブール値チェックには extract または act よりも優先してください。
クイックインスペクション
skyvern browser extract \
--prompt "Extract all product names and prices" \
--schema '{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"string"}}}}}}'
スクリーンショット + 専用の抽出 LLM を使用します。Skyvern の LLM がページを解釈するため、スクリーンショット + 読み取りよりも優れています。
単一アクション (既知のターゲット)
skyvern browser click --selector "#submit-btn"
skyvern browser type --text "user@co.com" --selector "#email"
skyvern browser select --value "US" --intent "the country dropdown"
決定論的です。AI なし。3つのターゲットモードがあります。
- 意図:
--intent "the Submit button"(AI が要素を見つけます) - セレクター:
--selector "#submit-btn"(CSS/XPath、決定論的) - ハイブリッド: 両方 (セレクターが絞り込み、AI が確認します)
単一アクション (不明なターゲット)
skyvern browser act --prompt "Click the Sign In button"
skyvern browser act --prompt "Close the cookie banner, then click Sign In"
警告: act の LLM 推論にはスクリーンショットがありません。エコノミーなアクセシビリティツリーを使用します。
適切にラベル付けされた要素には問題ありません。視覚的に複雑なターゲットには、MCP の observe + click またはハイブリッドモードを使用してください。
同一ページ複数ステップ
skyvern browser act --prompt "Fill the shipping form and click Continue"
フィールドとボタンが明確にラベル付けされており、フローが1つのページに留まる場合は act を使用します。
より厳密な制御が必要な場合は、作業を click、type、select、press-key、および wait に分割してください。
使い捨ての自律試行
skyvern browser run-task \
--url "https://example.com" \
--prompt "Check whether the checkout flow works end to end and extract the confirmation number"
run-task を使用して実現可能性を証明したり、1回限りの探索を行ったりします。タスクが再実行、デバッグ、または共有するのに十分重要になった場合は、ワークフローに変換してください。
複数ページまたは再利用可能な自動化 — 各ステップに1つのブロックを持つワークフローを構築する
skyvern workflow create --definition @checkout-workflow.yaml
skyvern workflow run --id wpid_123 --wait
skyvern workflow status --run-id wr_789
各ナビゲーションブロックは、視覚的推論 + 検証とともに実行されます。複雑な f
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Skyvern Browser Automation -- CLI Judgment Procedure
Skyvern uses AI to navigate and interact with websites. Every command below is a runnable skyvern <command> invocation.
When to Use This Skill
- Use when you need AI-assisted browser automation for navigation, extraction, form filling, login flows, or reusable website workflows.
- Use when deterministic selectors are unavailable and Skyvern's visual/a11y reasoning can identify page controls.
- Use when a one-off browser task should become a repeatable workflow with run history and verification.
Step 1: Classify Your Task (ALWAYS do this first)
| Classification | Signal | CLI Command | Cost | What Happens |
|---|---|---|---|---|
| Quick check (yes/no) | "is the user logged in?" | skyvern browser validate |
1 LLM + screenshots | Lightweight validation (2 steps max), returns boolean. Cheapest AI option. |
| Quick inspection | "what does the page show?" | skyvern browser extract |
1 LLM + screenshots | Dedicated extraction LLM + schema validation + caching. |
| Single action (known target) | "click #submit" | skyvern browser click/type |
0 LLM | Deterministic Playwright. No AI. Fastest. |
| Single action (unknown target) | "click the submit button" | skyvern browser act |
2-3 LLM, no screenshots | No screenshots in reasoning. Economy a11y tree. For visual targets, use hybrid mode (selector + intent). |
| Same-page multi-step | "fill the form and submit" | skyvern browser act or primitive chain |
2-3 LLM or 0 LLM | Use act when labels are clear. Use click/type/select directly when you know selectors. |
| Throwaway autonomous trial | "try this once", "see if this works" | skyvern browser run-task |
Higher | One-off autonomous agent for exploration. Do not use for recurring or multi-page production automations. |
| Multi-page or reusable automation | "navigate a multi-page wizard", "set this up", "automate this weekly" | skyvern workflow create + run |
N LLM + screenshots | Build a workflow with one block per step. Each block gets visual reasoning, verification, and reusable run history. |
MCP note: if you are using the Skyvern MCP instead of the CLI, prefer observe + execute for same-page multi-step UI work. The CLI does not expose that pair directly.
Step 2: Apply These Decision Rules
- If the prompt includes a selector, id, XPath, or exact field target, use browser primitives -- not
act. - If you only need a yes/no answer, use
validate-- notextractoract. - If the work stays on one page and labels are clear, use
actor a primitive chain. - If the user says
try this once,see if this works, or clearly wants a one-off exploratory trial, userun-task. - If the task spans multiple pages and is meant to be reusable, scheduled, repeatable, or explicitly
set upas automation, useworkflow create. - Never type passwords. Always use stored credentials with
skyvern browser login.
Step 3: Create a Session
Every browser command needs a session. Create one first:
# Cloud session (default -- works for public URLs)
skyvern browser session create --timeout 30
# Local session (for localhost URLs or self-hosted mode)
skyvern browser session create --local --timeout 30
# Connect to existing browser via CDP
skyvern browser session connect --cdp "ws://localhost:9222"
Session state persists between commands. After session create, subsequent commands auto-attach.
Override with --session pbs_.... Close when done: skyvern browser session close.
Step 4: Execute by Classification
Quick check (yes/no)
skyvern browser validate --prompt "Is the user logged in? Look for a dashboard or avatar."
Returns true/false. Cheapest AI option -- prefer over extract or act for boolean checks.
Quick inspection
skyvern browser extract \
--prompt "Extract all product names and prices" \
--schema '{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"string"}}}}}}'
Uses screenshots + dedicated extraction LLM. Better than screenshot+read because Skyvern's LLM interprets the page.
Single action (known target)
skyvern browser click --selector "#submit-btn"
skyvern browser type --text "user@co.com" --selector "#email"
skyvern browser select --value "US" --intent "the country dropdown"
Deterministic. No AI. Three targeting modes:
- Intent:
--intent "the Submit button"(AI finds element) - Selector:
--selector "#submit-btn"(CSS/XPath, deterministic) - Hybrid: both (selector narrows, AI confirms)
Single action (unknown target)
skyvern browser act --prompt "Click the Sign In button"
skyvern browser act --prompt "Close the cookie banner, then click Sign In"
Warning: act has NO screenshots in its LLM reasoning. It uses an economy accessibility tree. Fine for well-labeled elements. For visually complex targets, use MCP observe+click or hybrid mode.
Same-page multi-step
skyvern browser act --prompt "Fill the shipping form and click Continue"
Use act when the fields and buttons are clearly labeled and the flow stays on one page.
If you need tighter control, break the work into click, type, select, press-key, and wait.
Throwaway autonomous trial
skyvern browser run-task \
--url "https://example.com" \
--prompt "Check whether the checkout flow works end to end and extract the confirmation number"
Use run-task to prove feasibility or do one-off exploration. If the task becomes important enough
to rerun, debug, or share, convert it to a workflow.
Multi-page or reusable automation — build a workflow with one block per step
skyvern workflow create --definition @checkout-workflow.yaml
skyvern workflow run --id wpid_123 --wait
skyvern workflow status --run-id wr_789
Each navigation block runs with visual reasoning + verification. Split complex flows into multiple blocks (one per page/step). First run uses AI; subsequent runs replay cached scripts.
Repeated/production
skyvern workflow create --definition @workflow.yaml
skyvern workflow run --id wpid_123 --params '{"email":"user@co.com"}'
skyvern workflow status --run-id wr_789
Split into one block per step. Use navigation blocks for actions, extraction for data.
First run uses AI; subsequent runs replay a cached script (10-100x faster).
Set --run-with agent to force AI mode for debugging.
Step 5: Verify
Always verify after page-changing actions:
skyvern browser screenshot # visual check
skyvern browser validate --prompt "Was the form submitted successfully?" # boolean assertion
skyvern browser evaluate --expression "document.title" # JS state check
Step 6: Error Recovery
| Problem | Fix |
|---|---|
| Action clicked wrong element | Add context to prompt. Use hybrid mode (selector + intent). |
| Extraction returns empty | Wait for content. Relax required fields. Check row count first. |
| Login passes but next step fails | Ensure same session. Add post-login validate check. |
| Element not found | Add wait: skyvern browser wait --selector "#el" --state visible |
| Overloaded prompt | Split into smaller goals -- one intent per command. |
Credentials
NEVER type passwords through skyvern browser type or act. Always use stored credentials:
skyvern credentials add --name "my-login" --type password --username "user@co.com"
skyvern credential list # find the credential ID
skyvern browser login --url "https://login.example.com" --credential-id cred_123
Types: password, credit_card, secret. Also supports bitwarden, 1password, and azure_vault providers.
Workflow Quick Reference
skyvern workflow create --definition @workflow.yaml # create
skyvern workflow run --id wpid_123 --wait # run and wait
skyvern workflow status --run-id wr_789 # check status
skyvern workflow list --search "invoice" # find workflows
skyvern block schema --type navigation # discover block types
skyvern block validate --block-json @block.json # validate before creating
Engine: known path = 1.0 (default). Dynamic planning = 2.0. Split into multiple 1.0 blocks when in doubt.
Status lifecycle: created -> queued -> running -> completed | failed | canceled | terminated | timed_out
Common Patterns
Login flow:
skyvern credential list # find credential ID
skyvern browser session create
skyvern browser navigate --url "https://login.example.com"
skyvern browser login --url "https://login.example.com" --credential-id cred_123
skyvern browser validate --prompt "Is the user logged in?"
skyvern browser screenshot
Pagination loop:
skyvern browser extract --prompt "Extract all rows"
skyvern browser validate --prompt "Is there a Next button that is not disabled?"
# If true:
skyvern browser act --prompt "Click the Next page button"
# Repeat extraction. Stop when: no next button, duplicate first row, or max page limit.
Debugging:
skyvern browser screenshot # visual state
skyvern browser evaluate --expression "document.title"
skyvern browser evaluate --expression "document.querySelectorAll('table tr').length"
Limitations
- Do not use Skyvern to bypass site access controls, rate limits, consent gates, or terms that prohibit automation.
- Browser automation can change remote state; confirm user intent before submitting forms, purchasing, deleting, or sending messages.
- Prefer deterministic selectors for stable production flows; AI actions can misread unlabeled or visually ambiguous controls.
- Store credentials only in the supported credential vaults and never type passwords directly through
typeoract.
Agent Mode
All commands accept --json for structured output. Set SKYVERN_NON_INTERACTIVE=1 to prevent prompts.
Use skyvern capabilities --json for full command discovery. See references/agent-mode.md.
Deep-Dive References
| Reference | Content |
|---|---|
references/prompt-writing.md |
Prompt templates and anti-patterns |
references/engines.md |
When to use tasks vs workflows |
references/schemas.md |
JSON schema patterns for extraction |
references/pagination.md |
Pagination strategy and guardrails |
references/block-types.md |
Workflow block type details with examples |
references/parameters.md |
Parameter design and variable usage |
references/ai-actions.md |
AI action patterns and examples |
references/precision-actions.md |
Intent-only, selector-only, hybrid modes |
references/credentials.md |
Credential naming, lifecycle, safety |
references/sessions.md |
Session reuse and freshness decisions |
references/common-failures.md |
Failure pattern catalog with fixes |
references/screenshots.md |
Screenshot-led debugging workflow |
references/status-lifecycle.md |
Run status states and guidance |
references/rerun-playbook.md |
Rerun procedures and comparison |
references/complex-inputs.md |
Date pickers, uploads, dropdowns |
references/tool-map.md |
Complete tool inventory by outcome |
references/cli-parity.md |
CLI/MCP mapping and agent-aware features |
references/quick-start-patterns.md |
Quick start examples, common patterns, and workflow templates |