Build, debug, and optimize C++ WebAssembly targets with Emscripten (browser/worker/node) and WASI runtimes. Use when handling C/C++ to WASM compilation, CMake/Make migration, JS interop, threading, filesystem persistence, size/performance tuning, raylib/SDL/web render loop issues, and hard runtime failures such as traps, undefined symbols, MIME/CORS misconfiguration, or memory/thread edge cases.
Orchestrate end-to-end software work with a plan-first workflow, task tracking, verification, and continuous self-correction. Use when handling non-trivial coding tasks (3+ steps), architecture decisions, bug-fix execution, CI/test failures, or any request that benefits from explicit plans in tasks/todo.md, validation before completion, and correction patterns captured in tasks/lessons.md.
Route WebAssembly tasks to the correct implementation skill. Use when requests mention WebAssembly, WASM, Emscripten, WASI, C/C++ to WASM, browser runtime issues, wasm-pack, Rust to WASM, or contract/runtime debugging. Prefer cpp-wasm-engineer for C/C++ workloads and multiversx-wasm-debug for Rust smart-contract binary analysis.
Analyze compiled WASM binaries for size optimization, panic analysis, and debugging with DWARF symbols. Use when troubleshooting contract deployment issues, optimizing binary size, or debugging runtime errors.