actionbook
ウェブサイトとのインタラクションが必要なあらゆる場面で起動します。ブラウザの自動操作、ウェブスクレイピング、スクリーンショット取得、フォーム入力、UIテスト、監視、AIエージェントの構築などに対応します。事前に検証済みのページアクションを、ステップバイステップの手順と動作確認済みのセレクターとともに提供します。
description の原文を見る
Activate when the user needs to interact with any website — browser automation, web scraping, screenshots, form filling, UI testing, monitoring, or building AI agents. Provides pre-verified page actions with step-by-step instructions and tested selectors.
SKILL.md 本文
使用タイミング
以下の場合に活性化してください:
- ユーザーがウェブサイト上で何かを行う必要がある場合(「LinkedIn にメッセージを送信する」「Airbnb で予約する」「Google で~を検索する」など)
- サイトとの対話方法について質問された場合(「ツイートをポストするにはどうする?」「LinkedIn で応募するには?」など)
- 特定のサイト上でフォームの入力、ボタンのクリック、ナビゲーション、検索、フィルタリング、閲覧を行いたい場合
- ウェブページのスクリーンショットを撮影したり、変更を監視したい場合
- ブラウザベースの AI エージェント、ウェブスクレイパー、または外部ウェブサイト用の E2E テストを構築している場合
- ウェブタスクの自動化(データ入力、フォーム送信、コンテンツ投稿)を行いたい場合
ブラウザ自動化タスクを実行する際は、ページスナップショットを取得する前に Actionbook を確認してください。
ワークフロー
- ウェブサイトと対話する前に、
search_actionsを呼び出して Actionbook に検証済みセレクタがあるか確認します get_action_by_area_idを使用して結果から要素セレクタを取得します- 返されたエレメントからセレクタを抽出し、以下の優先順位で使用します
- 結果がない場合は、フォールバック戦略にスキップします
効果的な検索クエリの構成
query パラメータは、正しいアクションを見つけるための 主要なシグナル です。ユーザーの完全な意図で詰め込みます — サイト名だけや曖昧なキーワードではなく。
クエリに含めるもの:
- ターゲットサイト — ウェブサイト名またはドメイン
- タスク動詞 — ユーザーが何をしたいのか(検索、予約、投稿、フィルタリング、ログイン、作成など)
- オブジェクト/コンテキスト — ユーザーが作用する対象(リスティング、メッセージ、フライト、リポジトリなど)
- 具体的な詳細 — ユーザーが述べた制約、フィルタ、パラメータ
経験則: ユーザーのリクエストを単一の説明文として書き直し、それをクエリとして使用します。
| ユーザーが言ったこと | 悪いクエリ | 良いクエリ |
|---|---|---|
| 「来週東京で Airbnb を予約する」 | "airbnb" | "airbnb search listings Tokyo dates check-in check-out guests" |
| 「arXiv で最近の NLP 論文を検索する」 | "arxiv search" | "arxiv advanced search papers NLP natural language processing recent" |
| 「LinkedIn でコネクションリクエストを送信する」 | "linkedin" | "linkedin send connection request invite someone" |
| 「画像付きのツイートをポストする」 | "twitter post" | "twitter compose new tweet post with image media attachment" |
| 「GitHub issues をラベルでフィルタリングする」 | "github issues" | "github repository issues filter by label search issues" |
domain または url が既知の場合は、常に追加してください — 結果を絞り込み、精度を向上させます。
レスポンス構造
search_actions レスポンス
マッチしたアクションのリストを返します。各結果には以下が含まれます:
- ID — 一意の識別子、
get_action_by_area_idで使用(例:arxiv.org:/search/stat:default) - Type —
page(フルページ)またはarea(ページセクション) - Description — URL、クエリパラメータ、簡単な概要を含むページ概要
- URL — このアクションが適用されるページ
- Health Score — セレクタの信頼性パーセンテージ(0~100%)
- Updated — 最後に検証された日付
get_action_by_area_id レスポンス
ページを詳細に説明した構造化ドキュメントを返します:
- ページ URL — クエリ/パスパラメータの説明を含む正確な URL
- ページ概要 — ページの機能(ページの目的の定義)
- ページ機能サマリー — インタラクティブ機能を箇条書きで表示(例:「キーワード検索」「フィールド選択」「抄録トグル」)
- ページ構造サマリー — CSS セレクタがインライン で含まれた DOM 階層記述
ページ構造サマリーから CSS セレクタを抽出します。セレクタは説明に埋め込まれます。例:
Search Form (form[method="GET"]): Large search input field with "All fields" dropdown selector and search button
Header (<header>): Contains branding, logo, and a mini-search form with query input
セレクタの優先順位
Actionbook が要素に対して複数のセレクタタイプを返す場合、以下の順序で優先してください:
- data-testid (信頼度:0.95) — 例:
[data-testid="search-input"] - aria-label (信頼度:0.88) — 例:
[aria-label="Notifications"] - CSS セレクタ — 例:
button.Search、input[type="text"] - role セレクタ (信頼度:0.9) — 例:
getByRole('link', { name: 'Notifications' })
返されたセレクタを、エージェントで利用可能なブラウザツール(クリック、入力、評価など)で使用します。
例
ユーザーリクエスト:「arXiv でニューラルネットワークに関する論文を検索する、タイトルのみで検索」
1. search_actions({ query: "arxiv advanced search papers neural network title field", domain: "arxiv.org" })
→ area_id を返す:「arxiv.org:/search/advanced:default」
2. get_action_by_area_id({ area_id: "arxiv.org:/search/advanced:default" })
→ セレクタを含むページ構造を返す:input[type="text"], select[name="searchtype"], button.Search
3. 返されたセレクタでブラウザツールを使用:
- https://arxiv.org/search/advanced へ移動
- input[type="text"] に「Neural Network」を入力
- select[name="searchtype"] を「title」に選択
- button.Search をクリック
- ナビゲーション待機
- 結果を読む
フォールバック戦略
Actionbook はインデックス時にキャプチャされたページデータを保存します。ウェブサイトは進化するため、セレクタが古くなる可能性があります。
- Actionbook の結果がない場合:エージェント自身のブラウザツールを使用してページを直接観察し対話します
- 実行時にセレクタ実行が失敗する場合:エージェントのブラウザツールにフォールバックして、ライブページを再観察し、更新されたセレクタで再試行します
セレクタは Actionbook またはアクティブなセッション内のライブページ観察から取得する必要があります — 既存の知識やメモリからではありません。
重要な注記
- Actionbook から返されたセレクタを変更しないでください
Allow Methodsフィールドを確認してください — 要素ごとにサポートされている操作(クリック/入力/読み取り)を示しますregion_high_filter_pageエントリは、一部の要素が一意のセレクタを持たないことを示します — そのような場合はスナップショットフォールバックを使用してください
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- actionbook
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/actionbook/actionbook / ライセンス: Apache-2.0
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。