Agent skill · software engineering · aradotso

qclaw-openclaw-desktop

qclaw-openclaw-desktop — an agent skill for coding agents.

Why this skill is useful

Provides specific commands and workflows for managing OpenClaw models and integrations that the AI wouldn't reliably generate on its own.

What it needs

Requires node installed locally. About 7k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.

What this skill does

bash git clone https://github.com/qiuzhi2046/Qclaw.git cd Qclaw npm install Start dev server (Electron + Vite hot reload) npm run dev Type check npm run typecheck Run tests npm test Build production app npm run build electron/ main/ # Main process: window, CLI calls, IPC handlers preload/ # Preload scripts (secure IPC bridge) src/ pages/ # React pages: wizard steps, Dashboard, Chat components/ # Shared UI components lib/ # Business logic: channel/provider registration shared/ # Config workflows, gateway diagnostics assets/ # Icons and static assets docs/ # Architecture docs, changelogs scripts/ # Build, signing, notarization, versioning, COS release build/ # App icons and packaging resources ┌─────────────────────────────────────────────┐ │ Qclaw │ │ │ │ Main Process (Node.js) ◄─IPC─► Renderer │ │ ┌──────────────────┐ (React) │ │ │ cli.ts │ │ │ │ OpenClaw CLI │ Wizard pages │ │ │ invocation │ Dashboard │ │ ├──────────────────┤ Chat UI │ │ │ File I/O │ │ │ │ Process mgmt │ │ │ │ System integration│ │ │ └────────┬─────────┘ │ │ │ │ │ ▼ │ │ OpenClaw CLI (~/.openclaw/) │ └─────────────────────────────────────────────┘ typescript import { contextBridge, ipcRenderer } from 'electron' contextBridge.exposeInMainWorld('electronAPI', { // Invoke main process handlers invoke: (channel: string, ...args: unknown[]) => ipcRenderer.invoke(channel, ...args), // Subscribe to events from main on: (channel: string, callback: (...args: unknown[]) => void) => { ipcRenderer.on(channel, (event, ...args) => callback(...args)) }, // Remove listeners removeAllListeners: (channel: string) => { ipcRenderer.removeAllListeners(channel) }, }) typescript import { ipcMain } from 'electron' import { runOpenClawCli } from './cli' // Handle CLI invocation from renderer ipcMain.handle('openclaw:start', async (event, config) => { try { const result = await runOpenClawCli(['start', '--config', config]) return { success: true, output: result } } catch (error) { return { success: false, error: (error as Er …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aradotso/qclaw-openclaw-desktop

View the source on GitHub

Browse the @skills marketplace