Grasp

SkillWeb & browsing

Use when an agent needs the visible local Grasp browser runtime for multi-step web tasks or public-web extraction through one interface: confirm the runtime instance, enter URLs, inspect/extract/share page content, switch visible tabs, interact with live pages, fill forms, operate authenticated workspaces, capture screenshots, and recover through handoff after login or CAPTCHA checkpoints.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Grasp skill

What this skill tells your AI

The instructions your AI receives, as published by yuzc-001/grasp in skill/SKILL.md and read by ahel’s review.

When to use

  • The task needs a real browser session, not a one-shot headless script
  • The work depends on persistent login state, a visible browser window, or human handoff/recovery
  • The agent needs one interface for page entry, extraction, share/export, forms, workspace actions, screenshots, and low-level browser control
  • The agent must know which runtime instance it is acting on, or it needs to switch between user-visible tabs safely

Safe defaults

  • Treat Grasp as the browser runtime surface. Use MCP tools for page actions instead of recreating interactions in shell scripts.
  • Start with get_status. Before page-changing actions, prefer confirm_runtime_instance(display="windowed") or confirm the mode you actually expect.
  • If a tool returns INSTANCE_CONFIRMATION_REQUIRED, confirm the instance and retry the same action.
  • For first arrival to a URL, prefer entry(url, intent). Use navigate(url) only when you intentionally want to move the current page directly.
  • Prefer the high-level surfaces first: runtime loop, form tools, and workspace tools. Drop to hint map, tabs, cookies, dialogs, or evaluate only when the higher-level path is not enough.
  • Prefer list_visible_tabs / select_visible_tab before raw tab primitives such as get_tabs or switch_tab.
  • Refresh get_hint_map after navigation, a page-changing click, a visible DOM change, or scroll-loaded content. Old hint IDs are not safe to reuse after the page changes.
  • Use the handoff flow when the task is blocked by login, CAPTCHA, checkpoints, or other human-only steps.
  • If local CDP is unreachable, Grasp may auto-launch local Chrome or Edge now. If that still does not recover the runtime, ask the user to run npx -y @yuzc-001/grasp, grasp connect, or start-chrome.bat on Windows.

Recommended workflow

  1. get_status
  2. confirm_runtime_instance when the task needs a confirmed live instance
  3. entry(url, intent)
  4. inspect
  5. Follow the task surface that matches the job:
    • extract / extract_structured / extract_batch / share_page / continue
    • form_inspect
    • workspace_inspect
  6. Use explain_route when the route choice needs explanation
  7. If blocked, use handoff and then resume with continue

Task surfaces

Public web and extraction

Use entry(..., intent="extract" | "read"), then stay on inspect, extract, extract_structured, extract_batch, share_page, explain_share_card, and continue as long as the runtime surface is enough.

Forms

Use form_inspect -> fill_form / set_option / set_date -> verify_form -> safe_submit.

Authenticated workspaces

Use workspace_inspect -> select_live_item -> draft_action -> execute_action -> verify_outcome.

Lower-level control

Only when the higher-level surface is not enough, use get_hint_map, click, type, hover, scroll, scroll_into_view, screenshot, wait_for, go_back, go_forward, reload, raw tab tools, cookies, dialogs, file upload, drag-and-drop, keyboard controls, and evaluate.

Additional resources

Signals

GitHub stars
76
Forks
11
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
grasp-yuzc-001
Source
github.com/yuzc-001/grasp