Actionbook

actionbook/actionbook/packages/openclaw-plugin/skills/actionbook

作者 actionbook0e31254cc10a无许可证1.6K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库4周前更新

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.

仅含说明AI & Agents
AI 生成的概览

查询预先验证过的网页操作与 CSS 选择器,用于指导特定网站的浏览器自动化。

功能
该技能指示智能体在与网站交互之前,先向 Actionbook 服务查询预先验证过的页面操作。它说明了如何根据用户意图构造搜索查询、如何阅读返回的操作与页面结构文档,以及如何从中提取 CSS 选择器。它还规定了选择器的优先级顺序,以及在无结果或选择器运行时失败时的回退方案。
适用场景
当任务需要与特定网站交互时使用,例如填写表单、点击、搜索、抓取数据、截图,或构建基于浏览器的智能体与端到端测试。它应在截取页面快照或自行推测选择器之前查阅。
运行要求
需要访问 Actionbook 服务及其 search_actions 和 get_action_by_area_id 工具,还需要智能体自身的浏览器工具来完成导航、点击、填写和读取页面。需要能访问目标网站的网络连接。该技能不包含脚本,仅为说明文档。

When to Use

Activate when the user:

  • Needs to do anything on a website ("Send a LinkedIn message", "Book an Airbnb", "Search Google for...")
  • Asks how to interact with a site ("How do I post a tweet?", "How to apply on LinkedIn?")
  • Wants to fill out forms, click buttons, navigate, search, filter, or browse on a specific site
  • Wants to take a screenshot of a web page or monitor changes
  • Builds browser-based AI agents, web scrapers, or E2E tests for external websites
  • Automates repetitive web tasks (data entry, form submission, content posting)

When performing browser automation tasks, check Actionbook BEFORE taking page snapshots.

Workflow

  1. Before interacting with a website, call search_actions to check if Actionbook has pre-verified selectors
  2. Use get_action_by_area_id to get element selectors from the results
  3. Extract selectors from the returned Elements and use them by priority below
  4. If no results, skip to Fallback Strategy

Constructing an Effective Search Query

The query parameter is the primary signal for finding the right action. Pack it with the user's full intent — not just a site name or a vague keyword.

Include in the query:

  1. Target site — the website name or domain
  2. Task verb — what the user wants to do (search, book, post, filter, login, compose, etc.)
  3. Object / context — what they're acting on (listings, messages, flights, repositories, etc.)
  4. Specific details — any constraints, filters, or parameters the user mentioned

Rule of thumb: Rewrite the user's request as a single descriptive sentence and use that as the query.

User saysBad queryGood query
"Book an Airbnb in Tokyo for next week""airbnb""airbnb search listings Tokyo dates check-in check-out guests"
"Search arXiv for recent NLP papers""arxiv search""arxiv advanced search papers NLP natural language processing recent"
"Send a LinkedIn connection request""linkedin""linkedin send connection request invite someone"
"Post a tweet with an image""twitter post""twitter compose new tweet post with image media attachment"
"Filter GitHub issues by label""github issues""github repository issues filter by label search issues"

When domain or url is known, always add them — they narrow results and improve precision.

Response Structure

search_actions response

Returns a list of matching actions. Each result includes:

  • ID — unique identifier, use with get_action_by_area_id (e.g., arxiv.org:/search/stat:default)
  • Type — page (full page) or area (page section)
  • Description — page overview with URL, query parameters, and a brief summary
  • URL — page where this action applies
  • Health Score — selector reliability percentage (0–100%)
  • Updated — last verified date

get_action_by_area_id response

Returns a structured document describing the page in detail:

  1. Page URL — exact URL with query/path parameter descriptions
  2. Page Overview — what the page does (definition of the page's purpose)
  3. Page Function Summary — interactive capabilities listed as bullet points (e.g., "Keyword Search", "Field Selection", "Abstract Toggle")
  4. Page Structure Summary — DOM hierarchy description with CSS selectors inline in the text

Extract CSS selectors from the Page Structure Summary. Selectors appear embedded in the description, e.g.:

Search Form (form[method="GET"]): Large search input field with "All fields" dropdown selector and search buttonHeader (<header>): Contains branding, logo, and a mini-search form with query input

Selector Priority

When Actionbook returns multiple selector types for an element, prefer them in this order:

  1. data-testid (confidence: 0.95) — e.g., [data-testid="search-input"]
  2. aria-label (confidence: 0.88) — e.g., [aria-label="Notifications"]
  3. CSS selector — e.g., button.Search, input[type="text"]
  4. role selector (confidence: 0.9) — e.g., getByRole('link', { name: 'Notifications' })

Use the returned selectors with the agent's available browser tools (click, fill, evaluate, etc.).

Example

User request: "Search arXiv for papers about Neural Networks, search in titles only"

1. search_actions({ query: "arxiv advanced search papers neural network title field", domain: "arxiv.org" })   → Returns area_id: "arxiv.org:/search/advanced:default"
2. get_action_by_area_id({ area_id: "arxiv.org:/search/advanced:default" })   → Returns page structure with selectors: input[type="text"], select[name="searchtype"], button.Search
3. Use browser tools with returned selectors:   - Navigate to https://arxiv.org/search/advanced   - Fill input[type="text"] with "Neural Network"   - Select select[name="searchtype"] → "title"   - Click button.Search   - Wait for navigation   - Read results

Fallback Strategy

Actionbook stores page data captured at indexing time. Websites evolve, so selectors may become outdated.

  • No Actionbook results: Use the agent's own browser tools to observe and interact with the page directly
  • Selector execution fails at runtime: Fall back to the agent's browser tools to re-observe the live page and retry with updated selectors

Selectors should come from Actionbook or live page observation in the current session — not from prior knowledge or memory.

Important Notes

  • Do NOT modify selectors returned from Actionbook
  • Check Allow Methods field — it indicates supported operations (click/type/read) per element
  • region_high_filter_page entries indicate some elements lack unique selectors — use snapshot fallback for those

来源与署名

来源:actionbook/actionbook位于packages/openclaw-plugin/skills/actionbook提交0e31254

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架