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 ggg123124/vrchat-assistant --skill booth-query-displaygit clone --depth 1 https://github.com/ggg123124/vrchat-assistantWrote 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/ggg123124/vrchat-assistant/booth-query-display)<a href="https://agentmods.dev/skills/ggg123124/vrchat-assistant/booth-query-display"><img src="https://agentmods.dev/badge/skills/ggg123124/vrchat-assistant/booth-query-display/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/ggg123124/vrchat-assistant/booth-query-display"><img src="https://agentmods.dev/badge/skills/ggg123124/vrchat-assistant/booth-query-display.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00064 | $0.03341 |
| Opus 5 | $0.00032 | $0.01670 |
| Sonnet 5 | $0.00013 | $0.00668 |
| Haiku 4.5 | $0.00006 | $0.00334 |
Grade A, and why
booth-query-display 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 10d 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.
1. **curl 发中文会乱码**:git-bash 里 curl 传中文 query 会编码损坏(服务端收到 `????`)——用 Python urllib/requests 发 UTF-8 请求 How it starts
The opening of the file, as written. The whole thing — 170 lines — stays where its author put it; the contents beside it link to each section on GitHub.
BOOTH 商品查询展示 Skill — 搜索/热度榜/封面/汉化/格式化输出
本 skill 固化「查询 BOOTH(booth.pm)商品并按固定格式展示」的完整工作流。适用场景:用户要求查 Booth 商品、查 VRChat 素材热度榜、展示商品列表(含封面、人民币价格、热度)。
触发条件
- 「查询 Booth / booth.pm 商品」
- 「Booth 热度前 N」/「Booth 排行」
- 「展示 Booth 商品」/「附封面展示」
- 用户要求查 VRChat 相关素材(avatar/衣装/3D 模型)在 Booth 的售价与热度
BOOTH 缓存交互规则(用户拍板 2026-08-14)
查询 BOOTH 商品时按以下规则决定实时/缓存(不要无脑询问):
- 用户明确说要查新的/最新/实时 →
get_booth_item带forceRefresh: true强制实时抓取 - 用户未明确 → 默认走本地缓存(
get_booth_history/get_booth_searches查历史;get_booth_item缓存命中直接返回cached:true) - 仅当拿不准用户意图时才询问一句(如"要最新的还是查过的?")
缓存未命中时代码自动实时兜底(
get_booth_item缓存 miss 后直接抓取并落库),无需文档重复。
落库缓存功能(并入本 skill,Issue #28 实现)
BOOTH 查询结果自动落库(本地 SQLite booth_items / booth_search_history 表,旁路缓存——落库失败不影响实时返回):
| 工具 | 说明 |
|---|---|
search_booth_items |
搜索命中即 upsert 商品快照到 booth_items,记录搜索历史 |
get_booth_item |
单品查询命中即落库;缓存命中返回 cached: true(不抓 BOOTH);forceRefresh: true 强制实时 |
get_booth_history |
查已落库商品快照(按收藏数/更新时间排序,minWishlist 趋势过滤)——"上周查过哪件衣服" |
get_booth_searches |
查搜索历史(搜索词 + 结果 + 时间) |
- 收藏数(wishlistCount)是 BOOTH 唯一公开热度信号,落库后可做趋势跟踪(哪件在涨、接近售罄)
- 重复搜索同词优先走缓存,避免触发 booth.pm 限流
- 服务重启数据仍在(SQLite 持久化);老库升级自动建表(IF NOT EXISTS 幂等)
浏览器访问流程(重要修正)
优先使用电脑的默认浏览器,而非临时启动的调试实例:
- 检测默认浏览器(Windows):
reg query "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice" | grep ProgId # MSEdgeHTM → Edge;ChromeHTML → Chrome;FirefoxURL → Firefox - 用默认浏览器打开目标页(如 Booth 登录页):
# 默认浏览器直接打开 URL(Windows 用 start / cmd /c start) cmd //c start "" "https://booth.pm/users/sign_in" # 或显式指定浏览器路径(Edge 示例) "/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" "https://booth.pm/users/sign_in" - 需自动化接管时:给默认浏览器附加 CDP 调试端口启动(必须带独立
--user-data-dir,避免与用户日常浏览会话冲突):EDGE="/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" "$EDGE" --remote-debugging-port=9222 --user-data-dir="$LOCALAPPDATA/Temp/edge-debug-profile" --no-first-run "URL" # Chrome 同理;CDP 端点 http://127.0.0.1:9222/json - 手动登录页场景(reCAPTCHA 等无法自动化的):
- 优先用默认浏览器打开页面让用户操作,或
- 用上述 CDP 实例打开——登录窗口会出现在该实例中,提示用户在对应窗口完成登录(可能与你日常浏览窗口并存,注意区分)
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.
- 10d ago First seen · 170 lines · 64 tokens per session scan A 939a2ede542d
booth-query-display is a skill published in the GitHub repository ggg123124/vrchat-assistant (21 stars, last pushed today), licensed MIT. It adds 64 tokens to every session and 3,341 once invoked, about $0.0003 per session on Opus 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
shopify
Shopify Admin & Storefront GraphQL APIs via curl. Products, orders, customers, inventory, metafields.
shop
Shop catalog search, checkout, order tracking, returns.
stripe-link-cli
Agent payments via Stripe Link — cards, SPT, approvals.
mnemosyne
Persistent cross-session memory via Mnemosyne — store, recall, and consolidate facts, preferences, and context.
marketplace-purchase-vetting
Use this when the user asks whether a local listing is a scam, "too good to be true," worth looking at, or a good deal. Also use this when he asks you to find options — search/discover candidates, then vet the best ones. The goal is not a generic buying guide; it is a practical risk read with clear next steps.
hermes-tweet
Use Xquik in Hermes Agent for public X research, monitoring, thread summaries, creator discovery & approved actions. Not affiliated with X Corp. Use when the user requests X data or a named action. Trigger with "search X", "monitor X", "post tweet", or "X trends".