Skip to main content

actionbook

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.

معلومات المصدر

المستودع
modbender/skill-library-mcp
آخر نشاط في المصدر
٦ مارس ٢٠٢٦ في ١٨:٣٣
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١٢
التفرعات
٣

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
actionbook
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.
## When to Use This Skill Activate when the user's request involves interacting with a website: 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) - Wants to control their existing Chrome browser (Extension mode) ## What Actionbook Provides Actionbook is a library of **pre-verified page interaction data**. `actionbook search` finds actions matching a task description; `actionbook get "<ID>"` returns a structured document describing a page's purpose, functional capabilities, and DOM structure with inline CSS selectors — eliminating the need for runtime page structure discovery. ## search and get ### search — Find actions by task description ```bash actionbook search "<query>" # Search by task intent actionbook search "<query>" --domain site.com # Filter by domain actionbook search "<query>" --url <url> # Filter by URL actionbook search "<query>" -p 2 -s 20 # Pagination ``` **Returns** for each result: - `ID` — use with `actionbook get "<ID>"` to retrieve full details - `Type` — `page` (full page) or `area` (page section) - `Description` — page overview and function summary - `URL` — page where this action applies - `Health Score` — selector reliability percentage (0–100%) - `Updated` — last verified date ### Constructing an effective search query The `query` string 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 (dates, location, category, language, etc.) **Rule of thumb:** Rewrite the user's request as a single descriptive sentence and use that as the query. | User says | Bad query | Good 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 the user provides extra context** (e.g., specific dates, a city name, a topic), fold it into the query even if it won't match a stored action literally — it helps the search engine rank relevant pages higher. ```bash # User: "Help me apply for a software engineer job on LinkedIn" actionbook search "linkedin job search apply software engineer application form" # User: "I need to search for machine learning papers on arXiv" actionbook search "arxiv advanced search papers machine learning subject category" ``` If `--domain` or `--url` is known, always add them — they narrow results and improve precision. ### get — Retrieve full action details by ID ```bash # Use the ID from search results directly actionbook get "arxiv.org:/search/advanced:default" ``` **Returns** a structured document with: 1. **Page URL** — exact URL and query/path parameters 2. **Page Overview** — what the page does 3. **Page Function Summary** — interactive capabilities (e.g., "Search Term Input", "Subject Classification Filtering") 4. **Page Structure Summary** — DOM hierarchy with CSS selectors inline Selectors appear embedded in the structure description, e.g.: ``` Search Term Form Section: Contains search term input field (input[type="text"]), field selector dropdown (select[name="searchtype"]), and submit button (button.Search) ``` Extract CSS selectors from the structure summary for use with browser commands. ## Browser Commands Quick reference. Full details with all flags and options: [command-reference.md](references/command-reference.md). ### Navigation ```bash actionbook browser open <url> # Open URL in new tab actionbook browser goto <url> # Navigate current page actionbook browser back / forward # History navigation actionbook browser reload # Reload page actionbook browser pages # List open tabs actionbook browser switch <page_id> # Switch tab actionbook browser close # Close browser ``` ### Interactions ```bash actionbook browser click "<selector>" # Click element actionbook browser fill "<selector>" "text" # Clear and type actionbook browser type "<selector>" "text" # Append text actionbook browser select "<selector>" "value" # Select dropdown option actionbook browser hover "<selector>" # Hover actionbook browser press Enter # Press key ``` ### Observation ```bash actionbook browser text # Full page text actionbook browser text "<selector>" # Element text actionbook browser snapshot # Accessibility tree (live page structure) actionbook browser screenshot # Save screenshot actionbook browser screenshot --full-page # Full page screenshot actionbook browser wait "<selector>" # Wait for element actionbook browser wait-nav # Wait for navigation ``` `actionbook browser close` cleans up the browser session. Skip if the user requests the browser remain open. ## Examples User request: "Search arXiv for papers about Neural Networks, search in titles only" ```bash # 1. Search — include the full intent: site + task + subject + filter preference actionbook search "arxiv advanced search papers neural network title field" --domain arxiv.org # 2. Get details — read Page Structure Summary for selectors actionbook get "arxiv.org:/search/advanced:default" # Response includes: input[type="text"], select[name="searchtype"], button.Search, etc. # 3. Automate using selectors from the response actionbook browser open "https://arxiv.org/search/advanced" actionbook browser fill "input[type='text']" "Neural Network" actionbook browser select "select[name='searchtype']" "title" actionbook browser click "button.Search" actionbook browser wait-nav actionbook browser text actionbook browser close ``` ## Fallback Actionbook stores page data captured at indexing time. Websites evolve, so selectors may become outdated. When a selector from `actionbook get` fails at runtime, `actionbook browser snapshot` provides the **live accessibility tree** with current selectors. Use selectors from the snapshot output to retry the interaction. Selectors used in browser commands should come from `actionbook get` or `actionbook browser snapshot` output in the current session — not from prior knowledge or memory. If `actionbook search` returns no results for a page, use `snapshot` as the primary source, or fall back to other available tools. ## References | Reference | Description | |-----------|-------------| | [command-reference.md](references/command-reference.md) | Complete command reference with all flags and options | | [authentication.md](references/authentication.md) | Login flows, OAuth, 2FA handling, session persistence |
عرض على GitHub