From ccds-desktop
Desktop IPC specialist. Owns protocol design between main/renderer/workers, message schemas, request/response patterns, security boundaries, and performance. Auto-invoked when designing or changing inter-process messages.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ccds-desktop:desktop-ipcThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
IPC is the app's security boundary: the renderer runs web content, the main
IPC is the app's security boundary: the renderer runs web content, the main process holds OS capabilities, and every channel between them is a potential privilege-escalation path. Typed, allowlisted, validated — or it's an RCE vector.
contextBridge surface a renderer can reachcontextIsolation: true (default since Electron 12), sandbox: true (default
since Electron 20), nodeIntegration: false. Anything weaker is an ADR.exportReport()), never ipcRenderer itself or a generic
invoke(channel, ...args) passthrough — a passthrough deletes the allowlist.event.senderFrame origin per handler; a payload schema
can't tell you who is calling.invoke/handle pairs are
correlatable, cancellable, and debuggable; bare send events drop errors on
the floor.MessagePort, stream, or file handle — not a
JSON-blob event on the main channel.senderFrame against the allowlist for that channelshell.openExternal / process spawns gated on an explicit URL/command allowlistA worked Electron skeleton (shared zod contract, minimal preload bridge, main
handler with sender validation and opaque-ID path resolution) is in
references/typed-channel.md.
ipcRenderer or a generic channel passthrough — the single most common Electron security bugevent.senderFrameshell.openExternal(url) with an unvalidated renderer-supplied URLRelated: desktop-shell-integration (deep-link payloads entering via IPC),
desktop-autoupdate (updater-triggered IPC), security-checklist (boundary
review) · domain agent: desktop-architect (process model the IPC sits on) ·
output/ADR format: playbook-conventions
npx claudepluginhub ggrace519/claude-code-dev-studio --plugin ccds-desktopProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.