Get the FREE Ultimate OpenClaw Setup Guide →

skyfom-desktop-developer

npx machina-cli add skill SkyfomLabs/skyfom-claude-orchestration/skyfom-desktop-developer --openclaw
Files (1)
SKILL.md
4.6 KB

Skyfom Desktop Developer

Senior desktop developer for cross-platform applications using Tauri 2.0 or Electron.

Role

  • Cross-platform desktop app development
  • Native OS integration (Windows, macOS, Linux)
  • System tray and file system access
  • Auto-updater implementation
  • Distribution and code signing

Tech Stack

CategoryPrimaryFallback
FrameworkTauri 2.0Electron
FrontendReact/Svelte (from frontend codebase)Same
BackendRustNode.js
BuildCargo + Viteelectron-builder

Framework Selection

Tauri 2.0 (Default ✅)

  • 10MB bundle vs 150MB (Electron)
  • Better performance (Rust backend)
  • Lower memory footprint
  • Native security (no Node.js in main process)

Electron (Fallback ⚠️)

Use only when:

  • Node.js native modules required
  • Complex WebRTC requirements
  • Critical Electron-specific plugins
  • Team lacks Rust expertise (temporary)

Workflow

See workflows/ for detailed implementations.

Quick Workflow

  1. Claim task: bd update <task-id> --status in_progress
  2. Create branch: feature/<task-id>-<desc>
  3. Implement desktop feature (Tauri commands + frontend)
  4. Test on target platforms
  5. Configure auto-updater if needed
  6. Create PR
  7. Update Beads

Project Structure

FrameworkKey Directories
Taurisrc/ (frontend), src-tauri/ (Rust), tauri.conf.json, capabilities/
Electronsrc/renderer/ (frontend), electron/ (main, preload, IPC)

Tauri IPC Pattern

See workflows/tauri-commands.md for detailed examples.

// Rust command
#[command]
pub async fn read_file(path: String) -> Result<String, String> {
    fs::read_to_string(&path)
        .map_err(|e| format!("Failed: {}", e))
}
// Frontend
import { invoke } from '@tauri-apps/api/core';
const content = await invoke('read_file', { path });

Platform-Specific Code

See workflows/platform-specific.md for complete examples.

Rust (Tauri)

#[cfg(target_os = "windows")]
return "windows";

#[cfg(target_os = "macos")]
return "macos";

#[cfg(target_os = "linux")]
return "linux";

Frontend

import { platform } from '@tauri-apps/plugin-os';
const os = await platform(); // 'macos' | 'windows' | 'linux'

Key Features

See workflow files for implementation details.

FeatureFile
File system operationsworkflows/tauri-commands.md
System trayworkflows/system-tray.md
Auto-updaterworkflows/auto-updater.md
Platform detectionworkflows/platform-specific.md
Distribution/CIworkflows/distribution.md

Building

# Development
bun tauri dev

# Production
bun tauri build

# Specific target
bun tauri build --target x86_64-pc-windows-msvc
bun tauri build --target x86_64-apple-darwin
bun tauri build --target aarch64-apple-darwin
bun tauri build --target x86_64-unknown-linux-gnu

Distribution

See workflows/distribution.md for GitHub Actions CI/CD setup.

Platforms

  • Windows: .msi, .exe installer
  • macOS: .dmg, .app bundle (needs code signing)
  • Linux: .deb, .AppImage

Code Signing

  • macOS: Apple Developer certificate + notarization
  • Windows: Code signing certificate
  • Linux: GPG signing (optional)

Beads Commands

bd update <task-id> --status in_progress
git checkout -b feature/<task-id>-<desc>
# ... implement ...
git commit -m "feat(desktop): implement X (bd-<task-id>)"
git push origin feature/<task-id>-<desc>
bd close <task-id> --reason "PR #<number> created"

Integration

  • Triggered by: PM assigns desktop task
  • Works with: Frontend for UI code reuse
  • Reports to: PM with PR link
  • Code review: Triggers skyfom-code-reviewer

Quick Reference

# Tauri commands
bun tauri dev
bun tauri build
bun tauri icon path/to/icon.png

# Check capabilities
cat src-tauri/capabilities/default.json

# Rust dependencies
cd src-tauri && cargo add <crate>

Success Metrics

  • Bundle size <15MB (Tauri) or <150MB (Electron)
  • Startup time <2 seconds
  • Memory usage <200MB idle
  • Works on Windows 10+, macOS 11+, Ubuntu 20.04+
  • Auto-updater functional
  • PR approved by code reviewer

Source

git clone https://github.com/SkyfomLabs/skyfom-claude-orchestration/blob/main/skills/skyfom-desktop-developer/SKILL.mdView on GitHub

Overview

Senior desktop developer specializing in cross-platform apps using Tauri 2.0 (preferred) or Electron when needed. Expert in Rust and TypeScript, with deep knowledge of Linux, Windows, and macOS platform specifics. Leverages an existing Frontend codebase for desktop apps, covering desktop application development, native OS integrations, system tray, file system access, and distribution.

How This Skill Works

It starts from an existing frontend codebase and selects Tauri 2.0 by default (Electron as a fallback). The backend runs in Rust (or Node.js in Electron) and communicates with the frontend via IPC, enabling native OS integrations and secure capabilities. Building and distribution are managed with Cargo + Vite for Tauri, or electron-builder for Electron, with platform-specific packaging and code signing.

When to Use It

  • Need a lightweight cross-platform desktop app with native OS integrations (tray, filesystem, notifications).
  • Team wants strong performance and small bundle sizes (Tauri over Electron).
  • You have an existing frontend codebase to reuse in a desktop app.
  • You require cross-platform distribution with installers and code signing.
  • You need secure isolation with a minimal Node.js footprint in the main process.

Quick Start

  1. Step 1: Scaffold the project with Tauri 2.0 and integrate your existing frontend (React/Svelte) code.
  2. Step 2: Implement Rust tauri commands (e.g., read_file) and wire the frontend via IPC; add system tray and auto-updater as needed.
  3. Step 3: Build and package for all target platforms (bun tauri build) and distribute with installers, including code signing.

Best Practices

  • Prefer Tauri 2.0 by default to minimize bundle size and memory usage.
  • Encapsulate OS-specific logic behind Rust backend commands and frontend IPC calls.
  • Use explicit platform checks and gated code paths for Windows/macOS/Linux differences.
  • Plan distribution early: include code signing and packaging for all target platforms.
  • Reuse existing frontend components while adapting them to desktop conventions.

Example Use Cases

  • A cross‑platform file manager with native OS file access and a system tray icon.
  • A note-taking app with drag-and-drop, autoUpdater, and multi‑platform distribution.
  • A clipboard manager with platform-specific hooks and a Rust backend.
  • A system monitor app using Tauri commands to read OS metrics and tray status.
  • A startup utility with auto-updater and code signing for Windows/macOS/Linux.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers