Agent skill

Rust Desktop Applications

by bobmatnyc in bobmatnyc/claude-mpm

Build cross-platform desktop applications with Rust using Tauri framework and native GUI alternatives

MITAuto-check passedMobile

Install Rust Desktop Applications

skills CLI
$ npx skills add bobmatnyc/claude-mpm --skill rust-desktop-applications -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bobmatnyc/claude-mpm rust-desktop-applications --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bobmatnyc/claude-mpm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/claude_mpm/skills/bundled/rust/desktop-applications .claude/skills/rust-desktop-applications && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rust-desktop-applications
GitHub stars
155
Token cost
~2.6k tokens
SKILL.md length
934 words
Files
7 (incl. references)
Skills in repo
51
Repo updated
First seen
Licence
MIT

At a glance

Build cross-platform desktop applications with Rust using Tauri framework and native GUI alternatives

  • Works in 6 steps: Framework Alignment: Tauri for… → Clear Separation: Frontend handles UI,… → Type-Safe IPC: Commands and events… → …
  • Mobile work in your project
  • SKILL.md covers Overview, When to Use This Skill, Don't Use When and The Iron Law, plus 9 more sections
  • Calls cargo

What it does

Rust Desktop Applications is an agent skill from bobmatnyc/claude-mpm. Build cross-platform desktop applications with Rust using Tauri framework and native GUI alternatives

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/architecture-patterns.md`, `references/native-gui-frameworks.md` and `references/platform-integration.md`).

It sits in Mobile. It works with Rust and Tauri. The repository describes itself as: Claude Multi-Agent Project Manager — multi-channel orchestration, GitHub-first SDK mode, and plugin system for Claude. The licence is MIT.

When your agent uses it

  • Mobile work in your project

Example prompts

  • “/rust-desktop-applications”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Framework Alignment: Tauri for web-skilled teams, native GUI for Rust-first projects
  2. Clear Separation: Frontend handles UI, Rust backend handles business logic and system access
  3. Type-Safe IPC: Commands and events strongly typed with serde serialization
  4. Async Runtime: Tokio for backend concurrency, prevent blocking main thread
  5. Security First: Validate all IPC inputs, minimize exposed commands, CSP policies
  6. Platform Abstraction: Write once, handle platform differences gracefully

What it can do on your machine

Read from SKILL.md and the folder at commit 25203d3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rust Desktop Applications loads about 2.6k tokens when it runs, and up to ~34k if it reads all its reference files. Until then it costs about 32 tokens; SKILL.md has 934 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~32
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~34k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from bobmatnyc/claude-mpm at commit 25203d3, republished under its MIT licence (© bobmatnyc). 934 words, ~2,586 tokens.

Download SKILL.mdSave it as .claude/skills/rust-desktop-applications/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
rust-desktop-applications
description
Build cross-platform desktop applications with Rust using Tauri framework and native GUI alternatives
version
1.0.0
category
development
author
Claude MPM Team
license
MIT
progressive_disclosure.references
tauri-framework.md, native-gui-frameworks.md, architecture-patterns.md, state-management.md, platform-integration.md, testing-deployment.md
context_limit
800
tags
rust, desktop, tauri, gui, cross-platform, native
effort
high

Rust Desktop Applications

Overview

Rust has emerged as a premier language for building desktop applications that combine native performance with memory safety. The ecosystem offers two main approaches: Tauri for hybrid web UI + Rust backend apps (think Electron but 10x smaller and faster), and native GUI frameworks like egui, iced, and slint for pure Rust interfaces.

Tauri has revolutionized desktop development by enabling developers to use web technologies (React, Vue, Svelte) for the frontend while leveraging Rust's performance and safety for system-level operations. With bundle sizes under 5MB and memory usage 1/10th of Electron, Tauri apps deliver desktop-class performance. Native frameworks shine for specialized use cases: egui for immediate-mode tools and game editors, iced for Elm-style reactive apps, slint for embedded and declarative UIs.

This skill covers the complete Rust desktop development lifecycle from framework selection through architecture, state management, platform integration, and deployment. You'll build production-ready applications with proper IPC patterns, async runtime integration, native system access, and cross-platform distribution.

When to Use This Skill

Activate when building desktop applications that need native performance, small bundle sizes, system integration, or memory safety guarantees. Specifically use when:

  • Building Electron alternatives with web UI + Rust backend (Tauri)
  • Creating high-performance developer tools or productivity apps
  • Developing system utilities requiring native OS integration
  • Building cross-platform apps for Windows, macOS, and Linux
  • Need <10MB bundle sizes vs 100MB+ Electron apps
  • Implementing real-time applications (audio/video processing, games)
  • Creating embedded GUI applications (kiosks, IoT devices)

Don't Use When

  • Simple web apps - Use Next.js, Vite, or web frameworks
  • Mobile-first applications - Use Flutter, React Native, or Kotlin Multiplatform
  • Purely CLI tools - Use clap/structopt for command-line apps
  • Browser extensions - Use WebExtensions API
  • Quick prototypes - Native development has setup overhead
  • Team lacks Rust experience - Steep learning curve for system programming

The Iron Law

TAURI FOR WEB UI + RUST BACKEND | NATIVE GUI FOR PURE RUST | NEVER MIX BUSINESS LOGIC IN FRONTEND

If you're duplicating logic between frontend and backend, or bypassing IPC for direct access, you're violating architecture.

Core Principles

  1. Framework Alignment: Tauri for web-skilled teams, native GUI for Rust-first projects
  2. Clear Separation: Frontend handles UI, Rust backend handles business logic and system access
  3. Type-Safe IPC: Commands and events strongly typed with serde serialization
  4. Async Runtime: Tokio for backend concurrency, prevent blocking main thread
  5. Security First: Validate all IPC inputs, minimize exposed commands, CSP policies
  6. Platform Abstraction: Write once, handle platform differences gracefully

Quick Start

  1. Choose Your Framework

    • Tauri: Have web skills (React/Vue/Svelte)? Want rapid UI development? → cargo install tauri-cli
    • Native GUI: Pure Rust project? Immediate mode or reactive patterns? → Choose egui/iced/slint
  2. Initialize Project

    bash
    # Tauri
    cargo create-tauri-app my-app
    # Select: npm, React/Vue/Svelte, TypeScript
    
    # Native (egui example)
    cargo new my-app
    cargo add eframe egui
  3. Setup Architecture

    • Tauri: Define commands in src-tauri/src/main.rs, handle IPC
    • Native: Implement app state, event loop, and UI update logic
    • Structure: src/ (backend), ui/ or src-ui/ (frontend if Tauri)
  4. Implement Core Features

    • Define Tauri commands with #[tauri::command]
    • Setup state management (Arc<Mutex<T>> or channels)
    • Integrate Tokio for async operations
    • Add error handling with Result<T, E>
  5. Add Platform Integration

    • File system access (dialogs, read/write)
    • System tray, notifications, auto-updates
    • Deep linking, custom URL schemes
    • OS-specific features (Windows registry, macOS sandboxing)
  6. Build and Distribute

    bash
    # Development
    cargo tauri dev  # or cargo run
    
    # Production build
    cargo tauri build  # Creates installers for current platform
    
    # Cross-platform: Use GitHub Actions with matrix builds

Framework Decision Tree

Need desktop app?
├─ Have web frontend skills (React/Vue/Svelte)?
│  └─ YES → Use Tauri
│     ├─ Need <5MB bundles? ✓
│     ├─ System integration? ✓
│     ├─ Cross-platform? ✓
│     └─ Rapid UI development? ✓
│
└─ Pure Rust, no web frontend?
   ├─ Game editor or immediate mode tools? → egui
   ├─ Elm-style reactive architecture? → iced
   ├─ Declarative UI, embedded devices? → slint
   └─ Data-first reactive? → druid

Tauri when: Web UI expertise, need modern frontend frameworks, rapid iteration Native when: Maximum performance, no web dependencies, specialized UI patterns

Show full SKILL.md (396 more words)Show less

Navigation

Detailed guides available:

  • Tauri Framework: Complete Tauri architecture, project setup, IPC communication patterns, native API access, configuration, security model, and build process with real-world examples
  • Native GUI Frameworks: Deep dive into egui, iced, druid, and slint - architecture patterns, when to use each, comparison matrix, and production code examples
  • Architecture Patterns: Desktop-specific patterns including MVC/MVVM, command pattern, event-driven architecture, plugin systems, resource management, and error handling strategies
  • State Management: State management strategies, async runtime integration with Tokio, message passing, reactive patterns, persistence (configs/databases), and multi-window state sharing
  • Platform Integration: File system access, system tray, notifications, auto-updates, deep linking, OS-specific features (Windows/macOS/Linux), permissions, and security
  • Testing & Deployment: Integration testing, UI testing approaches, cross-compilation, platform-specific builds, distribution (installers/bundles/stores), signing, notarization, and CI/CD pipelines

Key Patterns

Correct Tauri Pattern:

rust
✅ Commands in Rust backend
✅ Type-safe IPC with serde
✅ Async operations with Tokio
✅ State management with Arc<Mutex<T>>
✅ Error propagation with Result<T, E>
✅ Frontend calls backend via invoke()

Correct Native GUI Pattern:

rust
✅ Immediate mode (egui) or retained mode (iced)
✅ State updates trigger redraws
✅ Event handling in Rust
✅ Platform-agnostic rendering
✅ Resource cleanup on drop

Incorrect Patterns:

rust
❌ Business logic in frontend JavaScript
❌ Exposing unsafe commands without validation
❌ Blocking operations on main thread
❌ Direct filesystem access from frontend
❌ Missing error handling on IPC
❌ Hardcoded platform-specific paths

Red Flags - STOP

  • Blocking the main thread - Use Tokio spawn for long operations
  • Exposing sensitive commands - Validate, rate limit, minimize surface area
  • Missing CSP in Tauri - Configure Content Security Policy
  • No input validation - Always validate IPC command arguments
  • Direct frontend file access - Use Tauri file system APIs
  • Ignoring platform differences - Test on all target platforms
  • Large bundle sizes - Profile and optimize dependencies
  • No auto-update strategy - Users won't manually update

Integration with Other Skills

  • vite-local-dev: Integrate Vite with Tauri for hot module replacement and fast frontend builds
  • async-testing: Test async Tokio code in Tauri commands and background tasks
  • performance-profiling: Profile Rust backend with Criterion, flamegraphs for optimization
  • test-driven-development: Write tests for commands, state management, and business logic
  • verification-before-completion: Test cross-platform builds before shipping
  • systematic-debugging: Debug Tauri IPC issues, inspect console logs, use Rust debugger

Real-World Impact

Performance Metrics:

  • Bundle size: 3-5MB (Tauri) vs 100-200MB (Electron)
  • Memory usage: 50-100MB (Tauri) vs 500MB-1GB (Electron)
  • Startup time: <1s (Tauri) vs 3-5s (Electron)
  • Build time: 1-2 min (Tauri) vs 5-10 min (Electron)

Production Examples:

  • Warp Terminal: High-performance terminal built with Rust (egui/custom)
  • Lapce: Fast code editor using Druid (later custom framework)
  • Zed: Collaborative code editor with native Rust UI
  • Notion-like apps: Using Tauri for desktop versions
  • System utilities: File managers, task managers, monitoring tools

The Bottom Line

Rust desktop development offers unmatched performance with memory safety.

Choose Tauri for web UI + Rust backend with tiny bundles. Choose native GUI for pure Rust with specialized patterns. Architect with clear frontend/backend separation. Use type-safe IPC. Integrate Tokio for async. Handle platform differences. Test cross-platform early.

This is the Rust desktop way.

© bobmatnyc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (references) in src/claude_mpm/skills/bundled/rust/desktop-applications of bobmatnyc/claude-mpm.

  • SKILL.md
  • references/architecture-patterns.md
  • references/native-gui-frameworks.md
  • references/platform-integration.md
  • references/state-management.md
  • references/tauri-framework.md
  • references/testing-deployment.md

Open the folder on GitHubat commit 25203d3

Compare with similar skills

Rust Desktop Applications next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rust Desktop Applications compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rust Desktop Applications this skillbobmatnyc/claude-mpm155—~2.6kAutomated safety check: PassMIT
TauriMicrock/ordinary-claude-skills404—~3.1kAutomated safety check: PassCustom licence
Worklog Designregisx001/Worklog261—~3.3kAutomated safety check: PassMIT
Exeify Web2exe44886/Exeify179—~1.3kAutomated safety check: PassApache-2.0
Breeze HelperLanternOps/breeze132—~3.2kAutomated safety check: PassAGPL-3.0
Winapp CLIboshi-xixixi/TraeSkill275—~1.9kAutomated safety check: PassMIT

Similar skills

  • Tauri

    Microck/ordinary-claude-skills

    Tauri framework for building cross-platform desktop and mobile apps.

    404 GitHub stars~3.1k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Worklog Design

    regisx001/Worklog

    Design and UI skill for the Worklog desktop project manager.

    261 GitHub stars~3.3k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Exeify Web2exe

    44886/Exeify

    把网页打包成 Windows exe 的技能。当用户想把「一个本地 HTML/CSS/JS 网页文件夹」或「一个在线网址」打包成可双击运行、免安装的独立 Windows .exe(用系统自带 WebView2 渲染,终端用户无需装任何东西)时使用;可设置窗口标题/尺寸/全屏、程序图标、启动页、源码保护等;还能同时输出安卓 APK(把同一个网页做成安卓 App,免 Android SDK)。仅…

    179 GitHub stars~1.3k tokensUpdated 10 days ago
    MobileAuto-check passed
  • Breeze Helper

    LanternOps/breeze

    Quick reference for the Breeze Helper Tauri desktop app — architecture, Rust backend commands, React frontend, config files, IPC with the Go agent, helper chat API routes, tool approval flow, and…

    132 GitHub stars~3.2k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Winapp CLI

    boshi-xixixi/TraeSkill

    Windows App Development CLI (winapp) for building, packaging, signing, debugging, and UI-automating Windows applications.

    275 GitHub stars~1.9k tokensUpdated 4 mo ago
    MobileAuto-check passed
  • Add UI String

    openfootmanager/openfootmanager

    Add or change any text a player can see, in every locale the game ships in.

    1.1k GitHub stars~2.6k tokensUpdated 2 days ago
    Testing & QAAuto-check passed

More from bobmatnyc/claude-mpm

All 51 skills in this repo
  • Build MCP Server

    bobmatnyc/claude-mpm

    Create high-quality MCP servers that enable LLMs to effectively interact with external services.

    155 GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check passed
  • Env Manager

    bobmatnyc/claude-mpm

    Environment variable validation, synchronization, and management across local development, CI/CD, and deployment platforms

    155 GitHub stars~2k tokensUpdated 1 mo ago
    Auto-check: notes
  • Session Analyzer

    bobmatnyc/claude-mpm

    Debug and teach agentic coding: a deterministic-first session timeline + cost report, with optional narrative polish and a standalone JSX visualiser.

    155 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Software Patterns

    bobmatnyc/claude-mpm

    Decision framework for architectural patterns including DI, SOA, Repository, Domain Events, Circuit Breaker, and Anti-Corruption Layer.

    155 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Verification Before Completion

    bobmatnyc/claude-mpm

    Run verification commands and confirm output before claiming success

    155 GitHub starsUsed in 2 repos~1k tokens
    Auto-check passed
  • Dependency Audit

    bobmatnyc/claude-mpm

    Dependency audit and cleanup workflow for maintaining healthy project dependencies.

    155 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Rust Desktop Applications

What does Rust Desktop Applications do?

Build cross-platform desktop applications with Rust using Tauri framework and native GUI alternatives. Rust Desktop Applications is an agent skill from bobmatnyc/claude-mpm.

When should I use Rust Desktop Applications?

Rust Desktop Applications fits situations like: mobile work in your project.

How do I install Rust Desktop Applications in Claude Code?

Run `npx skills add bobmatnyc/claude-mpm --skill rust-desktop-applications -a claude-code`. Or copy the skill folder (src/claude_mpm/skills/bundled/rust/desktop-applications in bobmatnyc/claude-mpm) into .claude/skills/rust-desktop-applications in your project. Claude Code loads it when a task matches its description.

How do I install Rust Desktop Applications in Codex?

Run `npx skills add bobmatnyc/claude-mpm --skill rust-desktop-applications -a codex`. Or copy the skill folder (src/claude_mpm/skills/bundled/rust/desktop-applications in bobmatnyc/claude-mpm) into .agents/skills/rust-desktop-applications in your project. Codex loads it when a task matches its description.

Can I use Rust Desktop Applications in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bobmatnyc/claude-mpm --skill rust-desktop-applications -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rust-desktop-applications, .gemini/skills/rust-desktop-applications, .github/skills/rust-desktop-applications and .opencode/skills/rust-desktop-applications in your project.

What does Rust Desktop Applications need to run?

Going by SKILL.md and its folder, Rust Desktop Applications needs the command-line tools its instructions call (cargo).

Does Rust Desktop Applications access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Rust Desktop Applications safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rust Desktop Applications use?

Rust Desktop Applications is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rust Desktop Applications use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 31k tokens, read only when the agent opens those files.

What are the alternatives to Rust Desktop Applications?

Skills that share tags, products or a category with Rust Desktop Applications: Tauri (Microck/ordinary-claude-skills, 404 stars), Worklog Design (regisx001/Worklog, 261 stars), Exeify Web2exe (44886/Exeify, 179 stars) and Breeze Helper (LanternOps/breeze, 132 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rust Desktop Applications?

bobmatnyc (a GitHub user) maintains it in bobmatnyc/claude-mpm, which has 155 GitHub stars. The repository holds 51 skills in this directory. The repository was last updated on August 31, 2026.

Source: bobmatnyc/claude-mpm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.