Agent skill

Desktop Shell

by openchamber in openchamber/openchamber

A skill your agent uses when changing Electron main/preload code, desktop IPC, native windows, menus, dialogs, notifications, updater behavior, deep links, SSH or tunnels, child processes, packaged…

MITAuto-check passedMobile

Install Desktop Shell

skills CLI
$ npx skills add openchamber/openchamber --skill desktop-shell -a claude-code

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

GitHub CLI
$ gh skill install openchamber/openchamber desktop-shell --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/openchamber/openchamber.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/desktop-shell .claude/skills/desktop-shell && 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
desktop-shell
GitHub stars
11k
Token cost
~1.2k tokens
SKILL.md length
609 words
Files
1
Skills in repo
20
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when changing Electron main/preload code, desktop IPC, native windows, menus, dialogs, notifications, updater behavior, deep links, SSH or tunnels, child processes, packaged…

  • Works in 5 steps: Add a preload bridge shape only when… → Handle the native operation in main.mjs. → Gate privileged commands in the main… → …
  • Changing Electron main/preload code
  • SKILL.md covers Required Context, Runtime Boundary, IPC And Security and Windows Background Processes, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Desktop Shell is an agent skill from openchamber/openchamber. Use when changing Electron main/preload code, desktop IPC, native windows, menus, dialogs, notifications, updater behavior, deep links, SSH or tunnels, child processes, packaged startup, or Windows process spawning.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile. The repository describes itself as: Agentic Development Environment based on OpenCode AI agent. The licence is MIT.

When your agent uses it

  • Changing Electron main/preload code
  • Updater behavior
  • Child processes
  • Packaged startup

Example prompts

  • “/desktop-shell”

Workflow steps

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

  1. Add a preload bridge shape only when renderer-facing capability changes.
  2. Handle the native operation in main.mjs.
  3. Gate privileged commands in the main process; renderer checks are not security boundaries.
  4. Expose the narrowest payload and never expose filesystem, shell, tokens, or host secrets to remote pages.
  5. Do not import Electron from shared UI code.

What it can do on your machine

Read from SKILL.md and the folder at commit eabe419. 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

    No scripts in the folder and no shell commands in SKILL.md.

    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

Desktop Shell loads about 1.2k tokens when it runs. Until then it costs about 57 tokens; SKILL.md has 609 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~57
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

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 openchamber/openchamber at commit eabe419, republished under its MIT licence (© openchamber). 609 words, ~1,228 tokens.

Download SKILL.mdSave it as .claude/skills/desktop-shell/SKILL.md (or your agent's skills folder).
name
desktop-shell
description
Use when changing Electron main/preload code, desktop IPC, native windows, menus, dialogs, notifications, updater behavior, deep links, SSH or tunnels, child processes, packaged startup, or Windows process spawning.

Desktop Shell

Required Context

Read packages/electron/README.md and nearby packages/electron code before editing. Context gathering is complete when each changed behavior is assigned to main, preload, renderer/shared UI, or web/runtime ownership.

Load ui-api-decoupling when a native change adds or alters a renderer-facing capability, RuntimeAPIs, runtime auth/URL behavior, or shared bridge contract. This skill owns the Electron privilege boundary; ui-api-decoupling owns the shared UI/runtime contract.

Before editing behavior a user can reach, write the surface list from ui-api-decoupling, Name The Surfaces Before Editing: one line per runtime, including the ones this change appears to leave alone. A native-looking change is the usual place this gets skipped: a shutdown order, an updater handoff, or a window lifecycle reads as desktop-only while the sequence around it is shared, and the platform guard that is correct on its own becomes a trap when the rest of the sequence does not account for it.

Runtime Boundary

  • Electron boots @openchamber/web in the same Node process and loads the UI over loopback. Do not introduce a sidecar server process.
  • Keep renderer contracts and domain logic in packages/ui, server behavior in packages/web, and Electron focused on inherently native behavior: windows, menus, dialogs, notifications, updater, deep links, runtime host switching, privileged IPC, SSH, and tunnel lifecycle.
  • Electron is the desktop release target.

IPC And Security

  1. Add a preload bridge shape only when renderer-facing capability changes.
  2. Handle the native operation in main.mjs.
  3. Gate privileged commands in the main process; renderer checks are not security boundaries.
  4. Expose the narrowest payload and never expose filesystem, shell, tokens, or host secrets to remote pages.
  5. Do not import Electron from shared UI code.

Remote runtime pages must not gain local desktop privileges. Treat deep links, host imports, stored credentials, and runtime switching as trust-boundary operations.

Windows Background Processes

Non-user-visible child processes must never flash a console window.

  • Spawn the target executable directly with windowsHide: true.
  • Use stdio: 'ignore' for detached/background helpers and call unref() when they must outlive Electron.
  • Avoid cmd.exe /c, batch shims, taskkill, ping delays, and pipelines that create console grandchildren. windowsHide reliably controls only the directly spawned process.
  • Prefer native Node/Electron APIs when available.
  • For delayed work that must survive app exit, spawn one first-level hidden helper, such as powershell.exe -NoProfile -NonInteractive -WindowStyle Hidden -EncodedCommand ...; perform delay and work inside that process with cmdlets.
  • Omit hidden-process behavior only for intentionally user-visible terminals or applications.
Show full SKILL.md (212 more words)Show less

Packaging And Lifecycle

  • Keep native/external modules configured according to packages/electron/README.md and bundle-main.mjs.
  • Preserve startup, quit, updater, notification, and deep-link behavior across development and packaged builds.
  • Ensure cleanup tolerates partial startup and repeated shutdown signals.
  • Do not infer readiness from stdout when an in-process callback or returned server handle exists.

Validation

Before judging any change to the update or quit/install sequence, read openchamber-change-discipline's references/updater-testing.md: that path cannot be verified by review or by unit tests, a run done the obvious way reports success while testing nothing, and a passing run on one platform says nothing about the others.

Auth and header bugs reproduce only in the installed app: only the packaged renderer (openchamber-ui://app) is cross-origin and attaches the client bearer (Authorization: Bearer oc_client_…); dev web and dev Electron run same-origin without it. To inspect the installed app, quit it and relaunch /Applications/OpenChamber.app/Contents/MacOS/OpenChamber --remote-debugging-port=9222, then talk CDP over the page's own webSocketDebuggerUrl from http://127.0.0.1:9222/json/list (a browser-level connectOverCDP times out). Its server answers on desktopLocalPort from ~/.config/openchamber/settings.json; logs are in ~/Library/Logs/OpenChamber/main.log.

Run focused Electron tests and package checks. For startup, preload, routing, or packaging changes, completion requires both HMR development and bundled UI validation. For Windows process work, completion requires inspection of the complete process tree with no console flash; command success alone is insufficient.

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

Files

Just SKILL.md in .agents/skills/desktop-shell of openchamber/openchamber.

Open the folder on GitHubat commit eabe419

Compare with similar skills

Desktop Shell 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.

Desktop Shell compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Desktop Shell this skillopenchamber/openchamber11k—~1.2kAutomated safety check: PassMIT
React Native Best Practicesvercel-labs/openreview1.7k17 repos~1.1kAutomated safety check: PassMIT
Swiftui Protwostraws/SwiftUI-Agent-Skill5.1k2 repos~1.5kAutomated safety check: PassMIT
Kortix Brandkortix-ai/suna20k—~4kAutomated safety check: PassCustom licence
Ip As LogoKartikLabhshetwar/better-shot2.4k1 repos~4.3kAutomated safety check: PassMIT
Compose Multiplatform Patternsmonta-app/ocpp-emulator1805 repos~2kAutomated safety check: PassApache-2.0

Similar skills

  • React Native Best Practices

    vercel-labs/openreview

    Official

    A prioritized rule set for React Native and Expo apps covering list performance, animation, navigation, UI patterns, state, rendering, monorepos and configuration.

    1.7k GitHub starsUsed in 17 repos~1.1k tokens
    MobileAuto-check passed
  • Swiftui Pro

    twostraws/SwiftUI-Agent-Skill

    Comprehensively reviews SwiftUI code for best practices on modern APIs, maintainability, and performance.

    5.1k GitHub starsUsed in 2 repos~1.5k tokens
    MobileAuto-check passed
  • Kortix Brand

    kortix-ai/suna

    Load FIRST for anything that carries the Kortix look or voice: product or mobile UI, copy of any kind, decks, social, images, email, CLI output, anything with the logo, and reviews of these.

    20k GitHub stars~4k tokensUpdated today
    MobileAuto-check passed
  • Ip As Logo

    KartikLabhshetwar/better-shot

    Generate extremely simple, cute, personified square character images with rounded heavy forms, two purposeful character colors, one solid background color, and a dominant lower-corner composition.

    2.4k GitHub starsUsed in 1 repo~4.3k tokens
    MobileAuto-check passed
  • Compose Multiplatform Patterns

    monta-app/ocpp-emulator

    Compose Multiplatform and Jetpack Compose patterns for KMP projects — state management, navigation, theming, performance, and platform-specific UI.

    180 GitHub starsUsed in 5 repos~2k tokens
    MobileAuto-check passed
  • Aso Appstore Screenshots

    adamlyttleapps/claude-skill-aso-appstore-screenshots

    Generate high-converting App Store screenshots by analyzing your app's codebase, discovering core benefits, and creating ASO-optimized screenshot images using Nano Banana Pro.

    1.8k GitHub starsUsed in 1 repo~9.6k tokens
    MobileAuto-check passed

More from openchamber/openchamber

All 20 skills in this repo
  • Theme System

    openchamber/openchamber

    A skill your agent uses when creating or modifying OpenChamber UI components, styling, colors, buttons, visual states, themes, or icons.

    11k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • UI API Decoupling

    openchamber/openchamber

    A skill your agent uses when creating or modifying OpenChamber shared UI data access, OpenCode SDK calls, RuntimeAPIs, runtime fetch/auth/URLs, authenticated browser assets, bridges/proxies, runtime…

    11k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Drag To Reorder

    openchamber/openchamber

    A skill your agent uses when implementing or modifying OpenChamber sortable or drag-to-reorder behavior, especially @dnd-kit, touch/mobile interactions, variable-width items, or wrapping layouts.

    11k GitHub stars~1.8k tokensUpdated today
    Auto-check passed
  • Locale UI Patterns

    openchamber/openchamber

    A skill your agent uses when creating or modifying OpenChamber UI text, labels, buttons, placeholders, aria labels, empty states, toasts, dialogs, settings copy, navigation labels, or any…

    11k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Performance Engineering

    openchamber/openchamber

    A skill your agent uses when implementing or reviewing code on interaction, render, event, polling, synchronization, list-processing, store-selector, cache, indexing, or high-volume data paths; when…

    11k GitHub stars~4.9k tokensUpdated today
    Auto-check passed
  • Serve Sim

    openchamber/openchamber

    A skill your agent uses when working with the OpenChamber iOS Simulator app without opening Xcode - boot/install/launch the Capacitor iOS app, start a browser stream, tap/type/gesture/rotate…

    11k GitHub stars~619 tokensUpdated today
    Auto-check passed

Categories

Questions about Desktop Shell

What does Desktop Shell do?

A skill your agent uses when changing Electron main/preload code, desktop IPC, native windows, menus, dialogs, notifications, updater behavior, deep links, SSH or tunnels, child processes, packaged…. Desktop Shell is an agent skill from openchamber/openchamber. Use when changing Electron main/preload code, desktop IPC, native windows, menus, dialogs, notifications, updater behavior, deep links, SSH or tunnels, child processes, packaged startup, or Windows process spawning.

When should I use Desktop Shell?

Desktop Shell fits situations like: changing Electron main/preload code; updater behavior; child processes; packaged startup.

How do I install Desktop Shell in Claude Code?

Run `npx skills add openchamber/openchamber --skill desktop-shell -a claude-code`. Or copy the skill folder (.agents/skills/desktop-shell in openchamber/openchamber) into .claude/skills/desktop-shell in your project. Claude Code loads it when a task matches its description.

How do I install Desktop Shell in Codex?

Run `npx skills add openchamber/openchamber --skill desktop-shell -a codex`. Or copy the skill folder (.agents/skills/desktop-shell in openchamber/openchamber) into .agents/skills/desktop-shell in your project. Codex loads it when a task matches its description.

Can I use Desktop Shell 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 openchamber/openchamber --skill desktop-shell -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/desktop-shell, .gemini/skills/desktop-shell, .github/skills/desktop-shell and .opencode/skills/desktop-shell in your project.

What does Desktop Shell need to run?

SKILL.md names no scripts, command-line tools or credentials: Desktop Shell is instructions for the agent only.

Does Desktop Shell 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 Desktop Shell 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 Desktop Shell use?

Desktop Shell is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Desktop Shell use?

About 1.2k tokens (SKILL.md is roughly 4.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Desktop Shell?

Skills that share tags, products or a category with Desktop Shell: React Native Best Practices (vercel-labs/openreview, 1.7k stars), Swiftui Pro (twostraws/SwiftUI-Agent-Skill, 5.1k stars), Kortix Brand (kortix-ai/suna, 20k stars) and Ip As Logo (KartikLabhshetwar/better-shot, 2.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Desktop Shell?

openchamber (a GitHub organization) maintains it in openchamber/openchamber, which has 11,259 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 8, 2026.

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