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 agentmods add skills/metahub-tech/agent-fleet/using-human-domnpx skills add metahub-tech/agent-fleet --skill using-human-domgit clone --depth 1 https://github.com/metahub-tech/agent-fleetWrote 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/metahub-tech/agent-fleet/using-human-dom)<a href="https://agentmods.dev/skills/metahub-tech/agent-fleet/using-human-dom"><img src="https://agentmods.dev/badge/skills/metahub-tech/agent-fleet/using-human-dom.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00087 | $0.04519 |
| Opus 5 | $0.00044 | $0.02259 |
| Sonnet 5 | $0.00017 | $0.00904 |
| Haiku 4.5 | $0.00009 | $0.00452 |
Grade A, and why
using-human-dom scanned grade A with 0 findings 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 5d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 168 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Using human_dom
human_dom is a DOM-perception companion to human_browser: it extends the same zero-trace, real-profile, OS-level operating model with a read-only DOM locator sourced from a Chrome extension content script.
The extension only reads — it never clicks, never mutates the DOM, never injects synthetic events. All input is still genuine OS-level: tap, type_text, press_key. The result is DOM-accuracy coordinates delivered as screen points in the same space as take_screenshot and tap.
三选一路由(routing)
| 场景 | 用哪个 |
|---|---|
| 真实账号/身份 + 需要 DOM 精确定位(文字/aria/placeholder 匹配) | human_dom(本 skill) |
真实账号/身份,DOM 拿不到(canvas、自定义控件、动态悬浮层)或 human_dom_locate 返回 suggest:"vision_locate" |
vision_locate(OCR 兜底),操作仍用 OS 级 tap/type_text |
| 自动化测试 / 抓取 / 隔离 profile / 无需真实身份 | agent_browser(Playwright,有 automation traces,独立 profile) |
核心判断:需要真实身份 → 选 human_dom 或 vision_locate 而非 agent_browser。需要 DOM 精度 → human_dom 优先;DOM 不可达 → OCR 兜底。
human_browser 上元素定位的优先级顺序
在 human_browser 打开页面后,定位元素按以下优先级尝试:
- human_dom(首选):DOM 语义匹配,精确、0 token、抗动态遮罩,命中率高。
- vision_locate(OCR 兜底):DOM 拿不到时(canvas/shadow DOM/动态悬浮层),OCR 识别屏幕文字返回坐标;操作仍用 OS 级 tap/type_text。
- 截图 + VLM 眼估(最后手段):take_screenshot 后让模型目测坐标,仅当 OCR 也失败时才用。
| 方法 | 精度 | token 消耗 | 适用场景 |
|---|---|---|---|
| human_dom | DOM 像素精确 | 0 | 有文字/aria/placeholder 的标准元素 |
| vision_locate (OCR) | ~1px | 极少 | canvas、自定义控件、动态覆盖层 |
| 截图 + VLM | ~5–20px | 高(图片 token) | OCR 也失败的极端情况 |
实战分工:表单字段用 human_dom,自定义按钮常需 vision 兜底
real-machine(小红书 / 公众号发布)经验,钉成规范:
- 标准表单字段(标题
<input>、<textarea>、[contenteditable]正文)→ human_dom(human_dom_fill/human_dom_locate),DOM 精确、0 token。 - 页面自定义按钮 / 控件(底部固定栏的「发布」「暂存离开」、开关、话题下拉项、上传封面按钮等,多为
div[role=button])→ 文字常不进 human_dom 文本索引(human_dom_locate返回suggest:"vision_locate"),改用vision_locate/vision_tap兜底,实测精准命中。 - 经验法则:输入走 human_dom;点按钮先 human_dom,拿不到立刻转 vision——不要在一个拿不到的按钮上反复
human_dom_locate。
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.
- 5d ago First seen · 168 lines · 87 tokens per session scan A d9238002fc47
using-human-dom is a skill published in the GitHub repository metahub-tech/agent-fleet (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 87 tokens to every session and 4,519 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
web-exfiltration-detection
Detect data exfiltration via URL path encoding and chained webfetch navigation. Covers fake trusted UI injection, letter-level URL path exfiltration, and multi-hop navigation hijacking. Use when the agent has web/URL fetch capability and stores user memory or personal context.
browserwing-executor
Control browser automation through HTTP API. Supports page navigation, element interaction (click, type, select), data extraction, accessibility snapshot analysis, screenshot, JavaScript execution, and batch operations.
dev-browser
Browser automation with persistent page state. Use when users ask to navigate websites, fill forms, take screenshots, extract web data, test web apps, or automate browser workflows. Trigger phrases include "go to [url]", "click on", "fill out the form", "take a screenshot", "scrape", "automate", "test the website"…
web-search
This skill should be used when users need to search the web for information, find current content, look up news articles, search for images, or find videos. It uses DuckDuckGo's search API to return results in clean, formatted output (text, markdown, or JSON). Use for research, fact-checking, finding recent…
langbot-testing
Test LangBot WebUI and core product flows with an automated browser and backend logs. Use when validating the configured LangBot frontend, pipeline Debug Chat, model provider setup and test buttons, bot and knowledge-base UI flows, or troubleshooting failed LangBot end-to-end tests.
browse
Use the browse CLI for Browserbase browser automation, Browserbase cloud APIs, Browserbase Functions, templates, web fetch/search, diagnostics, and Browse.sh skill discovery/installation. Use when the user asks to navigate pages, inspect browser state, run local or remote browser sessions, manage Browserbase…