Skip to content
Development
Skill

/electron-skills

Electron patterns for LlamaFarm Desktop. Covers main/renderer processes, IPC, security, and packaging.

From plugin
llamafarm
83619 skills1 MCP

Claude Code

$ npx -y skills add llama-farm/llamafarm --skill electron-skills --agent claude-code

SKILL.md

electron-skills.SKILL.md
name: electron-skills
description: Electron patterns for LlamaFarm Desktop. Covers main/renderer processes, IPC, security, and packaging.
allowed-tools: Read, Grep, Glob
user-invocable: false

Electron Skills for LlamaFarm Desktop

Electron 28 + Electron Vite patterns for the LlamaFarm Desktop application.

Overview

This skill extends [typescript-skills](../typescript-skills/SKILL.md) with Electron-specific patterns for main/renderer process architecture, IPC communication, security, and performance.

Tech Stack

| Component | Technology | Purpose | |-----------|------------|---------| | Framework | Electron 28 | Desktop application framework | | Build | electron-vite 2 | Vite-based build for main/preload/renderer | | Updates | electron-updater | Auto-update via GitHub releases | | Packaging | electron-builder | Cross-platform packaging (macOS/Win/Linux) |

Architecture

electron-app/
  src/
    main/           # Main process (Node.js context)
      index.ts      # App entry, lifecycle, IPC handlers
      backend/      # CLI installer, model downloader
      window-manager.ts
      menu-manager.ts
      logger.ts
    preload/        # Preload scripts (bridge context)
      index.ts      # contextBridge API exposure
    renderer/       # Renderer process (browser context)
      index.html    # Main window
      splash.html   # Splash screen

Core Principles

1. **Process isolation** - Main, preload, and renderer are separate contexts 2. **Context isolation** - Always use `contextBridge.exposeInMainWorld` 3. **No Node in renderer** - `nodeIntegration: false` always 4. **Type-safe IPC** - Define channel types and payload schemas 5. **Secure by default** - Minimize exposed APIs in preload

Related Documents

  • [electron.md](./electron.md) - IPC patterns, main/renderer communication
  • [security.md](./security.md) - Context isolation, preload security, CSP
  • [performance.md](./performance.md) - Window management, memory, startup

Shared TypeScript Patterns

This skill inherits from [typescript-skills](../typescript-skills/SKILL.md):

  • [patterns.md](../typescript-skills/patterns.md) - Idiomatic TypeScript
  • [typing.md](../typescript-skills/typing.md) - Strict typing, generics
  • [security.md](../typescript-skills/security.md) - Input validation, XSS prevention

Quick Reference

IPC Handler Pattern (Main Process)

ipcMain.handle('cli:info', async () => {
  const isInstalled = await this.cliInstaller.isInstalled()
  return {
    isInstalled,
    path: isInstalled ? this.cliInstaller.getCLIPath() : null
  }
})

Preload Bridge Pattern

const api = {
  cli: {
    getInfo: () => ipcRenderer.invoke('cli:info')
  },
  platform: process.platform,
  version: process.versions.electron
}

contextBridge.exposeInMainWorld('llamafarm', api)

BrowserWindow Configuration

new BrowserWindow({
  webPreferences: {
    preload: path.join(__dirname, '../preload/index.js'),
    nodeIntegration: false,
    contextIsolation: true
  }
})

Checklist Summary

| Category | Critical | High | Medium | Low | |----------|----------|------|--------|-----| | IPC | 2 | 3 | 2 | 1 | | Security | 4 | 3 | 2 | 1 | | Performance | 1 | 3 | 3 | 2 |

Read more
@llama-farm
Ships withllamafarm

Enterprise AI capabilities on your own hardware. No cloud required. LlamaFarm is an open-source AI platform that runs entirely on your hardware.

83619 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
836
Star history of llama-farm/llamafarm on GitHub, a chart by star-history.com

Other skills on llamafarm.

cli-skills

cli-skills

CLI best practices for LlamaFarm. Covers Cobra, Bubbletea, Lipgloss patterns for Go CLI development.

code-review

code-review

Comprehensive code review for diffs. Analyzes changed code for security vulnerabilities, anti-patterns, and quality issues.…

commit-push-pr

commit-push-pr

Commit changes, push to GitHub, and open a PR. Includes quality checks (security, patterns, simplification). Use --quick to skip…

common-skills

common-skills

Best practices for the Common utilities package in LlamaFarm. Covers HuggingFace Hub integration, GGUF model management, and…

config-skills

config-skills

Configuration module patterns for LlamaFarm. Covers Pydantic v2 models, JSONSchema generation, YAML processing, and validation.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about electron-skills.

Which coding agents can use electron-skills?
electron-skills installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.