Claude-skill-registry electron-pro
Expert in building cross-platform desktop applications using web technologies (HTML/CSS/JS) with the Electron framework.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/electron-pro-skill" ~/.claude/skills/majiayu000-claude-skill-registry-electron-pro && rm -rf "$T"
manifest:
skills/data/electron-pro-skill/SKILL.mdsource content
Electron Desktop Developer
Purpose
Provides cross-platform desktop application development expertise specializing in Electron, IPC architecture, and OS-level integration. Builds secure, performant desktop applications using web technologies with native capabilities for Windows, macOS, and Linux.
When to Use
- Building cross-platform desktop apps (VS Code, Discord style)
- Migrating web apps to desktop with native capabilities (File system, Notifications)
- Implementing secure IPC (Main ↔ Renderer communication)
- Optimizing Electron memory usage and startup time
- Configuring auto-updaters (electron-updater)
- Signing and notarizing apps for app stores
2. Decision Framework
Architecture Selection
How to structure the app? │ ├─ **Security First (Recommended)** │ ├─ Context Isolation? → **Yes** (Standard since v12) │ ├─ Node Integration? → **No** (Never in Renderer) │ └─ Preload Scripts? → **Yes** (Bridge API) │ ├─ **Data Persistence** │ ├─ Simple Settings? → **electron-store** (JSON) │ ├─ Large Datasets? → **SQLite** (`better-sqlite3` in Main process) │ └─ User Files? → **Native File System API** │ └─ **UI Framework** ├─ React/Vue/Svelte? → **Yes** (Standard SPA approach) ├─ Multiple Windows? → **Window Manager Pattern** └─ System Tray App? → **Hidden Window Pattern**
IPC Communication Patterns
| Pattern | Method | Use Case |
|---|---|---|
| One-Way (Renderer → Main) | | logging, analytics, minimizing window |
| Two-Way (Request/Response) | | DB queries, file reads, heavy computations |
| Main → Renderer | | Menu actions, system events, push notifications |
Red Flags → Escalate to
:security-auditor
- Enabling
in productionnodeIntegration: true - Disabling
contextIsolation - Loading remote content (
) without strict CSPhttps:// - Using
module (Deprecated & insecure)remote
Workflow 2: Performance Optimization (Startup)
Goal: Reduce launch time to < 2s.
Steps:
-
V8 Snapshot
- Use
orelectron-link
to pre-compile JS.v8-compile-cache
- Use
-
Lazy Loading Modules
- Don't
everything at top ofrequire()
.main.ts
// Bad import { heavyLib } from 'heavy-lib'; // Good ipcMain.handle('do-work', () => { const heavyLib = require('heavy-lib'); heavyLib.process(); }); - Don't
-
Bundle Main Process
- Use
oresbuild
for Main process (not just Renderer) to tree-shake unused code and minify.webpack
- Use
4. Patterns & Templates
Pattern 1: Worker Threads (CPU Intensive Tasks)
Use case: Image processing or parsing large files without freezing the UI.
// main.ts import { Worker } from 'worker_threads'; ipcMain.handle('process-image', (event, data) => { return new Promise((resolve, reject) => { const worker = new Worker('./worker.js', { workerData: data }); worker.on('message', resolve); worker.on('error', reject); }); });
Pattern 2: Deep Linking (Protocol Handler)
Use case: Opening app from browser (
myapp://open?id=123).
// main.ts if (process.defaultApp) { if (process.argv.length >= 2) { app.setAsDefaultProtocolClient('myapp', process.execPath, [path.resolve(process.argv[1])]); } } else { app.setAsDefaultProtocolClient('myapp'); } app.on('open-url', (event, url) => { event.preventDefault(); // Parse url 'myapp://...' and navigate renderer mainWindow.webContents.send('navigate', url); });
6. Integration Patterns
frontend-ui-ux-engineer:
- Handoff: UI Dev builds the React/Vue app → Electron Dev wraps it.
- Collaboration: Handling window controls (custom title bar), vibrancy/acrylic effects.
- Tools: CSS
.app-region: drag
devops-engineer:
- Handoff: Electron Dev provides build config → DevOps sets up CI pipeline.
- Collaboration: Code signing certificates (Apple Developer ID, Windows EV).
- Tools: Electron Builder, Notarization scripts.
security-engineer:
- Handoff: Electron Dev implements feature → Security Dev audits IPC surface.
- Collaboration: Defining Content Security Policy (CSP) headers.
- Tools: Electronegativity (Scanner).