What problem does it solve? Tauri v2 apps fail in ways that are invisible at compile time: commands vanish at runtime, state mismatches panic, capabilities silently deny plugin calls, and updater builds ship unsigned. This Skill encodes the exact rules, workflows, and reference material needed to build, debug, harden, and ship a Tauri v2 desktop application correctly. ## Core Features & Use Cases - IPC and command correctness: Enforces single generate_handler! registration, async command rules, camelCase argument keys, typed error enums, managed-state typing, and binary responses via tauri::ipc::Response and channels. - Security hardening: Guides capability-per-window-label design, scope enforcement, CSP and devCsp configuration, and replacing primitive commands with product operations. - Release and migration workflows: Covers updater signing keys, manifest rules, platform config merge semantics, sidecar naming, code signing, and the full Tauri 1 to 2 upgrade path. - Use Case: A packaged app throws "Command not found" and "Permission denied" after release. The fix-runtime-failure workflow maps each symptom to its root cause — a second invoke_handler call and a missing plugin permission — and verifies the fix in a debug bundle. ## Quick Start Ask the agent to review your src-tauri crate and capability files for runtime failures and permission problems using the tauri skill.