Rival Search MCP
damionrashford/RivalSearchMCP
Deterministic deep research via RivalSearchMCP. An agent skill from damionrashford/RivalSearchMCP.
Deep research and analysis tool. An agent skill from actionbook/actionbook.
$ npx skills add actionbook/actionbook --skill deep-research -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install actionbook/actionbook deep-research --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/actionbook/actionbook.git skills-src && mkdir -p .claude/skills && cp -r skills-src/playground/deep-research/skills/deep-research .claude/skills/deep-research && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "deep-research" agent skill from https://github.com/actionbook/actionbook/tree/main/playground/deep-research/skills/deep-research into .claude/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/actionbook/actionbook/tree/main/playground/deep-research/skills/deep-researchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add actionbook/actionbook --skill deep-research -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install actionbook/actionbook deep-research --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/actionbook/actionbook.git skills-src && mkdir -p .agents/skills && cp -r skills-src/playground/deep-research/skills/deep-research .agents/skills/deep-research && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "deep-research" agent skill from https://github.com/actionbook/actionbook/tree/main/playground/deep-research/skills/deep-research into .agents/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add actionbook/actionbook --skill deep-research -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install actionbook/actionbook deep-research --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/actionbook/actionbook.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/playground/deep-research/skills/deep-research .cursor/skills/deep-research && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "deep-research" agent skill from https://github.com/actionbook/actionbook/tree/main/playground/deep-research/skills/deep-research into .cursor/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/actionbook/actionbook.git --path playground/deep-research/skills/deep-research--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add actionbook/actionbook --skill deep-research -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install actionbook/actionbook deep-research --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/actionbook/actionbook.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/playground/deep-research/skills/deep-research .gemini/skills/deep-research && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "deep-research" agent skill from https://github.com/actionbook/actionbook/tree/main/playground/deep-research/skills/deep-research into .gemini/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install actionbook/actionbook deep-researchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add actionbook/actionbook --skill deep-research -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/actionbook/actionbook.git skills-src && mkdir -p .github/skills && cp -r skills-src/playground/deep-research/skills/deep-research .github/skills/deep-research && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "deep-research" agent skill from https://github.com/actionbook/actionbook/tree/main/playground/deep-research/skills/deep-research into .github/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add actionbook/actionbook --skill deep-research -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install actionbook/actionbook deep-research --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/actionbook/actionbook.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/playground/deep-research/skills/deep-research .opencode/skills/deep-research && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "deep-research" agent skill from https://github.com/actionbook/actionbook/tree/main/playground/deep-research/skills/deep-research into .opencode/skills/deep-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "deep-research", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
deep-researchDeep research and analysis tool. An agent skill from actionbook/actionbook.
Deep Research is an agent skill from actionbook/actionbook. 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.
Its SKILL.md is about 6.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Research & Science, covering Deep research and Academic paper search. It works with arXiv. The repository describes itself as: Let your AI agent get the sources behind logins and paywalls. The licence is Apache-2.0.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0e31254. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmnpxnodegitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
arxiv.orggoogle.combing.comar5iv.orghuggingface.coscholar.google.comexport.arxiv.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Deep Research loads about 6.6k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 2,069 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from actionbook/actionbook at commit 0e31254, republished under its Apache-2.0 licence (© actionbook). 2,069 words, ~6,593 tokens.
.claude/skills/deep-research/SKILL.md (or your agent's skills folder).Analyze any topic, domain, or paper and generate a beautiful HTML report using Actionbook browser automation and json-ui rendering.
/deep-research:analyze <topic>
/deep-research:analyze <topic> --lang zh
/deep-research:analyze <topic> --output ./reports/my-report.jsonOr simply tell Claude: "帮我深度研究 XXX 并生成报告" / "Research XXX and generate a report"
| Parameter | Required | Default | Description |
|---|---|---|---|
topic | Yes | - | The subject to research (any text) |
--lang | No | both | Language: en, zh, or both (bilingual) |
--output | No | ./output/<topic-slug>.json | Output path for JSON report |
| Pattern | Type | Strategy |
|---|---|---|
arxiv:XXXX.XXXXX | Paper | arXiv Advanced Search (Step 2b) + ar5iv deep read |
doi:10.XXX/... | Paper | Resolve DOI, then arXiv Advanced Search for related work |
| Academic keywords (paper, research, model, algorithm) | Academic topic | arXiv Advanced Search (Step 2b) + Google for non-academic sources |
| URL | Specific page | Fetch and analyze the page |
| General text | Topic research | Google search + arXiv Advanced Search if relevant |
┌──────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐
│ Claude │────▶│ Actionbook │────▶│ Web Pages │────▶│ Extract │
│ Code │ │ Browser CLI │ │ (multiple) │ │ Content │
└──────────┘ └──────────────┘ └──────────────┘ └─────┬────┘
│ │
│ ┌──────────────┐ ┌──────────────┐ │
├─────────▶│ Actionbook │ │ arXiv Adv. │ │
│ │ search/get │────▶│ Search Form │──────────▶│
│ │ (selectors) │ │ (40+ fields) │ │
│ └──────────────┘ └──────────────┘ │
│ │
│ Actionbook indexes arXiv form selectors, │
│ enabling field-specific, filtered academic │
│ searches that WebFetch/WebSearch CANNOT do. │
│ │
┌──────────┐ ┌──────────────┐ ┌──────────────┐ │
│ Open in │◀────│ json-ui │◀────│ Write JSON │◀──────────┘
│ Browser │ │ render │ │ Report │ Synthesize
└──────────┘ └──────────────┘ └──────────────┘| Capability | Actionbook | WebFetch/WebSearch |
|---|---|---|
| Operate complex web forms (dropdowns, checkboxes, date pickers) | Yes — uses indexed selectors | No |
| arXiv: search by Author, Title, Abstract separately | Yes — #terms-0-field select | No — keyword only |
| arXiv: filter by subject (CS, Physics, Math, ...) | Yes — category checkboxes | No |
| arXiv: filter by date range or specific year | Yes — date inputs | No |
| Read pages with verified selectors (no guessing) | Yes — actionbook get | No — raw HTML parse |
| Interact with any indexed site's UI | Yes — click, type, select | No — read-only |
This is the core value of Actionbook for research: it turns web forms into structured, programmable interfaces for AI agents.
Always use actionbook browser commands for web browsing. Never use WebFetch or WebSearch.
actionbook browser open <url> # Navigate to page
actionbook browser snapshot # Get accessibility tree
actionbook browser text [selector] # Extract text content
actionbook browser screenshot [path] # Capture visual
actionbook browser click <selector> # Click element
actionbook browser close # Close browser (ALWAYS do this at end)Based on the topic, generate 5-8 search queries from different angles:
Search order — ALWAYS query Actionbook API first, then search:
| Step | Action | Why |
|---|---|---|
| Step 2 (FIRST) | Query Actionbook API | Get verified selectors for arXiv Advanced Search form, ar5iv papers, and any other known sites BEFORE browsing. This is the foundation for all subsequent steps. |
| Step 3 (SECOND) | arXiv Advanced Search | Use Actionbook selectors from Step 2 to perform multi-field, filtered academic search. Even non-academic topics often have relevant papers. |
| Step 4 (THIRD) | Google / Bing search | Supplement with blogs, news, code, discussions, non-academic sources. |
IMPORTANT: Always query Actionbook API first (Step 2) to get selectors, then use them in arXiv Advanced Search (Step 3). This is what makes Actionbook-powered research fundamentally different from WebFetch/WebSearch — the agent knows the exact selectors for every form field before it even opens the browser.
BEFORE browsing any URL, query Actionbook's indexed selectors. This gives you verified CSS/XPath selectors instead of guessing.
# Search for indexed actions by domain
actionbook search "<keywords>" -d "<domain>"
# Get detailed selectors for a specific page
actionbook get "<domain>:/<path>:<area>"Pre-indexed sites useful for research:
| Site | area_id | Key Selectors |
|---|---|---|
| arXiv Advanced Search | arxiv.org:/search/advanced:default | 40+ selectors: field select, term input, category checkboxes (CS/Physics/Math/...), date range filters, cross-list control — used in Step 3 |
| ar5iv paper | ar5iv.labs.arxiv.org:/html/{paper_id}:default | h1.ltx_title_document (title), div.ltx_authors (authors), div.ltx_abstract (abstract), section.ltx_section (sections) |
| Google Scholar | scholar.google.com:/:default | #gs_hdr_tsi (search input), #gs_hdr_tsb (search button) |
| arXiv homepage | arxiv.org:/:default | Global search across 2.4M+ articles |
For any URL you plan to visit, run actionbook search "<keywords>" -d "<domain>" to check if it's indexed. Use indexed selectors when available; fall back to actionbook browser snapshot for unindexed sites.
Example: Get arXiv Advanced Search selectors before searching:
# Query Actionbook for arXiv form selectors
actionbook get "arxiv.org:/search/advanced:default"
# Returns 40+ selectors: #terms-0-field, #terms-0-term, #classification-computer_science, etc.Key differentiator: WebFetch/WebSearch can only do simple keyword searches. Actionbook has indexed the entire arXiv Advanced Search form with 40+ verified selectors (queried in Step 2), enabling multi-field, multi-criteria academic searches — just like a human researcher would use the form.
Using the selectors obtained from Step 2, the Agent can:
| Capability | Actionbook Selector | WebFetch/WebSearch |
|---|---|---|
| Search by specific field (Title, Author, Abstract) | #terms-0-field select → choose field | Not possible |
| Add multiple search terms with boolean logic | button "Add another term +" | Not possible |
| Filter by subject (CS, Physics, Math, etc.) | #classification-computer_science checkbox | Not possible |
| Filter by date range | #date-filter_by-3 radio + #date-from_date / #date-to_date | Not possible |
| Filter by specific year | #date-filter_by-2 radio + #date-year input | Not possible |
| Include/exclude cross-listed papers | #classification-include_cross_list-0/1 radio | Not possible |
| Control results display | #size select, #abstracts-0/1 radio | Not possible |
Example: Search for recent CS papers by a specific author:
# Open arXiv Advanced Search
actionbook browser open "https://arxiv.org/search/advanced"
# 1. Set search field to "Author" and type author name
actionbook browser click "#terms-0-field"
actionbook browser click "option[value='author']"
actionbook browser type "#terms-0-term" "Yann LeCun"
# 2. Filter to Computer Science only
actionbook browser click "#classification-computer_science"
# 3. Restrict to past 12 months
actionbook browser click "#date-filter_by-1"
# 4. Show abstracts in results
actionbook browser click "#abstracts-0"
# 5. Submit search
actionbook browser click "button:has-text('Search'):nth(2)"
# 6. Extract results
actionbook browser text "#main-container"Example: Search by title keywords in a date range:
actionbook browser open "https://arxiv.org/search/advanced"
# Search in "Title" field
actionbook browser click "#terms-0-field"
actionbook browser click "option[value='title']"
actionbook browser type "#terms-0-term" "large language model agent"
# Date range: 2025-01 to 2026-02
actionbook browser click "#date-filter_by-3"
actionbook browser type "#date-from_date" "2025-01-01"
actionbook browser type "#date-to_date" "2026-02-09"
# Submit and extract
actionbook browser click "button:has-text('Search'):nth(2)"
actionbook browser text "#main-container"After arXiv, use Google/Bing to find non-academic sources (blogs, news, docs, code, discussions):
# Search via Google
actionbook browser open "https://www.google.com/search?q=<encoded_query>"
actionbook browser text "#search"
# Or search via Bing
actionbook browser open "https://www.bing.com/search?q=<encoded_query>"
actionbook browser text "#b_results"Parse the search results to extract URLs and snippets. Collect the top 5-10 most relevant URLs. For each discovered URL, query Actionbook API (Step 2 pattern) to check if the site is indexed before visiting.
For each relevant URL, first query Actionbook API (same as Step 2) to check if the site is indexed, then use verified selectors:
actionbook browser open "<url>"
actionbook browser text # Full page text (fallback)
actionbook browser text "<selector>" # Use Actionbook selector if indexedFor arXiv papers, try sources in this order (newer papers often fail on ar5iv):
# 1. Try ar5iv first (best structured selectors from Actionbook)
actionbook browser open "https://ar5iv.org/html/<arxiv_id>"
actionbook browser text "h1.ltx_title_document" # Title
actionbook browser text "div.ltx_authors" # Authors
actionbook browser text "div.ltx_abstract" # Abstract
# NOTE: section.ltx_section often fails on newer papers — use "article" as fallback
# 2. If ar5iv content is truncated (<5KB), fall back to arxiv abstract + other sources
actionbook browser open "https://arxiv.org/abs/<arxiv_id>"
actionbook browser text "main"
# 3. Supplement with HuggingFace model cards and GitHub READMEs for full details
actionbook browser open "https://huggingface.co/papers/<arxiv_id>"
actionbook browser text "main"Key lesson: Don't rely solely on ar5iv. Always cross-reference 3-4 sources for completeness.
For Google Scholar (indexed by Actionbook):
actionbook browser open "https://scholar.google.com"
# Type into search: use selector #gs_hdr_tsi
actionbook browser click "#gs_hdr_tsi"
# ... type query, click #gs_hdr_tsb to searchFor unindexed sites, use snapshot to discover page structure:
actionbook browser open "<url>"
actionbook browser snapshot # Get accessibility tree to find selectors
actionbook browser text "<discovered_selector>"Organize collected information into a coherent report:
Write a JSON file following the @actionbookdev/json-ui schema. Use the Write tool.
Output path: ./output/<topic-slug>.json (or user-specified --output path)
CRITICAL: You MUST try ALL fallback methods before giving up. Do NOT stop at the first failure.
IMPORTANT: Always use ABSOLUTE paths for JSON_FILE and HTML_FILE. Relative paths break when git rev-parse returns an absolute repo root.
Try each method one by one until one succeeds:
# Method 1: npx (recommended — works anywhere if npm is available)
npx @actionbookdev/json-ui render /absolute/path/to/report.json -o /absolute/path/to/report.html
# Method 2: Global install (if user ran: npm install -g @actionbookdev/json-ui)
json-ui render /absolute/path/to/report.json -o /absolute/path/to/report.html
# Method 3: Monorepo local path (fallback if inside actionbook project)
node "$(git rev-parse --show-toplevel)/packages/json-ui/dist/cli.js" render /absolute/path/to/report.json -o /absolute/path/to/report.htmlNEVER give up silently. If all methods fail, tell the user:
<path>npm install -g @actionbookdev/json-ui# macOS
open <report.html>
# Linux
xdg-open <report.html>Always close the browser when done:
actionbook browser closeIMPORTANT: Always include BrandHeader and BrandFooter.
{
"type": "Report",
"props": { "theme": "auto" },
"children": [
{
"type": "BrandHeader",
"props": {
"badge": { "en": "Deep Research Report", "zh": "深度研究报告" },
"poweredBy": "Actionbook"
}
},
{
"type": "Section",
"props": { "title": { "en": "Overview", "zh": "概述" }, "icon": "paper" },
"children": [
{
"type": "Prose",
"props": {
"content": { "en": "English overview...", "zh": "中文概述..." }
}
}
]
},
{
"type": "Section",
"props": { "title": { "en": "Key Findings", "zh": "核心发现" }, "icon": "star" },
"children": [
{
"type": "ContributionList",
"props": {
"items": [
{
"badge": { "en": "Finding", "zh": "发现" },
"title": { "en": "...", "zh": "..." },
"description": { "en": "...", "zh": "..." }
}
]
}
}
]
},
{
"type": "Section",
"props": { "title": { "en": "Detailed Analysis", "zh": "详细分析" }, "icon": "bulb" },
"children": [
{
"type": "Prose",
"props": { "content": { "en": "...", "zh": "..." } }
}
]
},
{
"type": "Section",
"props": { "title": { "en": "Key Metrics", "zh": "关键指标" }, "icon": "chart" },
"children": [
{
"type": "MetricsGrid",
"props": { "metrics": [], "cols": 3 }
}
]
},
{
"type": "Section",
"props": { "title": { "en": "Sources", "zh": "信息来源" }, "icon": "link" },
"children": [
{
"type": "LinkGroup",
"props": { "links": [] }
}
]
},
{
"type": "BrandFooter",
"props": {
"timestamp": "YYYY-MM-DDTHH:MM:SSZ",
"attribution": "Powered by Actionbook",
"disclaimer": {
"en": "This report was generated by AI using web sources. Verify critical information independently.",
"zh": "本报告由 AI 基于网络来源生成,请独立验证关键信息。"
}
}
}
]
}When analyzing academic papers, use a richer template with:
PaperHeader (title, arxivId, date, categories)AuthorList (authors with affiliations)Abstract (with keyword highlights)ContributionList (key contributions)MethodOverview (step-by-step method)ResultsTable (experimental results)Formula (key equations, LaTeX)Figure (paper figures from ar5iv)| Component | Use For | Key Props |
|---|---|---|
BrandHeader | Report header | badge, poweredBy |
PaperHeader | Paper metadata | title, arxivId, date, categories |
AuthorList | Authors | authors: [{name, affiliation}], maxVisible |
Section | Major section | title, icon (paper/star/bulb/chart/code/link/info/warning) |
Prose | Rich text | content (supports bold, italic, code, lists) |
Abstract | Abstract text | text, highlights: ["keyword"] |
ContributionList | Numbered findings | items: [{badge, title, description}] |
MethodOverview | Step-by-step | steps: [{step, title, description}] |
MetricsGrid | Key stats | metrics: [{label, value, trend, suffix}], cols |
ResultsTable | Data table | columns, rows, highlights: [{row, col}] |
Table | Generic table | columns: [{key, label}], rows, striped, compact |
Callout | Info/tip/warning | type (info/tip/warning/important/note), title, content |
Highlight | Blockquote | type (quote/important/warning/code), text, source |
KeyPoint | Key finding card | icon, title, description, variant |
CodeBlock | Code snippet | code, language, title, showLineNumbers |
Formula | LaTeX equation | latex, block, label |
Figure | Image(s) | images: [{src, alt, width}], label, caption |
Image | Single image | src, alt, caption, width |
DefinitionList | Term/definition | items: [{term, definition}] |
LinkGroup | Source links | links: [{href, label, icon}] |
Grid | Grid layout | cols, children |
Card | Card container | padding (sm/md/lg), shadow |
TagList | Tags | tags: [{label, color, href}] |
BrandFooter | Footer | timestamp, attribution, disclaimer |
| Pitfall | Symptom | Fix |
|---|---|---|
MetricsGrid.suffix as i18n object | text.replace is not a function | suffix must be a plain string, not { "en": ..., "zh": ... } |
MetricsGrid.value as number | Render error | value must be a string (e.g., "58.5" not 58.5) |
Missing BrandHeader/BrandFooter | Report looks broken | Always include both |
Table row values as i18n object | [object Object] in cells | Row cell values must be plain strings. Column label supports i18n, but row data does not. Use "Runtimes / 运行时" instead of { "en": "Runtimes", "zh": "运行时" } |
| Very long Prose content | Truncated render | Split into multiple Prose blocks or use subsections |
All text fields support bilingual output unless noted above:
{ "en": "English text", "zh": "中文文本" }For --lang en, use plain strings. For --lang zh, use plain Chinese strings. For --lang both (default), use i18n objects.
Exceptions:
MetricsGrid props value and suffix must always be plain strings.Table row cell values must be plain strings (column label supports i18n, but row data does not). For bilingual, use "English / 中文" format.ar5iv.org HTML (preferred for reading, but often incomplete for papers < 3 months old):
| Element | Selector (Actionbook-verified) | Reliability | Fallback |
|---|---|---|---|
| Title | h1.ltx_title_document | High | div.ltx_abstract includes title context |
| Authors | div.ltx_authors | High | — |
| Abstract | div.ltx_abstract | High | — |
| Full article | article | Medium | Use when section selectors fail |
| Sections | section.ltx_section | Low on new papers | article for all content |
| Section title | h2.ltx_title_section | Low on new papers | Parse from article text |
| Figures | figure.ltx_figure | Medium | — |
| Tables | table.ltx_tabular | Medium | — |
| Bibliography | .ltx_bibliography | Medium | — |
Note: For papers submitted within the last ~3 months, ar5iv often renders incomplete content. Always check actionbook browser text 2>&1 | wc -c — if < 5KB, the page didn't fully render. Fall back to other sources.
arXiv API (for metadata via actionbook browser):
actionbook browser open "http://export.arxiv.org/api/query?id_list={arxiv_id}"
actionbook browser textBased on testing, use this priority order for maximum coverage:
| Priority | Source | What you get | Reliability |
|---|---|---|---|
| 1 | arxiv.org/abs/<id> | Abstract, metadata, submission history | Very high |
| 2 | huggingface.co/papers/<id> | Abstract, community comments, related models/datasets | Very high |
| 3 | GitHub repo (from search results) | README with method details, model zoo, code | High |
| 4 | HuggingFace model card | Training recipe, benchmark results, quick start | High |
| 5 | ar5iv.org/html/<id> | Full paper HTML with structured selectors | Medium (fails on new papers) |
| 6 | Google Scholar / Semantic Scholar | Citations, related work | Medium |
Key insight: Don't rely on a single source. The combination of arxiv abstract + HuggingFace + GitHub typically gives 90%+ of what you need, even when ar5iv fails.
Use actionbook browser to visit and extract content from:
scholar.google.com) — Actionbook indexed, use #gs_hdr_tsi for searchsemanticscholar.org)paperswithcode.com)| Error | Action |
|---|---|
| Browser fails to open | Run actionbook browser status, retry |
| Page load timeout (30s) | Skip source, try next. Common on papers.cool, slow academic sites |
| ar5iv content truncated (<5KB) | Paper too new for ar5iv. Fall back to arxiv abstract + HuggingFace + GitHub |
section.ltx_section not found | ar5iv rendering incomplete. Use actionbook browser text "article" or "main" instead |
| Actionbook selector not found | Use actionbook browser snapshot to discover actual page structure |
actionbook search returns no results | Site not indexed. Use actionbook browser snapshot to find selectors manually |
json-ui render crash (text.replace) | Check MetricsGrid suffix/value — must be plain strings, not i18n objects |
npx @actionbookdev/json-ui fails | Run npm install -g @actionbookdev/json-ui and retry with json-ui render. If still fails, try monorepo local path |
| No search results | Broaden search terms, try different angles |
| Render failed | Save JSON, tell user path, and suggest: npm install -g @actionbookdev/json-ui |
IMPORTANT: Always run actionbook browser close before finishing, even on errors.
CRITICAL: Chinese text must be written as native Chinese, NOT translated from English.
The zh field is not a translation — it is an independent Chinese version of the content. Write it as if authoring a Chinese tech article from scratch.
| Problem | Bad Example | Good Example |
|---|---|---|
| 被动语态过多 | "Wasm 已被广泛采用" | "Wasm 已经大规模落地" |
| 英语语序直译 | "广泛但常常不可见地被采用" | "已经深入渗透到各类产品中,只是用户浑然不觉" |
| 生硬术语拼接 | "语言无关的异步通信" | "不绑定特定编程语言的异步通信机制" |
| 直译英文短语 | "关键缺失部分" | "最后一块拼图" |
| "地道"当形容词 | "地道绑定" | "符合各语言习惯的绑定" |
| 逗号长句(一逗到底) | "A,B,C,D,E。" | 拆成 2-3 个短句 |
| 引用原文硬翻 | "「许多用户并未意识到它正在被使用」" | 用中文重新表述引用的核心意思,必要时保留原文人名 |
Table 行中的 "English / 中文" 格式是中文质量的重灾区。短文本更容易暴露机翻痕迹。
规则:中文部分必须是独立的中文表述,不是英文的逐词翻译。
| Bad | Why Bad | Good |
|---|---|---|
| "应用级错误处理" | 太生硬,像翻译腔 | "应用层统一报错" |
| "高性能 Web 框架" | 可以,但太平淡 | "主打性能的 Web 框架" |
| "序列化框架" | 可以接受 | "序列化框架" ✓ |
| "嵌入式异步执行器" | 太绕 | "嵌入式异步运行器" |
| "凸块分配器" | 硬造译名,没人这么说 | "Bump 分配器(arena 风格)" |
| "安全内存擦除" | 太书面 | "安全清零内存" |
| "多生产者多消费者通道" | 太长 | "MPMC 通道" |
| "类 React UI 框架" | OK | "类 React 的 UI 框架" ✓ |
表格中文短文本的核心原则:
| English Tone | Chinese Equivalent | Example |
|---|---|---|
| "X has reached a critical milestone" | 不要直译"关键里程碑" | "X 迎来了重要转折点" 或 "X 进入成熟期" |
| "This is the key missing piece" | 不要直译"关键缺失部分" | "这是最后一块拼图" 或 "补上了最关键的短板" |
| "excels at cold starts" | 不要直译"在冷启动方面表现卓越" | "冷启动速度远超同类方案" |
| "security scrutiny intensifies" | 不要直译"安全审查加强" | "安全领域的关注度持续升温" |
| "emerging as a standard" | 不要直译"正成为标准" | "逐渐确立了标准地位" 或 "大有一统江湖之势" |
| "widespread but invisible adoption" | 不要直译"广泛但不可见的采用" | "已经悄然渗透到各类产品中" |
© actionbook, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in playground/deep-research/skills/deep-research of actionbook/actionbook.
Open the folder on GitHubat commit 0e31254
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in actionbook/actionbook, which our catalogue first saw on October 7, 2026.
Deep Research next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Deep Research this skillactionbook/actionbook | 1.6k | 1 repos | ~6.6k | Automated safety check: Pass | Apache-2.0 | |
| Rival Search MCPdamionrashford/RivalSearchMCP | 132 | 1 repos | ~796 | Automated safety check: Pass | MIT | |
| Scientific Writingneflibata-feng/MyArxiv-Agent | 126 | 18 repos | ~8.4k | Automated safety check: Notes | MIT | |
| Paper Expert Generatorguhaohao0991/PaperClaw | 250 | — | ~2k | Automated safety check: Pass | None | |
| Deep Research Literature SurveyHKUSTDial/Supervisor-Skills | 8.4k | — | ~2.4k | Automated safety check: Pass | CC-BY-NC-SA-4.0 | |
| Argo Search and Verificationtaxueseek/argo | 184 | — | ~1.2k | Automated safety check: Pass | MIT |
damionrashford/RivalSearchMCP
Deterministic deep research via RivalSearchMCP. An agent skill from damionrashford/RivalSearchMCP.
neflibata-feng/MyArxiv-Agent
Core skill for the deep research and writing tool. An agent skill from neflibata-feng/MyArxiv-Agent.
guhaohao0991/PaperClaw
Generate a specialized domain-expert research agent modeled on PaperClaw architecture.
HKUSTDial/Supervisor-Skills
Runs a survey-grade literature investigation: fixes the research questions, searches from adversarial angles, verifies citations and writes an evidence-first report.
taxueseek/argo
Unified web search, page fetching and evidence checking across hundreds of sources, with result verification, a research-dossier mode and vertical search engines.
AgentTeam-TaichuAI/ScienceClaw
多源深度调研与专业报告生成。适用场景广泛——只要用户的问题涉及需要深度分析的专业话题,就应使用此技能。包括但不限于:(1) 用户明确要求调研/research/综述/报告/发现;(2) 用户提出一个技术或科学话题,话题复杂度需要多源深度分析;(3) 用户要求对比多种技术方案的优劣;(4) 涉及生物医药、蛋白质、基因、药物靶点等需要专业数据库支撑的问题。核心能力:根据问题性质自动组合 arXiv…
actionbook/actionbook
Extract structured data from websites and produce an executable Playwright script plus extracted data.
actionbook/actionbook
Activate when the user needs to interact with any website — browser automation, web scraping, screenshots, form filling, UI testing, monitoring, or building AI agents.
actionbook/actionbook
Run browser-based web tests against websites using Actionbook CLI.
actionbook/actionbook
Browser action engine. An agent skill from actionbook/actionbook.
actionbook/actionbook
View, search, and download academic papers from arXiv. An agent skill from actionbook/actionbook.
actionbook/actionbook
CRITICAL: Use for json-ui component rendering and development.
Works with
Categories
Deep research and analysis tool. An agent skill from actionbook/actionbook. Deep Research is an agent skill from actionbook/actionbook. Deep research and analysis tool.
Deep Research fits situations like: user asks to research; generate a report on any subject.
Run `npx skills add actionbook/actionbook --skill deep-research -a claude-code`. Or copy the skill folder (playground/deep-research/skills/deep-research in actionbook/actionbook) into .claude/skills/deep-research in your project. Claude Code loads it when a task matches its description.
Run `npx skills add actionbook/actionbook --skill deep-research -a codex`. Or copy the skill folder (playground/deep-research/skills/deep-research in actionbook/actionbook) into .agents/skills/deep-research in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add actionbook/actionbook --skill deep-research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deep-research, .gemini/skills/deep-research, .github/skills/deep-research and .opencode/skills/deep-research in your project.
Going by SKILL.md and its folder, Deep Research needs the command-line tools its instructions call (npm, npx, node and git).
SKILL.md names 7 domains. In commands or code: arxiv.org, google.com, bing.com, ar5iv.org, huggingface.co, scholar.google.com and export.arxiv.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Deep Research is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 6.6k tokens (SKILL.md is roughly 26k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Deep Research: Rival Search MCP (damionrashford/RivalSearchMCP, 132 stars), Scientific Writing (neflibata-feng/MyArxiv-Agent, 126 stars), Paper Expert Generator (guhaohao0991/PaperClaw, 250 stars) and Deep Research Literature Survey (HKUSTDial/Supervisor-Skills, 8.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
actionbook (a GitHub organization) maintains it in actionbook/actionbook, which has 1,609 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 8, 2026.
Source: actionbook/actionbook on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.