#619 by GitHub stars
actionbook/actionbook
Let your AI agent get the sources behind logins and paywalls.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
packages/openclaw-plugin/skills/actionbook/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/actionbook-scraper/skills/actionbook-scraper/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/actionbook-scraper/skills/agent-browser/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/actionbook-web-test/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/article-exporter/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/arxiv-viewer/skills/arxiv-viewer/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/deep-research/skills/deep-research/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/json-ui-skill/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/rust-learner/skills/actionbook/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/rust-learner/skills/agent-browser/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
playground/rust-learner/skills/rust-learner/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
skills/actionbook/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
skills/active-research/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
skills/extract/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
20ed5b510ecb → 20ed5b510ecb
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → 20ed5b510ecb
No earlier version was observed for comparison.
Verified commit 20ed5b510ecbeee1cc7bf6861fc1d450eefe21d6
git clone --filter=blob:none --no-checkout https://github.com/actionbook/actionbook.git .hotskills/actionbook-actionbook && git -C .hotskills/actionbook-actionbook checkout --detach 20ed5b510ecbeee1cc7bf6861fc1d450eefe21d6
# Copy each selected skill directory from .hotskills/actionbook-actionbook into .claude/skills/<skill-name>/Heat
3.1- Star growth, last 7 daysAhead of 51% of tracked repositories
- Star growth, last 24 hoursAhead of 2% of tracked repositories
- Rank movement, last 7 daysAhead of 24% of tracked repositories
- Commits, last 30 daysAhead of 54% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- actionbook
packages/openclaw-plugin/skills/actionbook - actionbook-scraper
playground/actionbook-scraper/skills/actionbook-scraper - agent-browser
playground/actionbook-scraper/skills/agent-browser - actionbook-web-test
playground/actionbook-web-test - article-exporter
playground/article-exporter - arxiv-viewer
playground/arxiv-viewer/skills/arxiv-viewer - deep-research
playground/deep-research/skills/deep-research - json-ui
playground/json-ui-skill - actionbook
playground/rust-learner/skills/actionbook - agent-browser
playground/rust-learner/skills/agent-browser - rust-learner
playground/rust-learner/skills/rust-learner - actionbook
skills/actionbook - active-research
skills/active-research - extract
skills/extract
How it works
actionbook
When your agent uses it
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.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
1,388 tokensWhen the skill is activated
Reference documents
73,027 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use
- Workflow
- Constructing an Effective Search Query
- Response Structure
- Selector Priority
- Example
- Fallback Strategy
- Important Notes
Files
../../../../.claude-plugin/marketplace.jsonasset346 bytes../../../../.claude-plugin/plugin.jsonasset294 bytes../../../../mcp-servers.jsonasset96 bytesSKILL.mdcore6,117 bytes../../../../playground/actionbook-scraper/.claude-plugin/marketplace.jsonasset345 bytes../../../../playground/actionbook-scraper/.claude-plugin/plugin.jsonasset221 bytes../../../../playground/arxiv-viewer/.claude-plugin/marketplace.jsonasset395 bytes../../../../playground/arxiv-viewer/.claude-plugin/plugin.jsonasset690 bytes../../../../playground/arxiv-viewer/.mcp.jsonasset96 bytes../../../../playground/arxiv-viewer/agents/browser-fetcher.mddoc1,906 bytes../../../../playground/arxiv-viewer/agents/browser-fetcher.mddoc1,906 bytes../../../../playground/arxiv-viewer/agents/browser-fetcher.mddoc1,906 bytes../../../../playground/arxiv-viewer/agents/browser-fetcher.mddoc1,906 bytes../../../../playground/arxiv-viewer/agents/html-reader.mddoc2,787 bytes../../../../playground/arxiv-viewer/agents/html-reader.mddoc2,787 bytes../../../../playground/arxiv-viewer/agents/html-reader.mddoc2,787 bytes../../../../playground/arxiv-viewer/agents/html-reader.mddoc2,787 bytes../../../../playground/arxiv-viewer/agents/html-reader.mddoc2,787 bytes../../../../playground/arxiv-viewer/agents/html-reader.mddoc2,787 bytes../../../../playground/arxiv-viewer/agents/html-reader.mddoc2,787 bytes../../../../playground/arxiv-viewer/agents/paper-fetcher.mddoc1,118 bytes../../../../playground/arxiv-viewer/agents/paper-summarizer.mddoc3,575 bytes../../../../playground/arxiv-viewer/agents/paper-summarizer.mddoc3,575 bytes../../../../playground/arxiv-viewer/agents/paper-summarizer.mddoc3,575 bytes../../../../playground/arxiv-viewer/agents/paper-summarizer.mddoc3,575 bytes../../../../playground/arxiv-viewer/agents/paper-summarizer.mddoc3,575 bytes../../../../playground/arxiv-viewer/agents/search-executor.mddoc1,856 bytes../../../../playground/arxiv-viewer/commands/citations.mddoc1,570 bytes../../../../playground/arxiv-viewer/commands/download.mddoc1,180 bytes../../../../playground/arxiv-viewer/commands/figures.mddoc1,537 bytes../../../../playground/arxiv-viewer/commands/latest.mddoc1,435 bytes../../../../playground/arxiv-viewer/commands/outline.mddoc1,336 bytes../../../../playground/arxiv-viewer/commands/paper.mddoc1,050 bytes../../../../playground/arxiv-viewer/commands/read.mddoc1,849 bytes../../../../playground/arxiv-viewer/commands/report.mddoc2,448 bytes../../../../playground/arxiv-viewer/commands/search.mddoc1,738 bytes../../../../playground/arxiv-viewer/commands/trending.mddoc1,093 bytes../../../../playground/arxiv-viewer/skills/arxiv-viewer/SKILL.mddoc8,534 bytes../../../../playground/deep-research/.claude-plugin/marketplace.jsonasset375 bytes../../../../playground/deep-research/.claude-plugin/plugin.jsonasset1,148 bytes../../../../playground/deep-research/.mcp.jsonasset96 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/agents/researcher.mddoc7,647 bytes../../../../playground/deep-research/commands/analyze.mddoc2,756 bytes../../../../playground/deep-research/commands/analyze.mddoc2,756 bytes../../../../playground/deep-research/commands/analyze.mddoc2,756 bytes../../../../playground/deep-research/skills/deep-research/SKILL.mddoc29,442 bytes../../../../playground/rust-learner/.claude-plugin/plugin.jsonasset174 bytes../../../../skills/actionbook/SKILL.mddoc10,854 bytes../../../../skills/actionbook/references/authentication.mddoc5,399 bytes../../../../skills/actionbook/references/command-reference.mddoc28,603 bytes../../../../skills/active-research/SKILL.mddoc33,599 bytes../../../../skills/extract/SKILL.mddoc13,597 bytes
Read SKILL.md
## 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
View the complete source on GitHubactionbook-scraper
When your agent uses it
Generate and verify web scraper scripts using Actionbook's verified selectors. Auto-validates generated scripts and fixes errors.
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
4,417 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> CRITICAL: Two-Part Verification
- Default Output Format
- With --standalone Flag
- Verification Requirements
- Architecture Overview
- Tool Priority
- Workflow Rules
- Commands
- Data Flow
- Selector Data Structure
- Page Type Detection
- Output Formats
- Rate Limiting
- Examples
Files
SKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytesSKILL.mdcore19,656 bytes
Read SKILL.md
# Actionbook Scraper Skill
## ⚠<U+FE0F> CRITICAL: Two-Part Verification
**Every generated script MUST pass BOTH checks:**
| Check | What to Verify | Failure Example |
|-------|----------------|-----------------|
| **Part 1: Script Runs** | No errors, no timeouts | `Selector not found` |
| **Part 2: Data Correct** | Content matches expected | Extracted "Click to expand" instead of name |
```
┌─────────────────────────────────────────────────────┐
│ 1. Generate Script │View the complete source on GitHubagent-browser
When your agent uses it
Automates browser interactions for form filling and web page interaction. Used by the request-website command to submit website indexing requests.
What it loads into context
Frontmatter
32 tokensAlways available to the agent
SKILL.md
637 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick start
- Core workflow
- Commands
- Example: Form submission (request-website)
- Permission Required
Files
SKILL.mdcore2,689 bytesSKILL.mdcore2,689 bytesSKILL.mdcore2,689 bytesSKILL.mdcore2,689 bytesSKILL.mdcore2,689 bytesSKILL.mdcore2,689 bytesSKILL.mdcore2,689 bytesSKILL.mdcore2,689 bytes
Read SKILL.md
# Browser Automation with agent-browser
## Quick start
```bash
agent-browser open <url> # Navigate to page
agent-browser snapshot -i # Get interactive elements with refs
agent-browser click @e1 # Click element by ref
agent-browser fill @e2 "text" # Fill input by ref
agent-browser close # Close browser
```
## Core workflow
View the complete source on GitHubactionbook-web-test
When your agent uses it
Run browser-based web tests against websites using Actionbook CLI. Activate when the user wants to test a website workflow, run smoke tests, verify a user flow, check if a web application works, run regression tests, or validate browser-based interactions. Supports test definition, execution, assertion, reporting, and json-ui visual report generation.
What it loads into context
Frontmatter
75 tokensAlways available to the agent
SKILL.md
9,583 tokensWhen the skill is activated
Reference documents
15,377 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- What actionbook-web-test Provides
- Test Workflow Format
- Step Types
- Assertion Types
- Execution Flow
- Selector Strategy
- Advanced Selectors
- Result Reporting
- Report Generation
- Running Tests
- Auth State Management
- Snapshot-First Test Generation
- Device Emulation
- Console Error Monitoring
- Security Considerations
- References
Scripts executed separately
package.jsontests/generate-report.mjs
Files
README.mddoc7,750 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytesSKILL.mdcore38,732 bytespackage.jsonruns124 bytesreferences/assertion-types.mddoc18,665 bytesreferences/report-format.mddoc17,980 bytesreferences/workflow-format.mddoc17,405 bytestests/generate-report.mjsruns11,083 bytestests/reddit-ui-smoke.yamlasset4,314 bytes
Read SKILL.md
## When to Use This Skill
Activate when the user:
- Asks to "test", "verify", "check", or "validate" a website workflow
- Wants to run smoke tests or health checks on a web application
- Needs to verify a user flow works end-to-end (login, checkout, search, etc.)
- Asks to "run regression tests" or "does this still work?"
- Wants to confirm a deployment didn't break functionality
- Needs to monitor a website's functionality on a schedule
- Builds browser-based test suites without writing Playwright/Cypress code
## What actionbook-web-test Provides
View the complete source on GitHubarticle-exporter
When your agent uses it
Export any web article to a local Obsidian-ready Markdown directory. Fetches page content via actionbook CLI, downloads images locally, rewrites image references to relative paths, and optionally translates the article using AI. Produces a self-contained folder with README.md, images/, and an index.md navigation file.
What it loads into context
Frontmatter
212 tokensAlways available to the agent
SKILL.md
3,290 tokensWhen the skill is activated
Reference documents
6,027 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Lessons from Failed Exports
- Quick Reference
- Complete Export Workflow
- Common Issues
- Edge Cases Handled
- When Using This Skill
- References (Progressive Disclosure)
Files
SKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesSKILL.mdcore12,639 bytesTROUBLESHOOTING.mddoc12,480 bytesagents/openai.yamlasset564 bytesreferences/batch-export.mddoc1,512 bytesreferences/obsidian-setup.mddoc1,242 bytesreferences/supported-websites.mddoc2,058 bytesreferences/troubleshooting.mddoc2,613 bytesreferences/twitter-handling.mddoc2,329 bytes
Read SKILL.md
# Article Exporter - Export Articles to Obsidian
> **Version:** 0.5.0 | **Last Updated:** 2026-03-13
You are an expert at web content archiving and Obsidian workflow automation.
## Lessons from Failed Exports
These rules were extracted from real export failures. Each one prevents a specific class of error:
1. **Twitter/X needs AI reformatting** — `fetch` returns flat text because Twitter uses custom UI without semantic HTML. The AI reformatting step reconstructs headings, lists, and code blocks. See `references/twitter-handling.md`.
2. **Ask for output path first** — users have different vault locations. Assuming a default creates files in the wrong place and wastes time moving them.
3. **Check actionbook version >= 0.9.1** — the `--wait-hint` parameter was added in 0.9.1. Without it, dynamic content (SPAs, lazy-loaded pages) returns empty or partial results.
4. **Wait after navigation** — use `--wait-hint heavy` for Twitter, Medium, and other dynamic sites. Without it, the page hasn't finished rendering when content is extracted.View the complete source on GitHubarxiv-viewer
When your agent uses it
View, search, and download academic papers from arXiv. Supports API queries, web scraping via Actionbook, and HTML paper reading via ar5iv. Use when user asks about arxiv papers, academic papers, research papers, paper summaries, latest papers, or wants to search/download/read papers.
What it loads into context
Frontmatter
70 tokensAlways available to the agent
SKILL.md
2,136 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Architecture Overview
- Tool Priority
- Workflow Rules
- Data Sources
- URL Patterns
- arXiv ID Formats
- Common Categories
- Feature Matrix
- Output Formats
- Rate Limiting
Files
SKILL.mdcore8,534 bytes
Read SKILL.md
# arXiv Viewer
Access, search, download, and read academic papers from arXiv using a hybrid API + Actionbook approach.
## Architecture Overview
```
┌─────────────────────────────────────────────────────────────┐
│ arxiv-viewer │
├─────────────────┬─────────────────┬─────────────────────────┤
│ arXiv API │ arxiv.org Web │ ar5iv.org │
│ (WebFetch) │ (Actionbook) │ (Actionbook) │
├─────────────────┼─────────────────┼─────────────────────────┤
│ • Metadata │ • Latest list │ • Read sections │View the complete source on GitHubdeep-research
When your agent uses it
Deep research and analysis tool. Generates comprehensive HTML reports on any topic, domain, paper, or technology. Use when user asks to research, analyze, investigate, deep-dive, or generate a report on any subject. Supports academic papers (arXiv), technologies, trends, comparisons, and general topics.
What it loads into context
Frontmatter
70 tokensAlways available to the agent
SKILL.md
7,583 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Usage
- Architecture
- MUST USE Actionbook CLI
- Complete Workflow
- json-ui Report Template
- Academic Paper Support
- Error Handling
- Quality Guidelines
- Chinese Content Quality Guidelines (中文内容质量规范)
Files
SKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytesSKILL.mdcore29,442 bytes
Read SKILL.md
# Deep Research
Analyze any topic, domain, or paper and generate a beautiful HTML report using Actionbook browser automation and json-ui rendering.
## Usage
```
/deep-research:analyze <topic>
/deep-research:analyze <topic> --lang zh
/deep-research:analyze <topic> --output ./reports/my-report.json
```
Or simply tell Claude: "帮我深度研究 XXX 并生成报告" / "Research XXX and generate a report"
View the complete source on GitHubjson-ui
When your agent uses it
CRITICAL: Use for json-ui component rendering and development. Triggers on: json-ui, json render, component catalog, report render, HTML report, I18nString, i18n, bilingual, language switch, dual language, PaperHeader, AuthorList, Abstract, MetricsGrid, Section, Highlight, Zod schema, catalog.ts, cli.ts, components/index.tsx, "how to add a component", "how to render JSON", JSON 渲染, 组件目录, 报告渲染, 多语言, 中英文切换
What it loads into context
Frontmatter
129 tokensAlways available to the agent
SKILL.md
2,926 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Reference
- Documentation
- IMPORTANT: Documentation Completeness Check
- Architecture
- Component Catalog (38 types)
- I18n System
- Key Patterns
- Common Errors
- CRITICAL: Image Handling
- Chinese Translation Guidelines
- Build & CLI
- When Writing Code
Files
SKILL.mdcore11,141 bytesSKILL.mdcore11,141 bytesSKILL.mdcore11,141 bytesSKILL.mdcore11,141 bytesSKILL.mdcore11,141 bytesSKILL.mdcore11,141 bytes
Read SKILL.md
# json-ui
> **Version:** 1.0.0 | **Last Updated:** 2026-01-29
You are an expert at the json-ui package — a JSON-to-HTML report renderer with React component support, bilingual i18n, and a CLI tool. Help users by:
- **Writing components**: Add new component types following existing patterns
- **Rendering reports**: Generate HTML from JSON report definitions
- **Debugging**: Fix rendering, build, or i18n issues
- **Answering questions**: Explain architecture, component catalog, data flow
## Quick Reference
| Task | File | Pattern |
|------|------|---------|View the complete source on GitHubactionbook
When your agent uses it
Access pre-computed website action manuals containing page descriptions, functionality, DOM structure, and element selectors for browser automation. Use when you need CSS/XPath selectors for UI elements, building browser-based AI agents, or looking up how to interact with a website's UI.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
415 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow
- MCP Tools
- Example Response
Files
SKILL.mdcore1,750 bytesSKILL.mdcore1,750 bytes
Read SKILL.md
# Actionbook
Pre-computed action manuals for browser automation. Agents receive structured page information instead of parsing entire HTML.
## Workflow
1. **search_actions** - Search by keyword, returns URL-based action IDs with content previews
2. **get_action_by_id** - Get full action manual with page details, DOM structure, and element selectors
3. **Execute** - Use returned selectors with your browser automation tool
## MCP Tools
- `search_actions` - Search by keyword. Returns: URL-based action IDs, content previews, relevance scores
- `get_action_by_id` - Get full action details. Returns: action content, page element selectors (CSS/XPath), element types, allowed methods (click, type, extract), document metadataView the complete source on GitHubagent-browser
When your agent uses it
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
776 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick start
- Core workflow
- Commands
- Example: Form submission
Files
SKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytesSKILL.mdcore3,372 bytes
Read SKILL.md
# Browser Automation with agent-browser
## Quick start
```bash
agent-browser open <url> # Navigate to page
agent-browser snapshot -i # Get interactive elements with refs
agent-browser click @e1 # Click element by ref
agent-browser fill @e2 "text" # Fill input by ref
agent-browser close # Close browser
```
## Core workflow
View the complete source on GitHubrust-learner
When your agent uses it
Learn Rust language features and crate updates. Use when user asks about Rust version changelog, what's new in Rust, crate updates, Cargo.toml dependencies, tokio/serde/axum features, or any Rust ecosystem questions.
What it loads into context
Frontmatter
55 tokensAlways available to the agent
SKILL.md
445 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> Tool Priority & Waiting Rule
- Workflow
- Example
Files
SKILL.mdcore1,753 bytes
Read SKILL.md
# Rust Learner
Learn Rust by fetching real-time information about Rust language features and crate updates.
## ⚠<U+FE0F> Tool Priority & Waiting Rule
**Priority:**
1. ✅ `browser-fetcher` agent (preferred)
2. ⚠<U+FE0F> `Fetch` / `WebFetch` (only after all browser-fetcher agents fail)
3. ⚠<U+FE0F> `WebSearch` (only when search engine results are needed)
**⛔ No "Racing Ahead":**
- After launching browser-fetcher agents, **MUST wait for ALL of them to complete**
- **DO NOT** use WebSearch/Fetch as "supplements" while waitingView the complete source on GitHubactionbook
When your agent uses it
Browser action engine. Provides up-to-date action manuals for the modern web — operate any website instantly, one tab or dozens, concurrently.
What it loads into context
Frontmatter
161 tokensAlways available to the agent
SKILL.md
2,654 tokensWhen the skill is activated
Reference documents
8,077 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- How It Works
- Browser Automation
- Example: End-to-End
- Eval Input Sources
- Eval Error Handling
- CDP Error Handling
- Selectors
- Login Page Handling
- Session Cleanup
- HAR Recording
- References
Files
SKILL.mdcore10,854 bytesSKILL.mdcore10,854 bytesSKILL.mdcore10,854 bytesSKILL.mdcore10,854 bytesSKILL.mdcore10,854 bytesSKILL.mdcore10,854 bytesreferences/authentication.mddoc5,399 bytesreferences/command-reference.mddoc28,603 bytes
Read SKILL.md
## When to Use This Skill
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)
- Needs to operate multiple websites or tabs concurrently
## How It Works
Actionbook provides **up-to-date action manuals** for the modern web. Action manuals tell agents exactly what to do on a page — no parsing, no guessing.View the complete source on GitHubactive-research
When your agent uses it
Deep research and analysis tool. Generates comprehensive HTML reports on any topic, domain, paper, or technology. Enhanced with advanced browser automation — SPA handling, network idle wait, batch operations, stealth browsing, and intelligent page analysis. Use when user asks to research, analyze, investigate, deep-dive, or generate a report on any subject.
What it loads into context
Frontmatter
109 tokensAlways available to the agent
SKILL.md
8,373 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Enhanced Browser Capabilities
- Usage
- Architecture
- MUST USE Actionbook CLI
- Browser Flags — Research Defaults
- Navigation Pattern — ALWAYS Follow
- Complete Workflow
- Error Recovery Patterns
- Full Error Handling Reference
- Feature Usage Checklist
- json-ui Report Template
- Academic Paper Support
- Quality Guidelines
Files
SKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytesSKILL.mdcore33,599 bytes
Read SKILL.md
# Active Research
Analyze any topic, domain, or paper and generate a beautiful HTML report using **Actionbook Browser** — featuring SPA-aware navigation, network idle detection, batch operations, and intelligent page analysis.
## Enhanced Browser Capabilities
| Capability | Description |
|------------|-------------|
| Page load wait | `wait-idle` — monitors fetch/XHR until network settles |
| SPA content | `wait-fn` — wait for JS conditions before extracting |
| Page understanding | `snapshot --filter interactive --max-tokens N` — focused, budget-friendly |
| Popups blocking | `--auto-dismiss-dialogs` — auto-handle alert/confirm/prompt |
| Load speed | `--block-images` — skip images for faster text extraction |
| Page stability | `--no-animations` — freeze CSS transitions |View the complete source on GitHubextract
When your agent uses it
Extract structured data from websites and produce an executable Playwright script plus extracted data. Use when the user wants to scrape, extract, pull, collect, or harvest data from any website — product listings, tables, search results, feeds, profiles, or any repeating content.
What it loads into context
Frontmatter
60 tokensAlways available to the agent
SKILL.md
3,166 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When to Use This Skill
- Decision Strategy
- Mechanism-Aware Script Strategy
- Execution Chain
- Output Contract
- Selector Priority
- Error Handling
Files
SKILL.mdcore13,597 bytesSKILL.mdcore13,597 bytesSKILL.mdcore13,597 bytesSKILL.mdcore13,597 bytesSKILL.mdcore13,597 bytesSKILL.mdcore13,597 bytesSKILL.mdcore13,597 bytesSKILL.mdcore13,597 bytes
Read SKILL.md
## When to Use This Skill
Activate when the user wants to **obtain data** from a website:
- "Extract all product prices from this page"
- "Scrape the table of results from ..."
- "Pull the list of authors and titles from arXiv search results"
- "Collect all job listings from this page"
- "Get the data from this dashboard table"
- "Harvest review scores from ..."
- "Download all the links/images/cards from ..."
The deliverable is always **two artifacts**:
View the complete source on GitHubSkills included
- actionbook
- actionbook-scraper
- agent-browser
- actionbook-web-test
- article-exporter
- arxiv-viewer
- deep-research
- json-ui
- actionbook
- agent-browser
- rust-learner
- actionbook
- active-research
- extract
Repository facts
- License
- Apache-2.0
- Created
- Dec 28, 2025
- Last pushed
- Oct 19, 2026
- Forks
- 120
- Open issues
- 6
- Project activity
- Active
Rank over the last 12 weeks
Now #619 · best #448 · down 85 in 30 days
- #607 on Nov 2
- #613 on Nov 3
- #615 on Nov 4
- #616 on Nov 5
- #617 on Nov 6
- #619 since Nov 7
42 earlier periods
- #438 on Aug 1
- #425 on Aug 8
- #441 on Aug 10
- #448 on Aug 17
- #452 on Aug 18
- #461 on Aug 25
- #461 on Aug 28
- #453 on Aug 29
- #466 on Sep 2
- #460 on Sep 4
- #462 on Sep 5
- #471 on Sep 6
- #490 on Sep 15
- #495 on Sep 17
- #503 on Sep 18
- #493 on Sep 20
- #510 on Sep 22
- #492 on Sep 24
- #487 on Sep 26
- #507 on Sep 27
- #521 on Sep 29
- #507 on Oct 1
- #506 on Oct 2
- #491 on Oct 4
- #499 on Oct 5
- #517 on Oct 7
- #534 on Oct 8
- #523 on Oct 11
- #534 on Oct 12
- #536 on Oct 13
- #540 on Oct 14
- #535 on Oct 15
- #538 on Oct 16
- #533 on Oct 17
- #548 on Oct 19
- #554 on Oct 20
- #592 on Oct 25
- #597 on Oct 28
- #598 on Oct 29
- #603 on Oct 30
- #604 on Oct 31
- #606 on Nov 1
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 165 notes
playground/arxiv-viewer/agents/browser-fetcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/browser-fetcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/browser-fetcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/html-reader.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/html-reader.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/html-reader.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/html-reader.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/html-reader.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/html-reader.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/paper-summarizer.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/paper-summarizer.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/paper-summarizer.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/arxiv-viewer/agents/paper-summarizer.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/deep-research/agents/researcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/deep-research/agents/researcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/deep-research/agents/researcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/deep-research/agents/researcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/deep-research/agents/researcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/deep-research/agents/researcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplayground/deep-research/agents/researcher.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- 1 broad permissionin 1 file: article-exporter/SKILL.md:1
- 60 dangerous shell commandsin 9 files: actionbook-web-test/SKILL.md:93 actionbook-web-test/references/assertion-types.md:123 skills/actionbook/references/command-reference.md:142 and 6 more
- 453 network referencesin 40 files: skills/actionbook/references/command-reference.md:43 skills/active-research/SKILL.md:102 skills/actionbook/references/authentication.md:8 and 37 more
- No hidden or obfuscated text
- No instruction overrides
- 2 executable scriptsin 2 files: actionbook-web-test/package.json:1 actionbook-web-test/tests/generate-report.mjs:1
- 43 references to secretsin 5 files: skills/actionbook/references/command-reference.md:66 skills/actionbook/references/authentication.md:29 skills/actionbook/SKILL.md:12 and 2 more
- No requests to vote in Hot
Show all 559 signals by file
packages/openclaw-plugin/skills/actionbook/SKILL.md
playground/actionbook-scraper/.claude-plugin/marketplace.json
playground/actionbook-scraper/skills/actionbook-scraper/SKILL.md
- Network accessline 61
agent-browser open "https://example.com" - Network accessline 202
# Execute each command agent-browser open "https://example.com" - Network accessline 203
agent-browser open "https://example.com" - Network accessline 289
1. User: /actionbook-scraper:analyze https://example.com/page - Network accessline 299
User: /actionbook-scraper:generate https://example.com/page - Network accessline 309
agent-browser open "https://example.com/page" - Network accessline 332
agent-browser open "https://example.com/page" - Network accessline 352
User: /actionbook-scraper:generate https://example.com/page --standalone - Network accessline 391
1. User: /actionbook-scraper:request-website https://newsite.com/page - Network accessline 392
2. Launch website-requester agent (uses agent-browser) 3. Agent workflow: a. agent-browser open "https://actionbook.app/request-website" - Network accessline 393
3. Agent workflow: a. agent-browser open "https://actionbook.app/request-website" b. agent-browser snapshot -i (discover form selectors) - Network accessline 394
a. agent-browser open "https://actionbook.app/request-website" - Network accessline 395
b. agent-browser snapshot -i (discover form selectors) c. agent-browser type <url-field> "https://newsite.com/page" d. agent-browser type <email-field> (optional) - Network accessline 396
c. agent-browser type <url-field> "https://newsite.com/page" - Network accessline 410
{ "url": "https://example.com/page", - Network accessline 411
"url": "https://example.com/page", - Network accessline 536
# Open a URL agent-browser open "https://actionbook.app/request-website" - Network accessline 537
agent-browser open "https://actionbook.app/request-website" - Network accessline 542
# Type into form field agent-browser type "input[name='url']" "https://example.com" - Network accessline 543
agent-browser type "input[name='url']" "https://example.com" - Network accessline 557
agent-browser open "https://actionbook.app/request-website" - Network accessline 575
/actionbook-scraper:generate https://firstround.com/companies - Network accessline 579
agent-browser open "https://firstround.com/companies" - Network accessline 590
/actionbook-scraper:generate https://firstround.com/companies --standalone - Network accessline 603
/actionbook-scraper:analyze https://example.com/products - Network accessline 613
/actionbook-scraper:request-website https://newsite.com/data
playground/actionbook-scraper/skills/agent-browser/SKILL.md
- Network accessline 66
# Open Actionbook request page agent-browser open "https://actionbook.app/request-website" - Network accessline 67
agent-browser open "https://actionbook.app/request-website" - Network accessline 73
# Fill form agent-browser fill @e1 "https://example.com/products" - Network accessline 74
agent-browser fill @e1 "https://example.com/products"
playground/actionbook-web-test/README.md
- Network accessline 16
- [Actionbook CLI](https://github.com/actionbook/actionbook) installed and authenticated - Network accessline 25
name: reddit-ui-smoke description: Verify Reddit sidebar toggle and search url: https://www.reddit.com - Network accessline 26
description: Verify Reddit sidebar toggle and search url: https://www.reddit.com tags: [smoke, reddit] - Network accessline 27
url: https://www.reddit.com - Network accessline 36
- name: Open Reddit action: open url: "https://www.reddit.com" - Network accessline 38
url: "https://www.reddit.com" - Network accessline 85
"viewport": "1280x720", "profile": "default", "target": "https://chatgpt.com" - Network accessline 86
"profile": "default", "target": "https://chatgpt.com" }, - Network accessline 87
"target": "https://chatgpt.com" - Network accessline 95
"summary": "Verified sending a message and receiving a response.", "steps": [ { "name": "Open ChatGPT", "status": "passed", "command": "browser open https://chatgpt.com", "duration": 1200 }, - Network accessline 96
"steps": [ { "name": "Open ChatGPT", "status": "passed", "command": "browser open https://chatgpt.com", "duration": 1200 }, { "name": "Type message", "status": "passed", "command": "browser fill \"#prompt-textarea\" \"hello\ - Network accessline 97
{ "name": "Open ChatGPT", "status": "passed", "command": "browser open https://chatgpt.com", "duration": 1200 },
playground/actionbook-web-test/SKILL.md
- Network accessline 36
name: example-test description: What this test verifies url: https://example.com - Network accessline 37
description: What this test verifies url: https://example.com tags: [smoke, critical] - Network accessline 38
url: https://example.com - Network accessline 59
- name: Open page action: open url: "https://example.com" - Network accessline 61
url: "https://example.com" - Dangerous shell operationline 93
| `eval` | `actionbook browser eval "expression"` | `expression` | - Dangerous shell operationline 122
| `url-contains` | Current URL contains string | `browser eval "location.href"` | - Dangerous shell operationline 123
| `url-equals` | Current URL exactly matches | `browser eval "location.href"` | - Dangerous shell operationline 125
| `element-not-exists` | Element NOT present | `browser eval "!document.querySelector(...)"` | - Dangerous shell operationline 128
| `element-count` | Element count matches condition | `browser eval "querySelectorAll(...).length"` | - Dangerous shell operationline 129
| `attribute-equals` | Element attribute matches | `browser eval "getAttribute(...)"` | - Dangerous shell operationline 130
| `attribute-contains` | Attribute contains substring | `browser eval "getAttribute(...)"` | - Dangerous shell operationline 131
| `page-title-contains` | Page title contains string | `browser eval "document.title"` | - Dangerous shell operationline 132
| `eval-truthy` | JS expression evaluates truthy | `browser eval "<expression>"` | - Dangerous shell operationline 242
**Smart Waits**: Always prefer `wait-fn` over `eval "setTimeout"`: - Dangerous shell operationline 246
actionbook browser eval "new Promise(r => setTimeout(r, 800))" - Dangerous shell operationline 339
actionbook browser eval "document.querySelector('host-element').shadowRoot.querySelector('button.inner').click()" - Dangerous shell operationline 342
actionbook browser eval "document.querySelector('host-element').shadowRoot.querySelector('.label').textContent" - Dangerous shell operationline 360
| `wait-idle` not supported | Use `wait "<selector>"` with timeout, or `wait-fn "<condition>"` for state changes. Only use `eval "new Promise(r => setTimeout(r, N))"` as last resort for pure animation delays. | - Network accessline 368
- name: Navigate to search results action: open url: "https://www.reddit.com/search/?q=actionbook" - Network accessline 370
url: "https://www.reddit.com/search/?q=actionbook" - Dangerous shell operationline 379
actionbook browser eval "document.querySelector('iframe#payment').contentDocument.querySelector('button.pay').click()" - Dangerous shell operationline 382
actionbook browser eval "document.querySelector('iframe#payment').contentDocument.querySelector('.total').textContent" - Network accessline 557
"numbered": true, "items": [ { "title": "Open Google", "badge": "PASS", "description": "`browser open https://google.com` (0.5s)" }, - Network accessline 558
"items": [ { "title": "Open Google", "badge": "PASS", "description": "`browser open https://google.com` (0.5s)" }, { "title": "Verify search box", "badge": "PASS", "description": "`browser wait \"input[name='q']\ - Network accessline 559
{ "title": "Open Google", "badge": "PASS", "description": "`browser open https://google.com` (0.5s)" }, - Network accessline 593
"numbered": true, "items": [ { "title": "Open login page", "badge": "PASS", "description": "`browser open https://app.example.com/login` (0.8s)" }, - Network accessline 594
"items": [ { "title": "Open login page", "badge": "PASS", "description": "`browser open https://app.example.com/login` (0.8s)" }, { "title": "Fill username", "badge": "PASS", "description": "`browser fill \"#emai - Network accessline 595
{ "title": "Open login page", "badge": "PASS", "description": "`browser open https://app.example.com/login` (0.8s)" }, - Network accessline 724
"numbered": true, "items": [ { "title": "Open login page", "badge": "PASS", "description": "browser open https://app.example.com/login (0.8s)" }, - Network accessline 725
"items": [ { "title": "Open login page", "badge": "PASS", "description": "browser open https://app.example.com/login (0.8s)" }, { "title": "Fill username", "badge": "PASS", "description": "browser fill \"#email\" \"test@ - Network accessline 726
{ "title": "Open login page", "badge": "PASS", "description": "browser open https://app.example.com/login (0.8s)" }, - Network accessline 784
# Use a named profile — cookies and storage persist across sessions actionbook --profile myapp browser open "https://app.example.com/login" - Network accessline 785
actionbook --profile myapp browser open "https://app.example.com/login" - Network accessline 787
# After login (manual or automated), the profile saves cookies/storage automatically # Next run with the same profile reuses the session actionbook --profile myapp browser open "https://app.example.com/dashboard" - Network accessline 789
actionbook --profile myapp browser open "https://app.example.com/dashboard" - Network accessline 806
condition: url-not-contains "/dashboard" action: open url: "https://app.example.com/login" - Network accessline 807
action: open url: "https://app.example.com/login" # ... login steps follow - Network accessline 808
url: "https://app.example.com/login" - Access to secretsline 816
[Credential-related source omitted] - Access to secretsline 819
[Credential-related source omitted] - Access to secretsline 822
[Credential-related source omitted] - Access to secretsline 828
[Credential-related source omitted] - Network accessline 841
# 1. Open the target page actionbook browser open "https://example.com/pricing" - Network accessline 842
actionbook browser open "https://example.com/pricing" - Network accessline 868
# Auto-generated from snapshot of https://example.com/pricing - Network accessline 869
name: pricing-page-smoke description: Verify pricing page loads with key elements and interactions url: https://example.com/pricing - Network accessline 870
description: Verify pricing page loads with key elements and interactions url: https://example.com/pricing tags: [smoke, auto-generated] - Network accessline 871
url: https://example.com/pricing - Network accessline 875
- name: Open pricing page action: open url: "https://example.com/pricing" - Network accessline 877
url: "https://example.com/pricing"
playground/actionbook-web-test/package.json
- Executable scriptline 1
Executable file
playground/actionbook-web-test/references/assertion-types.md
- Dangerous shell operationline 123
**CLI mapping:** `actionbook browser eval "window.location.href"` — runner checks if output contains `value`. - Dangerous shell operationline 146
**CLI mapping:** `actionbook browser eval "window.location.href"` — runner compares output to `value`. - Network accessline 150
- type: url-equals value: "https://app.example.com/dashboard" - Network accessline 151
value: "https://app.example.com/dashboard" - Network accessline 154
**Edge cases:** - Trailing slashes matter. `https://example.com` does not equal `https://example.com/`. - Network accessline 155
- Trailing slashes matter. `https://example.com` does not equal `https://example.com/`. - Dangerous shell operationline 171
**CLI mapping:** `actionbook browser eval "window.location.href"` — runner tests output against regex. - Network accessline 175
- type: url-matches pattern: "^https://app\\.example\\.com/users/[0-9]+/profile$" - Network accessline 176
pattern: "^https://app\\.example\\.com/users/[0-9]+/profile$" - Network accessline 178
# Case-insensitive URL match - type: url-matches pattern: "^https://app\\.example\\.com/dashboard" - Network accessline 179
- type: url-matches pattern: "^https://app\\.example\\.com/dashboard" flags: "i" - Network accessline 180
pattern: "^https://app\\.example\\.com/dashboard" - Dangerous shell operationline 201
**CLI mapping:** `actionbook browser eval "document.querySelector('<selector>') !== null"` — runner checks for truthy return. - Dangerous shell operationline 224
**CLI mapping:** `actionbook browser eval "document.querySelector('<selector>') === null"` — runner checks for truthy return. - Dangerous shell operationline 247
**CLI mapping:** `actionbook browser eval "(() => { const el = document.querySelector('<selector>'); if (!el) return false; const r = el.getBoundingClientRect(); return r.width > 0 && r.height > 0 && getComputedStyle(el).display !== 'none' - Dangerous shell operationline 296
**CLI mapping:** `actionbook browser eval "document.querySelectorAll('<selector>').length"` — runner compares count against `value` using `operator`. - Dangerous shell operationline 330
**CLI mapping:** `actionbook browser eval "document.querySelector('<selector>')?.getAttribute('<attribute>')"` — runner compares output to `value`. - Dangerous shell operationline 357
**CLI mapping:** `actionbook browser eval "document.querySelector('<selector>')?.getAttribute('<attribute>')"` — runner checks if output contains `value`. - Dangerous shell operationline 388
**CLI mapping:** `actionbook browser eval "document.title"` — runner checks if output contains `value`. - Dangerous shell operationline 407
**CLI mapping:** `actionbook browser eval "document.title"` — runner compares output to `value`. - Dangerous shell operationline 428
**CLI mapping:** `actionbook browser eval "<expression>"` — runner checks if return value is truthy. - Access to secretsline 436
[Credential-related source omitted] - Dangerous shell operationline 559
**CLI mapping:** `actionbook browser eval "performance.timing.loadEventEnd - performance.timing.navigationStart"` (varies by metric) — runner checks if measured time is under `value`.
playground/actionbook-web-test/references/report-format.md
- Network accessline 389
"numbered": true, "items": [ { "title": "Open homepage", "badge": "PASS", "description": "`browser open https://example.com` (0.5s)" }, - Network accessline 390
"items": [ { "title": "Open homepage", "badge": "PASS", "description": "`browser open https://example.com` (0.5s)" }, { "title": "Verify heading", "badge": "PASS", "description": "assert text-contains \"Welcome\" - Network accessline 391
{ "title": "Open homepage", "badge": "PASS", "description": "`browser open https://example.com` (0.5s)" }, - Network accessline 479
"numbered": true, "items": [ { "title": "Open homepage", "badge": "PASS", "description": "`browser open https://app.example.com` (0.5s)" }, - Network accessline 480
"items": [ { "title": "Open homepage", "badge": "PASS", "description": "`browser open https://app.example.com` (0.5s)" }, { "title": "Verify hero section", "badge": "PASS", "description": "`browser wait \".hero\" - Network accessline 481
{ "title": "Open homepage", "badge": "PASS", "description": "`browser open https://app.example.com` (0.5s)" }, - Network accessline 515
"numbered": true, "items": [ { "title": "Open login page", "badge": "PASS", "description": "`browser open https://app.example.com/login` (0.8s)" }, - Network accessline 516
"items": [ { "title": "Open login page", "badge": "PASS", "description": "`browser open https://app.example.com/login` (0.8s)" }, { "title": "Fill username", "badge": "PASS", "description": "`browser fill \"#emai - Network accessline 517
{ "title": "Open login page", "badge": "PASS", "description": "`browser open https://app.example.com/login` (0.8s)" },
playground/actionbook-web-test/references/workflow-format.md
- Network accessline 25
name: Google search smoke test description: Verify Google search returns results for a known query url: https://www.google.com - Network accessline 26
description: Verify Google search returns results for a known query url: https://www.google.com tags: [smoke] - Network accessline 27
url: https://www.google.com - Dangerous shell operationline 97
| `eval` | `expression` | `actionbook browser eval "<expression>"` | Execute JavaScript | - Network accessline 132
env: BASE_URL: https://staging.example.com - Network accessline 133
BASE_URL: https://staging.example.com - Network accessline 228
- name: Navigate to dashboard action: goto url: https://app.example.com/dashboard - Network accessline 229
action: goto url: https://app.example.com/dashboard condition: url-not-contains "/dashboard" - Network accessline 230
url: https://app.example.com/dashboard - Network accessline 261
name: Search results validation description: Verify search returns relevant results for multiple queries url: https://example.com/search - Network accessline 262
description: Verify search returns relevant results for multiple queries url: https://example.com/search tags: [smoke, search] - Network accessline 263
url: https://example.com/search - Network accessline 302
- name: Navigate to {{matrix.path}} action: goto url: "https://example.com{{matrix.path}}" - Network accessline 304
url: "https://example.com{{matrix.path}}" - Network accessline 365
name: E-commerce checkout flow description: Verify a user can search for a product, add to cart, and reach checkout url: https://shop.example.com - Network accessline 366
description: Verify a user can search for a product, add to cart, and reach checkout url: https://shop.example.com tags: [e2e, checkout, critical] - Network accessline 367
url: https://shop.example.com
playground/actionbook-web-test/tests/generate-report.mjs
- Executable scriptline 1
#!/usr/bin/env node - Network accessline 269
viewport: '1280x720', profile: 'default', target: 'https://example.com', - Network accessline 270
profile: 'default', target: 'https://example.com', }, - Network accessline 271
target: 'https://example.com', - Network accessline 279
summary: 'Verify example.com loads with expected content.', steps: [ { name: 'Open page', status: 'passed', command: 'browser open https://example.com', duration: 800 }, - Network accessline 280
steps: [ { name: 'Open page', status: 'passed', command: 'browser open https://example.com', duration: 800 }, { name: 'Verify heading', status: 'passed', command: null, duration: 200, assertion: true }, - Network accessline 281
{ name: 'Open page', status: 'passed', command: 'browser open https://example.com', duration: 800 },
playground/actionbook-web-test/tests/reddit-ui-smoke.yaml
- Network accessline 20
name: reddit-ui-smoke description: Verify Reddit homepage, navigation, feed, and search at narrow viewport url: https://www.reddit.com - Network accessline 21
description: Verify Reddit homepage, navigation, feed, and search at narrow viewport url: https://www.reddit.com tags: [smoke, reddit, ui] - Network accessline 22
url: https://www.reddit.com - Network accessline 35
- name: Open Reddit homepage action: open url: "https://www.reddit.com" - Network accessline 37
url: "https://www.reddit.com" - Network accessline 98
- name: Navigate to search results page action: open url: "https://www.reddit.com/search/?q=actionbook" - Network accessline 100
url: "https://www.reddit.com/search/?q=actionbook" - Network accessline 130
- name: Navigate to r/programming action: open url: "https://www.reddit.com/r/programming/" - Network accessline 132
url: "https://www.reddit.com/r/programming/"
playground/article-exporter/SKILL.md
- Broad permissionsline 1
Bash(curl:*) - Network accessline 188
for url in $IMAGE_URLS; do ext=$(echo "$url" | grep -oE '\.(jpg|jpeg|png|gif|webp|svg)' || echo ".jpg") curl -L -s "$url" -o "$ARTICLE_DIR/images/image_${counter}${ext}" - Network accessline 190
curl -L -s "$url" -o "$ARTICLE_DIR/images/image_${counter}${ext}" - Network accessline 193
if [ ! -s "$ARTICLE_DIR/images/image_${counter}${ext}" ]; then # Try alternative format (Twitter) curl -L -s "${url}?format=jpg&name=orig" -o "$ARTICLE_DIR/images/image_${counter}.jpg" - Network accessline 194
# Try alternative format (Twitter) curl -L -s "${url}?format=jpg&name=orig" -o "$ARTICLE_DIR/images/image_${counter}.jpg" fi - Network accessline 195
curl -L -s "${url}?format=jpg&name=orig" -o "$ARTICLE_DIR/images/image_${counter}.jpg" - Network accessline 206
**Rules:** - Use `curl -L` to follow redirects - Network accessline 207
- Use `curl -L` to follow redirects - Dangerous shell operationline 228
rm /tmp/article.md.bak
playground/article-exporter/TROUBLESHOOTING.md
- Network accessline 51
# 2. Test network curl -I https://example.com - Network accessline 52
curl -I https://example.com - Dangerous shell operationline 118
**Cause**: Need sudo for global npm install OR npm prefix not configured - Dangerous shell operationline 122
**Solution A**: Use sudo (quick fix) - Dangerous shell operationline 124
sudo npm install -g @actionbookdev/cli - Network accessline 165
# Original URL fails curl "$url" -o image.jpg # 0 bytes - Network accessline 166
curl "$url" -o image.jpg # 0 bytes - Network accessline 168
# Try JPG format parameter curl "${url}?format=jpg&name=orig" -o image.jpg - Network accessline 169
curl "${url}?format=jpg&name=orig" -o image.jpg - Network accessline 171
# Try PNG format curl "${url}?format=png&name=orig" -o image.png - Network accessline 172
curl "${url}?format=png&name=orig" -o image.png - Network accessline 174
# Try with user-agent header curl -A "Mozilla/5.0" "$url" -o image.jpg - Network accessline 175
curl -A "Mozilla/5.0" "$url" -o image.jpg - Network accessline 180
# Test image URL manually curl -I "$IMAGE_URL" - Network accessline 181
curl -I "$IMAGE_URL" - Network accessline 184
# If 403, add headers curl -H "Referer: $ARTICLE_URL" "$IMAGE_URL" -o test.jpg - Network accessline 185
curl -H "Referer: $ARTICLE_URL" "$IMAGE_URL" -o test.jpg - Network accessline 192
# Add delay between downloads for url in $IMAGE_URLS; do curl "$url" -o "image_${counter}.jpg" - Network accessline 193
for url in $IMAGE_URLS; do curl "$url" -o "image_${counter}.jpg" sleep 2 # Wait 2 seconds between requests - Network accessline 194
curl "$url" -o "image_${counter}.jpg" - Dangerous shell operationline 303
rm -rf "$ARTICLE_DIR" - Dangerous shell operationline 446
rm -rf ~/Work/Write/Articles/old-articles/ - Network accessline 478
# Test connectivity curl -v https://medium.com - Network accessline 479
curl -v https://medium.com - Network accessline 508
1. **Run dependency check**: `actionbook --version` 2. **Check network**: `curl -I https://example.com` - Network accessline 509
2. **Check network**: `curl -I https://example.com` - Network accessline 515
- **GitHub Issues**: https://github.com/actionbook/actionbook/issues - Network accessline 516
- **Discussions**: https://github.com/actionbook/actionbook/discussions - Network accessline 535
# Network test curl -I <url> - Network accessline 536
curl -I <url> - Network accessline 545
1. ✅ Verify `actionbook` CLI is installed: `actionbook --version` 2. ✅ Check network connectivity: `curl -I https://example.com` - Network accessline 546
2. ✅ Check network connectivity: `curl -I https://example.com`
playground/article-exporter/references/batch-export.md
- Network accessline 16
# Create array of URLs urls=( "https://medium.com/@author/post1" - Network accessline 17
urls=( "https://medium.com/@author/post1" "https://dev.to/author/post2" - Network accessline 18
"https://medium.com/@author/post1" - Network accessline 19
"https://dev.to/author/post2" - Network accessline 20
"https://x.com/user/status/123"
playground/article-exporter/references/troubleshooting.md
playground/arxiv-viewer/.claude-plugin/marketplace.json
playground/arxiv-viewer/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Actionbook", "url": "https://github.com/actionbook/actionbook" - Network accessline 6
"name": "Actionbook", "url": "https://github.com/actionbook/actionbook" }, - Network accessline 7
"url": "https://github.com/actionbook/actionbook" - Network accessline 9
"repository": { "type": "git", "url": "https://github.com/actionbook/actionbook", - Network accessline 10
"type": "git", "url": "https://github.com/actionbook/actionbook", "directory": "playground/arxiv-viewer" - Network accessline 11
"url": "https://github.com/actionbook/actionbook",
playground/arxiv-viewer/agents/browser-fetcher.md
- Network accessline 41
# Open latest papers page agent-browser open "https://arxiv.org/list/cs.CL/recent" - Network accessline 42
agent-browser open "https://arxiv.org/list/cs.CL/recent" - Network accessline 57
# Open search results agent-browser open "https://arxiv.org/search/?query=transformer&searchtype=all" - Network accessline 58
agent-browser open "https://arxiv.org/search/?query=transformer&searchtype=all"
playground/arxiv-viewer/agents/html-reader.md
- Network accessline 41
agent-browser open "https://ar5iv.org/html/2301.07041" - Network accessline 49
agent-browser open "https://ar5iv.org/html/2301.07041" - Network accessline 57
agent-browser open "https://ar5iv.org/html/2301.07041" - Network accessline 65
agent-browser open "https://ar5iv.org/html/2301.07041"
playground/arxiv-viewer/agents/paper-fetcher.md
playground/arxiv-viewer/agents/paper-summarizer.md
- Network accessline 21
1. Build PDF URL: `https://arxiv.org/pdf/{arxiv_id}.pdf` 2. Download PDF using `Bash(curl)`: - Network accessline 24
curl -L -o /tmp/{arxiv_id}.pdf https://arxiv.org/pdf/{arxiv_id}.pdf - Network accessline 35
curl -L -o /tmp/{arxiv_id}.pdf https://arxiv.org/pdf/{arxiv_id}.pdf - Network accessline 94
| Field | Content | |-------|---------| | arXiv ID | [{id}](https://arxiv.org/abs/{id}) | - Network accessline 95
|-------|---------| | arXiv ID | [{id}](https://arxiv.org/abs/{id}) | | Authors | {authors} | - Network accessline 96
| arXiv ID | [{id}](https://arxiv.org/abs/{id}) | - Network accessline 159
- 📄 [arXiv Abstract](https://arxiv.org/abs/{id}) - 📥 [PDF Download](https://arxiv.org/pdf/{id}.pdf) - Network accessline 160
- 📥 [PDF Download](https://arxiv.org/pdf/{id}.pdf) - Network accessline 161
- 🌐 [HTML Version](https://ar5iv.org/html/{id})
playground/arxiv-viewer/agents/search-executor.md
- Network accessline 21
- Replace spaces with `+` - Encode special characters 2. Construct full URL: `http://export.arxiv.org/api/query?search_query={query}&max_results={max}&sortBy={sort}` - Network accessline 22
- Encode special characters 2. Construct full URL: `http://export.arxiv.org/api/query?search_query={query}&max_results={max}&sortBy={sort}` 3. Use `WebFetch` to fetch the API response - Network accessline 23
2. Construct full URL: `http://export.arxiv.org/api/query?search_query={query}&max_results={max}&sortBy={sort}` 3. Use `WebFetch` to fetch the API response 4. Parse XML to extract entries - Network accessline 31
# Simple title search http://export.arxiv.org/api/query?search_query=ti:transformer&max_results=10 - Network accessline 32
http://export.arxiv.org/api/query?search_query=ti:transformer&max_results=10 - Network accessline 34
# Author search http://export.arxiv.org/api/query?search_query=au:hinton&max_results=10 - Network accessline 35
http://export.arxiv.org/api/query?search_query=au:hinton&max_results=10 - Network accessline 37
# Combined with category http://export.arxiv.org/api/query?search_query=ti:attention+AND+cat:cs.CL&max_results=10 - Network accessline 38
http://export.arxiv.org/api/query?search_query=ti:attention+AND+cat:cs.CL&max_results=10 - Network accessline 40
# Sorted by date http://export.arxiv.org/api/query?search_query=cat:cs.LG&sortBy=submittedDate&sortOrder=descending&max_results=20 - Network accessline 41
http://export.arxiv.org/api/query?search_query=cat:cs.LG&sortBy=submittedDate&sortOrder=descending&max_results=20
playground/arxiv-viewer/commands/citations.md
- Network accessline 28
1. `search_actions("ar5iv bibliography")` → get action ID 2. `get_action_by_id(action_id)` → get citation selectors 3. `agent-browser open https://ar5iv.org/html/{arxiv_id}` - Network accessline 29
2. `get_action_by_id(action_id)` → get citation selectors 3. `agent-browser open https://ar5iv.org/html/{arxiv_id}` 4. `agent-browser get text ".ltx_bibliography"` - Network accessline 30
3. `agent-browser open https://ar5iv.org/html/{arxiv_id}`
playground/arxiv-viewer/commands/download.md
- Network accessline 13
- `arxiv_id` (required): arXiv paper ID or URL - ID formats: `2301.07041`, `2301.07041v2` - URL formats: `https://arxiv.org/abs/2301.07041` - Network accessline 14
- ID formats: `2301.07041`, `2301.07041v2` - URL formats: `https://arxiv.org/abs/2301.07041` - `directory` (optional): Target directory (default: current directory) - Network accessline 15
- URL formats: `https://arxiv.org/abs/2301.07041` - Network accessline 27
# Download from URL /arxiv-viewer:download https://arxiv.org/abs/2301.07041 ~/research/papers - Network accessline 28
/arxiv-viewer:download https://arxiv.org/abs/2301.07041 ~/research/papers - Network accessline 33
1. **Parse input** - Extract arXiv ID from URL or use directly 2. **Create directory** - If specified directory doesn't exist, create it 3. **Download PDF** - Use `curl -L` to download from `https://arxiv.org/pdf/{id}.pdf` - Network accessline 34
2. **Create directory** - If specified directory doesn't exist, create it 3. **Download PDF** - Use `curl -L` to download from `https://arxiv.org/pdf/{id}.pdf` 4. **Confirm download** - Report file location and size - Network accessline 35
3. **Download PDF** - Use `curl -L` to download from `https://arxiv.org/pdf/{id}.pdf` - Network accessline 48
- PDFs are named `{arxiv_id}.pdf` (e.g., `2301.07041.pdf`) - Version suffix is preserved (e.g., `2301.07041v2.pdf`) - Use `-L` flag with curl to follow redirects - Network accessline 50
- Use `-L` flag with curl to follow redirects
playground/arxiv-viewer/commands/figures.md
- Network accessline 28
1. `search_actions("ar5iv figure")` → get action ID 2. `get_action_by_id(action_id)` → get figure selectors 3. `agent-browser open https://ar5iv.org/html/{arxiv_id}` - Network accessline 29
2. `get_action_by_id(action_id)` → get figure selectors 3. `agent-browser open https://ar5iv.org/html/{arxiv_id}` 4. `agent-browser get text "figure.ltx_figure"` - Network accessline 30
3. `agent-browser open https://ar5iv.org/html/{arxiv_id}`
playground/arxiv-viewer/commands/latest.md
- Network accessline 28
1. `search_actions("arxiv list recent")` → get action ID 2. `get_action_by_id(action_id)` → get page selectors 3. `agent-browser open https://arxiv.org/list/{category}/recent` - Network accessline 29
2. `get_action_by_id(action_id)` → get page selectors 3. `agent-browser open https://arxiv.org/list/{category}/recent` 4. `agent-browser get text <paper_list_selector>` - Network accessline 30
3. `agent-browser open https://arxiv.org/list/{category}/recent`
playground/arxiv-viewer/commands/outline.md
- Network accessline 26
1. `search_actions("ar5iv outline")` → get action ID 2. `get_action_by_id(action_id)` → get heading selectors 3. `agent-browser open https://ar5iv.org/html/{arxiv_id}` - Network accessline 27
2. `get_action_by_id(action_id)` → get heading selectors 3. `agent-browser open https://ar5iv.org/html/{arxiv_id}` 4. `agent-browser get text "h2.ltx_title, h3.ltx_title"` - Network accessline 28
3. `agent-browser open https://ar5iv.org/html/{arxiv_id}`
playground/arxiv-viewer/commands/paper.md
- Network accessline 13
- `arxiv_id_or_url` (required): arXiv paper ID or URL - ID formats: `2301.07041`, `2301.07041v2`, `cs.AI/0612345` - URL formats: `https://arxiv.org/abs/2301.07041`, `https://arxiv.org/pdf/2301.07041.pdf` - Network accessline 15
- URL formats: `https://arxiv.org/abs/2301.07041`, `https://arxiv.org/pdf/2301.07041.pdf` - Network accessline 20
/arxiv-viewer:paper 2301.07041 /arxiv-viewer:paper 2301.07041v2 /arxiv-viewer:paper https://arxiv.org/abs/2301.07041 - Network accessline 21
/arxiv-viewer:paper 2301.07041v2 /arxiv-viewer:paper https://arxiv.org/abs/2301.07041 /arxiv-viewer:paper https://arxiv.org/pdf/2301.07041.pdf - Network accessline 22
/arxiv-viewer:paper https://arxiv.org/abs/2301.07041 - Network accessline 23
/arxiv-viewer:paper https://arxiv.org/pdf/2301.07041.pdf
playground/arxiv-viewer/commands/read.md
- Network accessline 38
1. `search_actions("ar5iv section")` → get action ID 2. `get_action_by_id(action_id)` → get section selectors 3. `agent-browser open https://ar5iv.org/html/{arxiv_id}` - Network accessline 39
2. `get_action_by_id(action_id)` → get section selectors 3. `agent-browser open https://ar5iv.org/html/{arxiv_id}` 4. `agent-browser get text <section_selector>` - Network accessline 40
3. `agent-browser open https://ar5iv.org/html/{arxiv_id}`
playground/arxiv-viewer/commands/trending.md
- Network accessline 26
1. `search_actions("arxiv homepage")` → get action ID 2. `get_action_by_id(action_id)` → get page selectors 3. `agent-browser open https://arxiv.org/` - Network accessline 27
2. `get_action_by_id(action_id)` → get page selectors 3. `agent-browser open https://arxiv.org/` 4. `agent-browser get text <featured_selector>` - Network accessline 28
3. `agent-browser open https://arxiv.org/`
playground/arxiv-viewer/skills/arxiv-viewer/SKILL.md
- Network accessline 58
Base URL: http://export.arxiv.org/api/query - Network accessline 58
Base URL: http://export.arxiv.org/api/query - Network accessline 96
HTML Paper URL: https://ar5iv.org/html/{arxiv_id} - Network accessline 96
HTML Paper URL: https://ar5iv.org/html/{arxiv_id} - Network accessline 126
| Purpose | URL | |---------|-----| | arXiv Abstract | `https://arxiv.org/abs/{id}` | - Network accessline 126
| Purpose | URL | |---------|-----| | arXiv Abstract | `https://arxiv.org/abs/{id}` | - Network accessline 127
|---------|-----| | arXiv Abstract | `https://arxiv.org/abs/{id}` | | arXiv PDF | `https://arxiv.org/pdf/{id}.pdf` | - Network accessline 127
|---------|-----| | arXiv Abstract | `https://arxiv.org/abs/{id}` | | arXiv PDF | `https://arxiv.org/pdf/{id}.pdf` | - Network accessline 128
| arXiv Abstract | `https://arxiv.org/abs/{id}` | - Network accessline 128
| arXiv Abstract | `https://arxiv.org/abs/{id}` | - Network accessline 129
| arXiv PDF | `https://arxiv.org/pdf/{id}.pdf` | - Network accessline 129
| arXiv PDF | `https://arxiv.org/pdf/{id}.pdf` | - Network accessline 130
| arXiv API | `http://export.arxiv.org/api/query?id_list={id}` | - Network accessline 130
| arXiv API | `http://export.arxiv.org/api/query?id_list={id}` | - Network accessline 131
| ar5iv HTML | `https://ar5iv.org/html/{id}` | - Network accessline 131
| ar5iv HTML | `https://ar5iv.org/html/{id}` | - Network accessline 132
| ar5iv Abstract | `https://ar5iv.org/abs/{id}` | - Network accessline 132
| ar5iv Abstract | `https://ar5iv.org/abs/{id}` | - Network accessline 265
- [arXiv Abstract](https://arxiv.org/abs/{id}) - [PDF Download](https://arxiv.org/pdf/{id}.pdf) - Network accessline 265
- [arXiv Abstract](https://arxiv.org/abs/{id}) - [PDF Download](https://arxiv.org/pdf/{id}.pdf) - Network accessline 266
- [PDF Download](https://arxiv.org/pdf/{id}.pdf) - Network accessline 266
- [PDF Download](https://arxiv.org/pdf/{id}.pdf) - Network accessline 267
- [HTML Version](https://ar5iv.org/html/{id}) - Network accessline 267
- [HTML Version](https://ar5iv.org/html/{id})
playground/deep-research/.claude-plugin/marketplace.json
playground/deep-research/.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "Actionbook", "url": "https://github.com/actionbook/actionbook" - Network accessline 6
"name": "Actionbook", "url": "https://github.com/actionbook/actionbook" }, - Network accessline 7
"url": "https://github.com/actionbook/actionbook" - Network accessline 9
"repository": { "type": "git", "url": "https://github.com/actionbook/actionbook", - Network accessline 10
"type": "git", "url": "https://github.com/actionbook/actionbook", "directory": "playground/deep-research" - Network accessline 11
"url": "https://github.com/actionbook/actionbook",
playground/deep-research/agents/researcher.md
- Network accessline 42
# Search via Google actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 43
actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 46
# Or search via Bing actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 47
actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 71
# Open HTML version of paper actionbook browser open "https://ar5iv.org/html/<arxiv_id>" - Network accessline 72
actionbook browser open "https://ar5iv.org/html/<arxiv_id>"
playground/deep-research/skills/deep-research/SKILL.md
- Network accessline 160
# Open arXiv Advanced Search actionbook browser open "https://arxiv.org/search/advanced" - Network accessline 160
# Open arXiv Advanced Search actionbook browser open "https://arxiv.org/search/advanced" - Network accessline 161
actionbook browser open "https://arxiv.org/search/advanced" - Network accessline 161
actionbook browser open "https://arxiv.org/search/advanced" - Network accessline 187
actionbook browser open "https://arxiv.org/search/advanced" - Network accessline 187
actionbook browser open "https://arxiv.org/search/advanced" - Network accessline 209
# Search via Google actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 209
# Search via Google actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 210
actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 210
actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 213
# Or search via Bing actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 213
# Or search via Bing actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 214
actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 214
actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 233
# 1. Try ar5iv first (best structured selectors from Actionbook) actionbook browser open "https://ar5iv.org/html/<arxiv_id>" - Network accessline 233
# 1. Try ar5iv first (best structured selectors from Actionbook) actionbook browser open "https://ar5iv.org/html/<arxiv_id>" - Network accessline 234
actionbook browser open "https://ar5iv.org/html/<arxiv_id>" - Network accessline 234
actionbook browser open "https://ar5iv.org/html/<arxiv_id>" - Network accessline 240
# 2. If ar5iv content is truncated (<5KB), fall back to arxiv abstract + other sources actionbook browser open "https://arxiv.org/abs/<arxiv_id>" - Network accessline 240
# 2. If ar5iv content is truncated (<5KB), fall back to arxiv abstract + other sources actionbook browser open "https://arxiv.org/abs/<arxiv_id>" - Network accessline 241
actionbook browser open "https://arxiv.org/abs/<arxiv_id>" - Network accessline 241
actionbook browser open "https://arxiv.org/abs/<arxiv_id>" - Network accessline 244
# 3. Supplement with HuggingFace model cards and GitHub READMEs for full details actionbook browser open "https://huggingface.co/papers/<arxiv_id>" - Network accessline 244
# 3. Supplement with HuggingFace model cards and GitHub READMEs for full details actionbook browser open "https://huggingface.co/papers/<arxiv_id>" - Network accessline 245
actionbook browser open "https://huggingface.co/papers/<arxiv_id>" - Network accessline 245
actionbook browser open "https://huggingface.co/papers/<arxiv_id>" - Network accessline 254
actionbook browser open "https://scholar.google.com" - Network accessline 254
actionbook browser open "https://scholar.google.com" - Network accessline 502
actionbook browser open "http://export.arxiv.org/api/query?id_list={arxiv_id}" - Network accessline 502
actionbook browser open "http://export.arxiv.org/api/query?id_list={arxiv_id}"
playground/rust-learner/skills/agent-browser/SKILL.md
- Network accessline 93
agent-browser open https://example.com/form
skills/actionbook/SKILL.md
- Network accessline 12
[Credential-related source omitted] - Network accessline 12
[Credential-related source omitted] - Access to secretsline 12
[Credential-related source omitted] - Access to secretsline 12
[Credential-related source omitted] - Network accessline 13
prompt: "Actionbook API key" help: "Create one at https://actionbook.app/dashboard — skill works without it, but requests are rate-limited" required_for: "unlimited requests (without a key, public rate limits apply)" - Network accessline 13
prompt: "Actionbook API key" help: "Create one at https://actionbook.app/dashboard — skill works without it, but requests are rate-limited" required_for: "unlimited requests (without a key, public rate limits apply)" - Network accessline 14
help: "Create one at https://actionbook.app/dashboard — skill works without it, but requests are rate-limited" - Network accessline 14
help: "Create one at https://actionbook.app/dashboard — skill works without it, but requests are rate-limited" - Access to secretsline 89
[Credential-related source omitted] - Access to secretsline 89
[Credential-related source omitted] - Network accessline 105
[Credential-related source omitted] - Network accessline 105
[Credential-related source omitted] - Access to secretsline 105
[Credential-related source omitted] - Access to secretsline 105
[Credential-related source omitted] - Network accessline 106
actionbook browser start -p hyperbrowser --session s1 actionbook browser goto "https://example.com" --session s1 --tab t1 actionbook browser snapshot --session s1 --tab t1 - Network accessline 106
actionbook browser start -p hyperbrowser --session s1 actionbook browser goto "https://example.com" --session s1 --tab t1 actionbook browser snapshot --session s1 --tab t1 - Network accessline 107
actionbook browser goto "https://example.com" --session s1 --tab t1 - Network accessline 107
actionbook browser goto "https://example.com" --session s1 --tab t1 - Network accessline 118
actionbook browser start --set-session-id s1 actionbook browser goto "https://airbnb.com" --session s1 --tab t1 - Network accessline 118
actionbook browser start --set-session-id s1 actionbook browser goto "https://airbnb.com" --session s1 --tab t1 - Network accessline 119
actionbook browser goto "https://airbnb.com" --session s1 --tab t1 - Network accessline 119
actionbook browser goto "https://airbnb.com" --session s1 --tab t1 - Dangerous shell operationline 129
- **Positional**: `actionbook browser eval "expr" ...` - Dangerous shell operationline 129
- **Positional**: `actionbook browser eval "expr" ...`
skills/actionbook/references/authentication.md
- Network accessline 8
# Open login page actionbook browser open "https://app.example.com/login" - Network accessline 8
# Open login page actionbook browser open "https://app.example.com/login" - Network accessline 9
actionbook browser open "https://app.example.com/login" - Network accessline 9
actionbook browser open "https://app.example.com/login" - Dangerous shell operationline 24
actionbook browser eval "window.location.href" - Dangerous shell operationline 24
actionbook browser eval "window.location.href" - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Network accessline 35
# Login using that profile actionbook -P myapp browser open "https://app.example.com/login" - Network accessline 35
# Login using that profile actionbook -P myapp browser open "https://app.example.com/login" - Network accessline 36
actionbook -P myapp browser open "https://app.example.com/login" - Network accessline 36
actionbook -P myapp browser open "https://app.example.com/login" - Network accessline 44
# Later: reuse the profile — session cookies are preserved actionbook -P myapp browser open "https://app.example.com/dashboard" - Network accessline 44
# Later: reuse the profile — session cookies are preserved actionbook -P myapp browser open "https://app.example.com/dashboard" - Network accessline 45
actionbook -P myapp browser open "https://app.example.com/dashboard" - Network accessline 45
actionbook -P myapp browser open "https://app.example.com/dashboard" - Network accessline 59
# Start OAuth flow actionbook browser open "https://app.example.com/auth/google" - Network accessline 59
# Start OAuth flow actionbook browser open "https://app.example.com/auth/google" - Network accessline 60
actionbook browser open "https://app.example.com/auth/google" - Network accessline 60
actionbook browser open "https://app.example.com/auth/google" - Dangerous shell operationline 76
actionbook browser eval "window.location.href" # Should be app.example.com - Dangerous shell operationline 76
actionbook browser eval "window.location.href" # Should be app.example.com - Network accessline 84
# Login with credentials (browser is visible by default) actionbook browser open "https://app.example.com/login" - Network accessline 84
# Login with credentials (browser is visible by default) actionbook browser open "https://app.example.com/login" - Network accessline 85
actionbook browser open "https://app.example.com/login" - Network accessline 85
actionbook browser open "https://app.example.com/login" - Network accessline 103
# Open the target domain first (cookies need a page context) actionbook browser open "https://app.example.com" - Network accessline 103
# Open the target domain first (cookies need a page context) actionbook browser open "https://app.example.com" - Network accessline 104
actionbook browser open "https://app.example.com" - Network accessline 104
actionbook browser open "https://app.example.com" - Access to secretsline 108
[Credential-related source omitted] - Access to secretsline 108
[Credential-related source omitted] - Network accessline 110
# Navigate to protected page actionbook browser goto "https://app.example.com/dashboard" - Network accessline 110
# Navigate to protected page actionbook browser goto "https://app.example.com/dashboard" - Network accessline 111
actionbook browser goto "https://app.example.com/dashboard" - Network accessline 111
actionbook browser goto "https://app.example.com/dashboard" - Network accessline 125
# Try navigating directly with existing profile session actionbook -P "$PROFILE" browser open "https://app.example.com/dashboard" - Network accessline 125
# Try navigating directly with existing profile session actionbook -P "$PROFILE" browser open "https://app.example.com/dashboard" - Network accessline 126
actionbook -P "$PROFILE" browser open "https://app.example.com/dashboard" - Network accessline 126
actionbook -P "$PROFILE" browser open "https://app.example.com/dashboard" - Dangerous shell operationline 130
URL=$(actionbook -P "$PROFILE" browser eval "window.location.href") - Dangerous shell operationline 130
URL=$(actionbook -P "$PROFILE" browser eval "window.location.href") - Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 147
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 148
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Access to secretsline 161
[Credential-related source omitted] - Network accessline 172
actionbook --headless browser open "https://app.example.com/login" - Network accessline 172
actionbook --headless browser open "https://app.example.com/login"
skills/actionbook/references/command-reference.md
- Network accessline 43
actionbook browser start -p hyperbrowser # Cloud provider (implies --mode cloud) actionbook browser start -p driver --header "X-Key:val" # Provider with custom CDP headers actionbook browser start --open-url https://exa - Network accessline 43
actionbook browser start -p hyperbrowser # Cloud provider (implies --mode cloud) actionbook browser start -p driver --header "X-Key:val" # Provider with custom CDP headers actionbook browser start --open-url https://exa - Network accessline 44
actionbook browser start -p driver --header "X-Key:val" # Provider with custom CDP headers actionbook browser start --open-url https://example.com # Open URL on start actionbook browser start --profile myprofile # Use na - Network accessline 44
actionbook browser start -p driver --header "X-Key:val" # Provider with custom CDP headers actionbook browser start --open-url https://example.com # Open URL on start actionbook browser start --profile myprofile # Use na - Network accessline 45
actionbook browser start --open-url https://example.com # Open URL on start - Network accessline 45
actionbook browser start --open-url https://example.com # Open URL on start - Access to secretsline 66
[Credential-related source omitted] - Access to secretsline 66
[Credential-related source omitted] - Network accessline 71
actionbook browser list-tabs --session s1 # List tabs in a session actionbook browser new-tab https://example.com --session s1 # Open a new tab - Network accessline 71
actionbook browser list-tabs --session s1 # List tabs in a session actionbook browser new-tab https://example.com --session s1 # Open a new tab - Network accessline 72
actionbook browser new-tab https://example.com --session s1 # Open a new tab - Network accessline 72
actionbook browser new-tab https://example.com --session s1 # Open a new tab - Network accessline 73
actionbook browser new-tab https://example.com --session s1 --new-window # In new window - Network accessline 73
actionbook browser new-tab https://example.com --session s1 --new-window # In new window - Network accessline 90
`--wait-until` controls when `goto` returns: `domcontentloaded` (default), `load` (all resources), or `none` (immediate). A scheme (`https://`) is added automatically if omitted. - Network accessline 90
`--wait-until` controls when `goto` returns: `domcontentloaded` (default), `load` (all resources), or `none` (immediate). A scheme (`https://`) is added automatically if omitted. - Dangerous shell operationline 142
actionbook browser eval "document.title" --session s1 --tab t1 - Dangerous shell operationline 142
actionbook browser eval "document.title" --session s1 --tab t1 - Network accessline 142
actionbook browser eval "document.title" --session s1 --tab t1 actionbook browser eval "document.querySelectorAll('a').length" --session s1 --tab t1 actionbook browser eval "await fetch('/api/data').then(r => r.json())" --no-isolate --sessi - Network accessline 142
actionbook browser eval "document.title" --session s1 --tab t1 actionbook browser eval "document.querySelectorAll('a').length" --session s1 --tab t1 actionbook browser eval "await fetch('/api/data').then(r => r.json())" --no-isolate --sessi - Dangerous shell operationline 143
actionbook browser eval "document.querySelectorAll('a').length" --session s1 --tab t1 - Dangerous shell operationline 143
actionbook browser eval "document.querySelectorAll('a').length" --session s1 --tab t1 - Network accessline 143
actionbook browser eval "document.querySelectorAll('a').length" --session s1 --tab t1 actionbook browser eval "await fetch('/api/data').then(r => r.json())" --no-isolate --session s1 --tab t1 actionbook browser eval --file script.js --sessi - Network accessline 143
actionbook browser eval "document.querySelectorAll('a').length" --session s1 --tab t1 actionbook browser eval "await fetch('/api/data').then(r => r.json())" --no-isolate --session s1 --tab t1 actionbook browser eval --file script.js --sessi - Dangerous shell operationline 144
actionbook browser eval "await fetch('/api/data').then(r => r.json())" --no-isolate --session s1 --tab t1 - Dangerous shell operationline 144
actionbook browser eval "await fetch('/api/data').then(r => r.json())" --no-isolate --session s1 --tab t1 - Network accessline 144
actionbook browser eval "await fetch('/api/data').then(r => r.json())" --no-isolate --session s1 --tab t1 - Network accessline 144
actionbook browser eval "await fetch('/api/data').then(r => r.json())" --no-isolate --session s1 --tab t1 - Dangerous shell operationline 150
- **Positional argument** (default): `actionbook browser eval "expr" ...` - Dangerous shell operationline 150
- **Positional argument** (default): `actionbook browser eval "expr" ...` - Network accessline 232
- generic - link "Home" [ref=e8] url=https://example.com/ - Network accessline 232
- generic - link "Home" [ref=e8] url=https://example.com/ - Network accessline 233
- link "Home" [ref=e8] url=https://example.com/ - Network accessline 233
- link "Home" [ref=e8] url=https://example.com/ - Network accessline 236
- image "clear" [ref=e10] clickable [cursor:pointer] - generic - link "Help" [ref=e11] url=https://example.com/help - Network accessline 236
- image "clear" [ref=e10] clickable [cursor:pointer] - generic - link "Help" [ref=e11] url=https://example.com/help - Network accessline 237
- generic - link "Help" [ref=e11] url=https://example.com/help - image "Help" - Network accessline 237
- generic - link "Help" [ref=e11] url=https://example.com/help - image "Help" - Network accessline 238
- link "Help" [ref=e11] url=https://example.com/help - Network accessline 238
- link "Help" [ref=e11] url=https://example.com/help - Access to secretsline 348
[Credential-related source omitted] - Access to secretsline 348
[Credential-related source omitted] - Access to secretsline 349
[Credential-related source omitted] - Access to secretsline 349
[Credential-related source omitted] - Access to secretsline 350
[Credential-related source omitted] - Access to secretsline 350
[Credential-related source omitted] - Access to secretsline 351
[Credential-related source omitted] - Access to secretsline 351
[Credential-related source omitted] - Access to secretsline 352
[Credential-related source omitted] - Access to secretsline 352
[Credential-related source omitted] - Access to secretsline 353
[Credential-related source omitted] - Access to secretsline 353
[Credential-related source omitted] - Access to secretsline 354
[Credential-related source omitted] - Access to secretsline 354
[Credential-related source omitted] - Access to secretsline 355
[Credential-related source omitted] - Access to secretsline 355
[Credential-related source omitted] - Access to secretsline 364
[Credential-related source omitted] - Access to secretsline 364
[Credential-related source omitted] - Access to secretsline 366
[Credential-related source omitted] - Access to secretsline 366
[Credential-related source omitted] - Network accessline 380
# Open multiple tabs actionbook browser batch-new-tab --urls https://a.com https://b.com --session s1 - Network accessline 380
# Open multiple tabs actionbook browser batch-new-tab --urls https://a.com https://b.com --session s1 - Network accessline 381
actionbook browser batch-new-tab --urls https://a.com https://b.com --session s1 - Network accessline 381
actionbook browser batch-new-tab --urls https://a.com https://b.com --session s1 - Network accessline 382
actionbook browser batch-new-tab --urls https://a.com https://b.com --tabs inbox settings --session s1 - Network accessline 382
actionbook browser batch-new-tab --urls https://a.com https://b.com --tabs inbox settings --session s1 - Network accessline 397
The recommended install method is the [Chrome Web Store](https://chromewebstore.google.com/detail/actionbook/bebchpafpemheedhcdabookaifcijmfo) (current version: 0.4.0). `actionbook extension install` is a local fallback — after running it, - Network accessline 397
The recommended install method is the [Chrome Web Store](https://chromewebstore.google.com/detail/actionbook/bebchpafpemheedhcdabookaifcijmfo) (current version: 0.4.0). `actionbook extension install` is a local fallback — after running it, - Network accessline 437
actionbook browser start --set-session-id s1 actionbook browser goto "https://example.com/form" --session s1 --tab t1 - Network accessline 437
actionbook browser start --set-session-id s1 actionbook browser goto "https://example.com/form" --session s1 --tab t1 - Network accessline 438
actionbook browser goto "https://example.com/form" --session s1 --tab t1 - Network accessline 438
actionbook browser goto "https://example.com/form" --session s1 --tab t1 - Network accessline 451
actionbook browser start --set-session-id s1 actionbook browser goto "https://example.com" --session s1 --tab t1 - Network accessline 451
actionbook browser start --set-session-id s1 actionbook browser goto "https://example.com" --session s1 --tab t1 - Network accessline 452
actionbook browser goto "https://example.com" --session s1 --tab t1 - Network accessline 452
actionbook browser goto "https://example.com" --session s1 --tab t1 - Network accessline 466
actionbook browser start --set-session-id s1 actionbook browser goto "https://example.com/data" --session s1 --tab t1 - Network accessline 466
actionbook browser start --set-session-id s1 actionbook browser goto "https://example.com/data" --session s1 --tab t1 - Network accessline 467
actionbook browser goto "https://example.com/data" --session s1 --tab t1 - Network accessline 467
actionbook browser goto "https://example.com/data" --session s1 --tab t1 - Dangerous shell operationline 470
actionbook browser eval "JSON.stringify([...document.querySelectorAll('.item')].map(e => e.textContent))" --session s1 --tab t1 - Dangerous shell operationline 470
actionbook browser eval "JSON.stringify([...document.querySelectorAll('.item')].map(e => e.textContent))" --session s1 --tab t1
skills/active-research/SKILL.md
- Network accessline 102
# PREFERRED: One-shot fetch (I1) — handles open+wait+extract+close automatically - Network accessline 102
# PREFERRED: One-shot fetch (I1) — handles open+wait+extract+close automatically - Network accessline 126
**Option A: One-shot fetch (PREFERRED for read-only page extraction):** - Network accessline 126
**Option A: One-shot fetch (PREFERRED for read-only page extraction):** - Network accessline 218
# Simple keyword search actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/?query=large+language+model+agent&searchtype=all" - Network accessline 218
# Simple keyword search actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/?query=large+language+model+agent&searchtype=all" - Network accessline 219
actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/?query=large+language+model+agent&searchtype=all" - Network accessline 219
actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/?query=large+language+model+agent&searchtype=all" - Network accessline 224
# searchtype: all, title, author, abstract # start: result offset (0, 50, 100, ...) actionbook browser open "https://arxiv.org/search/?query=Rust+machine+learning&searchtype=all&start=0" - Network accessline 224
# searchtype: all, title, author, abstract # start: result offset (0, 50, 100, ...) actionbook browser open "https://arxiv.org/search/?query=Rust+machine+learning&searchtype=all&start=0" - Network accessline 225
# start: result offset (0, 50, 100, ...) actionbook browser open "https://arxiv.org/search/?query=Rust+machine+learning&searchtype=all&start=0" actionbook browser wait-idle - Network accessline 225
# start: result offset (0, 50, 100, ...) actionbook browser open "https://arxiv.org/search/?query=Rust+machine+learning&searchtype=all&start=0" actionbook browser wait-idle - Network accessline 226
actionbook browser open "https://arxiv.org/search/?query=Rust+machine+learning&searchtype=all&start=0" - Network accessline 226
actionbook browser open "https://arxiv.org/search/?query=Rust+machine+learning&searchtype=all&start=0" - Network accessline 240
# Open arXiv with research flags actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/advanced" - Network accessline 240
# Open arXiv with research flags actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/advanced" - Network accessline 241
actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/advanced" - Network accessline 241
actionbook --block-images --auto-dismiss-dialogs --no-animations browser open "https://arxiv.org/search/advanced" - Network accessline 285
# Search via Google (with wait-idle for SPA results) actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 285
# Search via Google (with wait-idle for SPA results) actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 286
actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 286
actionbook browser open "https://www.google.com/search?q=<encoded_query>" - Network accessline 290
# Or search via Bing actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 290
# Or search via Bing actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 291
actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 291
actionbook browser open "https://www.bing.com/search?q=<encoded_query>" - Network accessline 369
# 1. arXiv abstract (most reliable) — use fetch actionbook --block-images browser fetch "https://arxiv.org/abs/<arxiv_id>" --format text --json - Network accessline 369
# 1. arXiv abstract (most reliable) — use fetch actionbook --block-images browser fetch "https://arxiv.org/abs/<arxiv_id>" --format text --json - Network accessline 370
actionbook --block-images browser fetch "https://arxiv.org/abs/<arxiv_id>" --format text --json - Network accessline 370
actionbook --block-images browser fetch "https://arxiv.org/abs/<arxiv_id>" --format text --json - Network accessline 372
# 2. HuggingFace papers page actionbook --block-images browser fetch "https://huggingface.co/papers/<arxiv_id>" --format text --json - Network accessline 372
# 2. HuggingFace papers page actionbook --block-images browser fetch "https://huggingface.co/papers/<arxiv_id>" --format text --json - Network accessline 373
actionbook --block-images browser fetch "https://huggingface.co/papers/<arxiv_id>" --format text --json - Network accessline 373
actionbook --block-images browser fetch "https://huggingface.co/papers/<arxiv_id>" --format text --json - Network accessline 375
# 3. ar5iv HTML (structured, but fails on new papers) — use --lite for static HTML actionbook browser fetch "https://ar5iv.org/html/<arxiv_id>" --format text --lite --json - Network accessline 375
# 3. ar5iv HTML (structured, but fails on new papers) — use --lite for static HTML actionbook browser fetch "https://ar5iv.org/html/<arxiv_id>" --format text --lite --json - Network accessline 376
actionbook browser fetch "https://ar5iv.org/html/<arxiv_id>" --format text --lite --json - Network accessline 376
actionbook browser fetch "https://ar5iv.org/html/<arxiv_id>" --format text --lite --json - Network accessline 403
actionbook browser open "https://scholar.google.com" - Network accessline 403
actionbook browser open "https://scholar.google.com" - Network accessline 763
actionbook browser open "https://ar5iv.org/html/<arxiv_id>" - Network accessline 763
actionbook browser open "https://ar5iv.org/html/<arxiv_id>"
skills/extract/SKILL.md
- Dangerous shell operationline 249
actionbook browser eval "document.querySelectorAll('<item-selector>').length" # before - Dangerous shell operationline 249
actionbook browser eval "document.querySelectorAll('<item-selector>').length" # before - Dangerous shell operationline 251
actionbook browser eval "const c=document.querySelector('<scroll-container-selector>') || document.scrollingElement; c.scrollBy(0, c.clientHeight || window.innerHeight);" - Dangerous shell operationline 251
actionbook browser eval "const c=document.querySelector('<scroll-container-selector>') || document.scrollingElement; c.scrollBy(0, c.clientHeight || window.innerHeight);" - Dangerous shell operationline 252
actionbook browser eval "document.querySelectorAll('<item-selector>').length" # after - Dangerous shell operationline 252
actionbook browser eval "document.querySelectorAll('<item-selector>').length" # after
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 1 fact
- Network access in code of the SKILL.mdactionbook/SKILL.md:99High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md packages/openclaw-plugin/skills/actionbook/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md packages/openclaw-plugin/skills/actionbook/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md packages/openclaw-plugin/skills/actionbook/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md packages/openclaw-plugin/skills/actionbook/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md packages/openclaw-plugin/skills/actionbook/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/actionbook-actionbook/)