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 redeemgit 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/redeem)<a href="https://agentmods.dev/skills/ggg123124/vrchat-assistant/redeem"><img src="https://agentmods.dev/badge/skills/ggg123124/vrchat-assistant/redeem/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/redeem"><img src="https://agentmods.dev/badge/skills/ggg123124/vrchat-assistant/redeem.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00000 | $0.01478 |
| Opus 5.5 | $0.00000 | $0.00591 |
| Sonnet 5.5 | $0.00000 | $0.00296 |
| Haiku 4.5 | $0.00000 | $0.00148 |
Grade A, and why
redeem 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 25d 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.
在此之前 Agent 只能手搓 curl 打 REST,还要记住一串易错细节(`Cookie: auth=<值>` How it starts
The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
redeem —— VRChat 兑换码与礼包领取
本文档给调用本插件的 AI Agent 看:这个插件能做什么、怎么用。
为什么需要它
VRChat 的免费物品(活动/联名/周年/直播掉落,中文社区戏称「免费鸡蛋」)走的是 一条四段式链路,缺任何一步都拿不到东西:
兑换码 ──redeem_code──▶ 礼包(bundle) ──claim_bundle──▶ 库存物品
POST /reward/redeem POST /inventory/{id}/consume
在此之前 Agent 只能手搓 curl 打 REST,还要记住一串易错细节(Cookie: auth=<值>
前缀、必带 User-Agent、/inventory?types=bundle 才是礼包列表、consume 才是领取),
既不可复用也不可验证。本插件把这条链路固化为 MCP 工具。
核心既有工具的关系:get_inventory_global(账号级全局物品)与 get_inventory_drops
(掉落)都不覆盖兑换码与礼包——那是 inventory 域的另一套端点,本插件补上这一段。
能力
| 工具 | 作用 | 对应 VRChat 端点 |
|---|---|---|
redeem_code |
提交兑换码(一次性,不可回滚) | POST /reward/redeem |
get_redeemable_bundles |
列出待领取的礼包(含过期时间);可按 limit/offset 翻页,返回 total/hasMore |
GET /inventory?types=bundle |
claim_bundle |
领取(打开)礼包,内容物进库存 | POST /inventory/{id}/consume |
get_inventory_items |
列库存物品主列表(可按 itemType 过滤、offset 翻页) |
GET /inventory |
get_redeem_history |
本机兑换/领取历史(插件私有表) | 本地表 plg_redeem_history |
典型工作流
领一个码:
1. redeem_code { "code": "R0614WS81RYC0EUY" }
→ { ok:true, count:1, items:[{ inventoryId:"invt_...", name:"Tokyo Game Show 2026 Nameplate", itemType:"bundle", contains:1 }],
nextStep:"本次含礼包:请用 get_redeemable_bundles 查看,再 claim_bundle 领取礼包内容" }
2. get_redeemable_bundles
→ { ok:true, count:1, items:[{ inventoryId:"inv_4f884e92-...", name:"Tokyo Game Show 2026 Nameplate", expiryDate:null }] }
3. claim_bundle { "inventoryId": "inv_4f884e92-..." }
→ { ok:true, count:1, items:[{ name:"Bolt Matrix", itemType:"nameplateEffect", description:"Pure pop energy." }] }
4. get_inventory_items { "type": "nameplateEffect" } # 核对到账
⚠️ 两个 id 不要串用:
redeem_code返回的是invt_*(模板 id),而claim_bundle只接受get_redeemable_bundles给出的inv_*(库存实例 id)。拿invt_*去 consume 实测会 404InventoryItem not found。
库存大时要翻页(核对到账别只看第一页):
get_inventory_items { "limit": 100, "offset": 0 }
→ { ok:true, count:100, total:120, offset:0, limit:100, hasMore:true, items:[...] }
# hasMore=true → 继续 offset=100
get_inventory_items { "limit": 100, "offset": 100 }
→ { ok:true, count:20, total:120, offset:100, limit:100, hasMore:false, items:[...] }
# 返回顺序**不保证按时间排序**,所以「第一页没看到」≠「没到账」:
# 要么先用 type 过滤缩小范围,要么翻页取全,别据此下「未到账」结论。
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 25d ago Changed · +2 lines bd5f69b2ebb6
- 26d ago First seen · 88 lines · 0 tokens per session scan A 3390e099af7e
redeem is a skill published in the GitHub repository ggg123124/vrchat-assistant (26 stars, last pushed 4d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,478 tokens. 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-09-20.
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.
product-launch-retail
A documented workflow for taking a new product from research and pricing through listing, sales, and an initial review. It uses shared templates, task records, and sales data files.
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.