Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/yan-labs/yan-skillsnpx agentmods add skills/yan-labs/yan-skills/game-opportunityWrote 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/yan-labs/yan-skills/game-opportunity)<a href="https://agentmods.dev/skills/yan-labs/yan-skills/game-opportunity"><img src="https://agentmods.dev/badge/skills/yan-labs/yan-skills/game-opportunity/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/yan-labs/yan-skills/game-opportunity"><img src="https://agentmods.dev/badge/skills/yan-labs/yan-skills/game-opportunity.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.00091 | $0.07565 |
| Opus 5 | $0.00046 | $0.03782 |
| Sonnet 5 | $0.00018 | $0.01513 |
| Haiku 4.5 | $0.00009 | $0.00756 |
Grade A, and why
game-opportunity 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 11d 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 — 442 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Game Opportunity
把游戏平台的新 URL 变成可直接挑选的建站候选。商业判断看今天的搜索需求、竞争盘面和可玩供给; 游戏发布时间只负责标注新旧,老游戏同样可以进入优先队列。
从一句话反查入口
用户不会说「跑 evaluate」,他会说「看看今天有什么游戏能做」。所有命令都是
node game-opportunity/scripts/game-opportunity.mjs <子命令>。
| 用户可能说的话 | 跑什么 → 判读依据在哪 |
|---|---|
| 「跑一下小游戏监测」「今天有什么游戏能做」 | daily(= collect + demand + evaluate)→ 日报 .rankup/demand/game-review/latest.md,分组判读看下方「外部需求双轨闸门」 |
| 「只看今天平台新增了什么」 | discover(平台 sitemap diff);只要 24 小时新名字用 radar |
| 「查一下这批游戏的量和 KD」 | plan → demand(每天只有 6 个深查名额,名单由你写进 YYYY-MM-DD-demand-selection.json,见「深查名额」) |
| 「这些候选值不值得做」 | evaluate 排版事实 → 判读归你:对照「搜索需求轨 / 早期爆发轨」分值表与 KD × 新站动作表,把结论写进 YYYY-MM-DD-evaluation.json |
| 「今天这轮算跑完了吗」 | collect-checklist / decision-checklist(各 10 项证据验收,查的是证据齐不齐,不是判决对不对) |
| 「不联网重建一下今天的清单」 | dedupe(读当天 discovery/radar,去重游戏与社交 campaign) |
| 「游戏站怎么搭、怎么变现」 | 不在本 Skill:读 rankup/references/game-sites.md + rankup/references/lifecycle.md |
| 「选词/外链/建站的通用问题」 | 回 rankup——本 Skill 只管「哪个游戏值得做」这一段 |
任何来源采集失败或某行 status:'not-queried' 时,对应项标「未测」,不得当成 0 或「无需求」。
分工铁律:脚本只采集,判断只归 AI
| 层 | 谁做 | 产出 |
|---|---|---|
| 采集 | game-opportunity.mjs 各子命令 |
原始 per-source 证据 + manifest(每源 {source,status,count,error})、挑战页原始 HTML、not-queried 与实测零严格分开 |
| 判读 | AI 对着原始信号 | YYYY-MM-DD-evaluation.json(action/理由/缺失证据)与 YYYY-MM-DD-demand-selection.json(深查名单) |
| 排版 | evaluate/render |
只排事实与 AI 已写入的判读,不产生任何结论句 |
脚本里没有打分器、没有阈值门、没有 verdict。本文档下面的所有分值表和门槛数字都是 AI 判读指引,供 AI 对照原始信号使用;任何来源采集失败时,对应项在判读里标「未测」, 不允许当成 0 或「无需求」。
任务入口
| 任务 | 动作 | 固定产物 |
|---|---|---|
discover |
抓取全部平台 sitemap、按站点路径过滤、与上次快照做 diff | .rankup/demand/game-review/YYYY-MM-DD-discovery.json |
radar |
扫描 24 小时发布源与玩家社区,提取刚出现的游戏名、别名和玩法词 | .rankup/demand/game-review/YYYY-MM-DD-radar.json |
collect |
依次完成 discover 和 radar,并合并当天新增游戏 |
上述两个输入文件与 YYYY-MM-DD-new-games.json |
collect-checklist |
执行采集并完成 10 项硬验收 | YYYY-MM-DD-collect-checklist.{json,md} |
dedupe |
不联网,读取当天 discovery/radar,去掉重复游戏与社交 campaign | .rankup/demand/game-review/YYYY-MM-DD-new-games.json |
plan |
从真实游戏生成原名、英文名、本地名的全球优先查询计划;深查名单读 AI 写的 YYYY-MM-DD-demand-selection.json,缺省用机械顺序(到期复查 → 当天新发现 → 其余),完整候选池连同选中与否写进 plan |
YYYY-MM-DD-demand-plan.json 与 YYYY-MM-DD-global-keywords.txt |
demand |
先查全球量和主要国家,再一次性查询各国家库;未查询的市场落 status:'not-queried' 且数值为 null,与实测零严格分开 |
YYYY-MM-DD-demand-results.json |
evaluate |
验活、合并实体、叠加取数结果与 AI 判读、按机械顺序排版日报;挑战页原始 HTML 落 YYYY-MM-DD-evidence/ 并标记,候选不被剔除 |
.rankup/demand/game-review/YYYY-MM-DD-candidates.json 与 YYYY-MM-DD-report.md |
decision-checklist |
执行需求调查、日报并完成 10 项硬验收 | YYYY-MM-DD-decision-checklist.{json,md} |
daily |
依次完成 collect、demand 和 evaluate |
上述全部产物 |
What ships with it
1 file 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.
- 11d ago First seen · 442 lines · 91 tokens per session scan A fdd69917c123
game-opportunity is a skill published in the GitHub repository yan-labs/yan-skills (183 stars, last pushed yesterday), licensed MIT. It adds 91 tokens to every session and 7,565 once invoked, about $0.0005 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-30.
Other skills, from other repositories
muapi-storyboard
Generate N keyframes for a short story or scene sequence (image only, no video).
reversing-unity-il2cpp
Reverse engineer Unity games and apps built with IL2CPP or Mono, using Il2CppDumper, Il2CppInspector, and dnSpy. Use when an APK or IPA contains global-metadata.dat, libil2cpp.so, UnityFramework, or Assembly-CSharp.dll, when jadx shows only UnityPlayerActivity, or when the target is described as a Unity build.
hz-unity-meta-mixed-reality-utility-kit
Meta XR Mixed Reality Utility Kit (MRUK) (com.meta.xr.mrutilitykit) for Unity XR development. Use when working with Scene API data (rooms, walls, floors, furniture), spawning prefabs on scene anchors, placing virtual objects in the real world, world locking to prevent anchor drift, raycasting against room geometry…
hz-unity-meta-movement-sdk-retargeting
Set up and tweak Meta Movement SDK (MSDK) retargeting for a character model. Use this whenever the user wants to retarget a humanoid FBX/prefab for Meta Quest body tracking, generate a retargeting config, or hand-edit the resulting .json (fix known-joint mappings, exclude joints from auto-mapping, rename target…
hz-vr-debug
Debugs Meta Quest and Horizon OS VR/MR applications using the metavr CLI — view logs, capture screenshots, diagnose common issues. Use when troubleshooting crashes, errors, or unexpected behavior on Quest devices.
hz-unity-face-tracking
Drive ARKit-blendshape-rigged head/face models in Unity with the wearer's facial expressions on Meta Quest via Meta Movement SDK (face tracking + A2E). Use when a user has an FBX with the 52 ARKit blendshapes (any prefix, L/R suffixes) and wants it to animate from face tracking on Quest Pro / Quest 3 / Quest 3S.