# Yougame First

> Сначала ресерч, потом код

- Skill: `karkqm/yougame-first` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add karkqm/yougame-first`
- Raw SKILL.md: https://api.skillmd.com/api/skills/karkqm/yougame-first/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: karkqm (https://skillmd.com/u/karkqm)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/karkqm/yougame-first

---


# Сначала ресерч, потом код

Задачи про читы, моды, дамперы, оффсеты и реверс почти всегда уже кем-то решены.
Писать с нуля то, что лежит готовым в теме на форуме или в чужом репозитории, — это
не «своё решение», а потерянный час и код, который сломается на первой же версии игры.

Поэтому порядок жёсткий: **выясни, решено ли это до тебя, и только потом решай сам.**

## Когда применять

Применяй, если пользователь просит **сделать** что-то из этого списка:
дампер (классов, оффсетов, схемы, SDK), инжектор, DLL-чит, миксин или мод,
ESP/аим/визуал, деобфускатор, распаковщик, скрипт под чит (LUA/JS/AHK), обвязку под
конкретный движок (Unity, Unreal, Source 2, Minecraft), разбор чужого софта.

Не применяй, если задача обычная (бэкенд, вёрстка, скрипт для работы) — даже если
пользователь любит игры. `yg_plan` возвращает поле `inScope`: если там `false`, работай
обычным порядком.

Если пользователь просит просто **найти или скачать** тему с форума — это другой скилл,
[yougame-research](../yougame-research/SKILL.md): там механика форума, хайды и файлообменники.

## Лестница

Спускайся по ступеням; на любой можно остановиться, если ответ найден.

| Ступень | Инструмент | Останавливаешься, если |
|---|---|---|
| 0. Это домен yougame? | `yg_plan` (`inScope`) | нет — работаешь обычным порядком |
| 1. Уже решали? | `yg_kb_search` | в локальной базе есть готовый ответ |
| 2. Инструмент уже есть? | `yg_tools` | задача закрывается существующим инструментом |
| 3a. Есть на yougame? | `yg_search` → `yg_thread` | нашлась рабочая механика или исходник |
| 3b. Есть на unknowncheats? | `uc_search` → `uc_thread` | то же, англоязычный форум |
| 4. Ресерч закрыт? | `yg_ready` | `ready: true` — можно писать |
| 5. Реализация | — | — |
| 6. Вернуть знание | `yg_kb_add_tool`, `yg_report` | — |

Развёрнуто: [references/ladder.md](references/ladder.md).

## Ступень 2 важнее остальных

Самая частая ошибка — писать свой дампер там, где есть отлаженный чужой.
`yg_tools` отдаёт каталог по домену: Dumper-7 для Unreal, source2gen для Source 2,
Il2CppDumper для IL2CPP, java-агент с ClassFileTransformer для JVM, Scylla для PE из памяти.

Если готовое подходит — **не пиши своё**. Объясни пользователю, чем пользоваться и как,
и напиши только недостающую обвязку. Если не подходит — скажи вслух, почему именно
(версия, защита, формат вывода), и зафиксируй это через `yg_note kind="gap"`.

Каталог целиком: [references/toolbase.md](references/toolbase.md).

## Ступень 3: как читать форумы

### yougame.biz (русскоязычный, XenForo)
- Сначала теория (`type: "thread"`, разделы гайдов), потом исходники (разделы «Исходники …»).
- Тему читай **целиком, вместе с комментариями**: там фиксы, «не работает на версии X»
  и предупреждения о нерабочих пастах. Первый пост часто врёт.

### unknowncheats.me (англоязычный, vBulletin)
- Навигация: `uc_categories` → `uc_forum` → `uc_thread`. Поиск: `uc_search` (нужен вход).
- Загрузки: `uc_downloads_cats` → `uc_downloads_list` → `uc_downloads_file`.
- UC — крупнейший англоязычный форум: здесь больше tutorials, SDK, и open-source баз.
- AUTH_REQUIRED → `uc_login` (откроется окно браузера).

### Общие правила
- Сверяй минимум два источника — с любого из форумов.
- Каждую находку клади в `yg_note` со ссылкой — без источника она не засчитается гейтом.

Хайды, вход и скачивание — в скилле `yougame-research`.

## Гейт не должен превращаться в тупик

`yg_ready` возвращает не «нельзя», а список недостающего и как его добрать.
Если на форуме по теме честно пусто, закрытые разделы или пользователь не хочет входить —
запиши `yg_note kind="gap"` с объяснением, и гейт откроется. Крайний случай —
`yg_ready` с `force` и обязательной причиной; причина попадает в отчёт, и её надо
озвучить пользователю: «источников не нашёл, пишу с нуля, вот на чём основаны допущения».

Критерии готовности и формулировки: [references/checklist.md](references/checklist.md).
Разбор задачи целиком: [references/example.md](references/example.md).

## Как отвечать пользователю

1. Коротко: что нашёл и на чём основан вывод — 2–5 ссылок на конкретные темы (`yg_report`).
2. Если берёшь готовый инструмент — скажи это прямо, до кода.
3. Потом решение.
4. В конце — чего в источниках не хватило и что додумал сам.

Не выдумывай id тем, ссылки и цитаты: любой факт приходит из вызова инструмента.
Форум русскоязычный; отвечай на языке пользователя.

