Hope Agent is a cross-device personal AI assistant that remembers context, uses tools, and continues working toward goals through dynamically organized workflows. Individuals use it from desktop, web, server, or messaging environments to manage projects, knowledge, designs, and long-running tasks. The catalogue add-ons extend its agent workflows and capabilities.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add shiwenwen/hope-agent --skill ha-browsergit clone --depth 1 https://github.com/shiwenwen/hope-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/shiwenwen/hope-agent/ha-browser)<a href="https://agentmods.dev/skills/shiwenwen/hope-agent/ha-browser"><img src="https://agentmods.dev/badge/skills/shiwenwen/hope-agent/ha-browser/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/shiwenwen/hope-agent/ha-browser"><img src="https://agentmods.dev/badge/skills/shiwenwen/hope-agent/ha-browser.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high YARA Match · line 28 YARA rule matched a known malware signature (reverse shell, backdoor, ransomware, C2 framework, or info stealer).Fix: Remove the malware payload or compromised file entirely. Investigate how it entered the skill and audit all other artifacts for additional indicators of compromise.
- medium Output Handling · line 32 Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.Fix: Set explicit limits on output length, generation count, and rate. Use max_tokens and truncation to prevent unbounded output.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00140 | $0.03156 |
| Opus 5.5 | $0.00056 | $0.01262 |
| Sonnet 5.5 | $0.00028 | $0.00631 |
| Haiku 4.5 | $0.00014 | $0.00316 |
Grade A, and why
ha-browser scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- **API call** → if the site has an API and you can hit it with `exec curl` or `web_fetch`, do that — no browser needed. How it starts
The opening of the file, as written. The whole thing — 221 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hope Agent Browser — operating loop
The browser tool exposes 8 high-level actions. Default backend is Hope Agent's Chrome Extension + Native Messaging Host, which can control the user's real Chrome tabs after they install the extension and native host. If the extension is unavailable, generic browsing can fall back to the managed/user_attach CDP backend, but real Chrome tab/session tasks must fail closed and ask the user to install or enable the extension.
The standard loop
Run these in order; never skip a step. Browsers are stateful — assumptions get punished.
1. browser(action="status") # never operate blindly
2. browser(action="tabs", op="list") # know what's open before opening more
3. browser(action="tabs", op="new", url=...) # only if you actually need a fresh tab
4. browser(action="snapshot", format="role") # get fresh refs
5. browser(action="act", kind=..., ref=..., ...)
6. when in doubt → re-snapshot
When the user explicitly asks for their current Chrome, an already-open tab, their logged-in session, or browser extensions/cookies from their daily Chrome, use tabs.open_user_tabs and tabs.claim first. Do not launch a managed CDP profile and pretend it is the user's Chrome.
Real Chrome access uses the normal Hope Agent tool approval flow. tabs.open_user_tabs, tabs.claim, extension numeric-id tabs.select, observe.kind=downloads, control.download_cancel, and control.raw_cdp may ask unless the session policy, AllowAlways, Smart mode, or YOLO allows them.
A typical "fill the login form" flow is:
status → tabs.list → (already on the right tab? if not, tabs.select / tabs.new)
→ navigate.go url="https://app.example.com/login"
→ snapshot format=role # capture refs
→ act kind=fill ref=<email> text="me@..."
→ act kind=fill ref=<password> text="..."
→ act kind=click ref=<submit>
→ snapshot format=role # re-snapshot after navigation
→ verify expected element exists
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 221 lines · 140 tokens per session scan A 7ee93b9dd20f
ha-browser is a skill published in the GitHub repository shiwenwen/hope-agent (1,860 stars, last pushed yesterday), licensed MIT. It adds 140 tokens to every session and 3,156 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
web-access
A method for handling difficult web tasks across search, page fetching, and a real browser. It covers sites that need login sessions, dynamic pages, anti-bot handling, or exploration before their structure is understood.
playwright
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli or the bundled wrapper script.
browser-automation
A set of instructions for controlling a web browser, testing web interfaces, and collecting information from websites that load content dynamically.
search-craft
How to get real coverage out of a search engine that returns a handful of results per query, and when to reach for the crawler or the browser instead. Use at the start of any search that has to be thorough rather than quick.
chrome-browser
Read this skill before the first step that uses Claude in Chrome, the browser extension whose tools are named mcpclaude-in-chrome (also called Chrome, the browser extension, or the external browser) and which acts in the person's real Chrome with their own sign-ins; before those tools are turned on there may be a…
web-gui-tester
Use the browser automation tooling available in the session to test web frontends interactively in a purely GUI-based, black-box manner: simulate real user clicks, text input, scrolling, and other actions; use screenshots for visual verification and read-only DOM inspection for cross-validation; and produce a final…