--- name: nvgt-engine-dev description: Build, debug, refactor, and document NVGT (.nvgt) projects using authoritative NVGT engine sources. Use when tasks involve NVGT API usage, include/module selection, behavior verification against engine internals, migration from BGT-style patterns, menu/audio/UI architecture, or extracting reusable NVGT utilities. --- # NVGT Engine Dev Use this skill to resolve NVGT questions from primary sources and produce clean, modular, reusable NVGT code. ## Core Rules - Verify API behavior with NVGT primary sources, not memory. - Prefer docs first, then include implementation, then C++ bindings when behavior is unclear. - Keep code simple, separated by concern, and reusable across projects. - Keep accessibility first: rely on screen-reader APIs and keyboard-safe flows. ## Workflow 1. Locate the NVGT source tree. Default path is `~/git/nvgt`. If missing, ask for `--root` override before making API claims. 2. Read `references/repo-map.md`. Use it to pick the right source tier quickly. 3. Run lookup before coding. Use `scripts/nvgt_lookup.py` for symbol-level discovery across docs/includes/bindings. For signature-focused evidence, run `scripts/nvgt_api_report.py`. 4. Verify uncertain behavior in C++ bindings. Read files under `/src/` where `RegisterGlobalFunction`, `RegisterObjectMethod`, or related registration calls are made. 5. Implement with modular boundaries. Split generic utilities from game-specific logic. 6. Compile-check. For Draugnorak-style projects, run `./nvgt -c draugnorak.nvgt` after changes. ## Lookup Command ```bash python3 skills/nvgt-engine-dev/scripts/nvgt_lookup.py "symbol_or_phrase" ``` Use `--root /path/to/nvgt` only when NVGT is not at `~/git/nvgt`. ## API Report Command ```bash python3 skills/nvgt-engine-dev/scripts/nvgt_api_report.py "symbol_name" ``` Use this report when you need signature/binding evidence before answering or coding. Use `--section` to narrow: - `docs` - `include-docs` - `builtin-docs` - `plugin-docs` - `release-includes` - `bindings` - `samples` ## References - Read `references/project-profile.md` first when repo-specific style rules are absent. - Read `references/repo-map.md` first for where things live in NVGT. - Read `references/api-verification-workflow.md` when API behavior/signatures are uncertain. - Read `references/nvgt-coding-patterns.md` when designing modules, menus, notifications, file viewers, and reusable libraries. - Read `references/common-playbooks.md` for common implementation patterns. - Run through `references/regression-checklist.md` before finalizing non-trivial NVGT changes. ## Delivery Style - Give direct, actionable answers. - Show file-level references for where behavior was verified. - Prefer minimal wrappers around engine primitives before adding abstraction.