Agent skill

Add Ipc Channel

by genex-games in genex-games/genex-desktop

Add or change a renderer-to-main IPC channel (a new window.studio call) end to end - main handler, preload, typed API, fixture classification and tests.

MITAuto-check passedTesting & QA

Install Add Ipc Channel

skills CLI
$ npx skills add genex-games/genex-desktop --skill add-ipc-channel -a claude-code

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

GitHub CLI
$ gh skill install genex-games/genex-desktop add-ipc-channel --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/genex-games/genex-desktop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/add-ipc-channel .claude/skills/add-ipc-channel && 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
add-ipc-channel
GitHub stars
507
Token cost
~1.1k tokens
SKILL.md length
514 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

Add or change a renderer-to-main IPC channel (a new window.studio call) end to end - main handler, preload, typed API, fixture classification and tests.

  • Works in 7 steps: Contract - src/shared/studio-api.ts: add… → Channel map -… → Preload - src/preload/studio-bridge.ts:… → …
  • The renderer needs a new capability from the main process
  • SKILL.md covers Files, in order and Tests (red first)
  • Calls npm and node

What it does

Add Ipc Channel is an agent skill from genex-games/genex-desktop. Add or change a renderer-to-main IPC channel (a new window.studio call) end to end - main handler, preload, typed API, fixture classification and tests. Use when the renderer needs a new capability from the main process or core.

Its SKILL.md is about 1.1k 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 Testing & QA. The repository describes itself as: Desktop app for game dev with AI. macOS and Linux, Windows soon. The licence is MIT.

When your agent uses it

  • The renderer needs a new capability from the main process

Example prompts

  • “/add-ipc-channel”

Workflow steps

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

  1. Contract - src/shared/studio-api.ts: add the method to StudioApi with exact
  2. Channel map - src/shared/ipc-channels.ts: "studio:my.thing": "myThing" in
  3. Preload - src/preload/studio-bridge.ts: one line in the returned object,
  4. Main - the domain's registrar, src/main/ipc/.ts (composed by
  5. Classify - src/main/dev/native-policy.ts: add the channel to the fixture-safe list
  6. Renderer - call window.studio.myThing(...) from the owning panel/hook.
  7. Docs - if users can see the behaviour, update the owning docs/product/*.md page.

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • npm
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    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

Add Ipc Channel loads about 1.1k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 514 words of instructions outside code blocks.

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

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 genex-games/genex-desktop at commit 937612f, republished under its MIT licence (© genex-games). 514 words, ~1,094 tokens.

Download SKILL.mdSave it as .claude/skills/add-ipc-channel/SKILL.md (or your agent's skills folder).
name
add-ipc-channel
description
Add or change a renderer-to-main IPC channel (a new window.studio call) end to end - main handler, preload, typed API, fixture classification and tests. Use when the renderer needs a new capability from the main process or core.

Add an IPC channel

The renderer reaches main only through the fixed preload API. There is no generic invoke, no eval and no filesystem access from the page; every capability is one named call.

Files, in order

  1. Contract - src/shared/studio-api.ts: add the method to StudioApi with exact parameter and result types. Put shared payload types in a src/shared/*.ts module (browser-safe: no node:, no electron, no imports from src/main|preload|substrate).
  2. Channel map - src/shared/ipc-channels.ts: "studio:my.thing": "myThing" in STUDIO_INVOKE_CHANNELS and "studio:my.thing": { id: string } in StudioInvokePayloads (the payload the preload sends; the result is derived from StudioApi). A push stream from main is a STUDIO_PUSH_CHANNELS entry naming its on* call; a new UI event rides the existing studio:event push and is a UiEventMap key instead, and a new durable record is a CustomEventMap entry read through studio:events (the add-event-type skill). A method the harness calls is no channel either: it is a HarnessHostApi key in src/shared/harness-api.ts (docs/agent/recipes.md, Harness RPC method).
  3. Preload - src/preload/studio-bridge.ts: one line in the returned object, myThing: id => invoke("studio:my.thing", { id }). Keep it a named call; a push stream uses subscribe(channel, listener) like onTerminal.
  4. Main - the domain's registrar, src/main/ipc/<domain>.ts (composed by src/main/index.ts; a new domain gets its own register<Domain>Ipc(handle, deps) there): handle("studio:my.thing", payload => core.myThing(payload.id)); with no payload annotation: handle takes the payload and result types from the map, wraps the result as {ok,value}/{ok,error} and runs the fixture guard. A registrar owns no state: it takes the core and anything else it needs as explicit deps. Push with pushToRenderer. Validate the payload at this boundary (types are not checked at runtime); resolve paths by realpath inside an owned root; never accept a PID, URL to open or absolute path from the page unless the channel exists for exactly that and is native. Put the logic in StudioCore (src/main/studio-core.ts) or the service under src/main/core/ it delegates to, not in the handler, so it is testable in Node.
  5. Classify - src/main/dev/native-policy.ts: add the channel to the fixture-safe list (no account, dialog, download, external app or network) or to the native list. Both lists are checked against the channel map, so an unclassified channel fails npm run typecheck; at runtime fixture profiles refuse it too.
  6. Renderer - call window.studio.myThing(...) from the owning panel/hook.
  7. Docs - if users can see the behaviour, update the owning docs/product/*.md page.
Show full SKILL.md (133 more words)Show less

Tests (red first)

  • Behaviour: test the core method or module directly. tests/helpers/core-lite.ts (coreLite()) gives a real StudioCore without a harness; use tests/helpers/studio-rig.ts only when the harness loop must run.
  • Handler wiring, when the handler does more than call the core (pushes, keep-awake, several calls): drive the registrar through the real typed handle() from createIpcHandle with recorders for its deps, as tests/conformance/main-ipc.test.ts does.
  • Hostile input: a table of bad payloads (missing fields, traversal ../, symlink escape, wrong types) asserting the call fails and nothing was written.
  • Policy: node --test tests/conformance/native-policy.test.ts tests/conformance/dev-policy.test.ts.
  • Contract: npm run typecheck (the map types both sides) and tests/conformance/ipc-contract.test.ts (the preload, main and the policy use exactly the map's channels).
  • Rendered check when UI changed: the verify-ui-via-dev-control skill.
sh
npm test -- tests/conformance/native-policy.test.ts tests/conformance/<your-area>.test.ts
npm run verify:architecture   # browser boundary

Do not add assertions that read index.ts or the preload as text; test behaviour.

© genex-games, 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/add-ipc-channel of genex-games/genex-desktop.

Open the folder on GitHubat commit 937612f

Compare with similar skills

Add Ipc Channel 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.

Add Ipc Channel compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Add Ipc Channel this skillgenex-games/genex-desktop507—~1.1kAutomated safety check: PassMIT
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
Diagnosing Bugsfossasia/eventyay-interpretation1.6k32 repos~2.1kAutomated safety check: PassApache-2.0
TDDpietheinstrengholt/rssmonster56430 repos~906Automated safety check: PassMIT
TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph11211 repos~2.4kAutomated safety check: PassNone
TDDsanity-io/sanity6.4k20 repos~1kAutomated safety check: PassMIT

Similar skills

  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • Diagnosing Bugs

    fossasia/eventyay-interpretation

    Diagnosis loop for hard bugs and performance regressions. An agent skill from fossasia/eventyay-interpretation.

    1.6k GitHub starsUsed in 32 repos~2.1k tokens
    Testing & QAAuto-check passed
  • TDD

    pietheinstrengholt/rssmonster

    Test-driven development. An agent skill from pietheinstrengholt/rssmonster.

    564 GitHub starsUsed in 30 repos~906 tokens
    Testing & QAAuto-check passed
  • TDD Workflow

    hellangleZ/burn-in-cceverywhere-ralph

    A skill your agent uses when writing new features, fixing bugs, or refactoring code.

    112 GitHub starsUsed in 11 repos~2.4k tokens
    Testing & QAAuto-check passed
  • TDD

    sanity-io/sanity

    Official

    Test-driven development with red-green-refactor loop. An agent skill from sanity-io/sanity.

    6.4k GitHub starsUsed in 20 repos~1k tokens
    Testing & QAAuto-check passed
  • Context Driven Development

    Ibrahim-3d/orchestrator-supaconductor

    A skill your agent uses when working with Conductor's context-driven development methodology, managing project context artifacts, or understanding the relationship between product.md, tech-stack.md…

    381 GitHub starsUsed in 9 repos~2.9k tokens
    Testing & QAAuto-check passed

More from genex-games/genex-desktop

  • Add Event Type

    genex-games/genex-desktop

    Add a new persisted event (custom eventtype in the append-only log) or a transient UI event, with its producer, readers and tests.

    507 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Add Plugin Tool

    genex-games/genex-desktop

    Add or change an agent-callable tool contributed by a Studio plugin (manifest declaration, backend handler, consent, docs and tests).

    507 GitHub stars~841 tokensUpdated today
    Auto-check passed
  • Harness Incident Fix

    genex-games/genex-desktop

    Fix a bug in the in-app harness loop (src/harness-seed/) test-first - write the incident row that reproduces it, see it fail, fix, then run the harness gate.

    507 GitHub stars~843 tokensUpdated today
    Auto-check passed
  • Run Area Tests

    genex-games/genex-desktop

    Pick and run only the tests a change can affect - the affected-tests selector, one knowledge-map area, or named files - instead of the full suite.

    507 GitHub stars~698 tokensUpdated today
    Auto-check passed
  • Break

    genex-games/genex-desktop

    Renders a component you choose in every state and scenario on a temporary page and stress tests it.

    507 GitHub starsUsed in 1 repo~1.7k tokens
    Auto-check passed
  • Verify UI Via Dev Control

    genex-games/genex-desktop

    Verify renderer, IPC, preview or startup changes through owned studio:dev profiles, or hand off the real app for manual testing.

    507 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Categories

Questions about Add Ipc Channel

What does Add Ipc Channel do?

Add or change a renderer-to-main IPC channel (a new window.studio call) end to end - main handler, preload, typed API, fixture classification and tests. Add Ipc Channel is an agent skill from genex-games/genex-desktop.studio call) end to end - main handler, preload, typed API, fixture classification and tests.

When should I use Add Ipc Channel?

Add Ipc Channel fits situations like: the renderer needs a new capability from the main process.

How do I install Add Ipc Channel in Claude Code?

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

How do I install Add Ipc Channel in Codex?

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

Can I use Add Ipc Channel 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 genex-games/genex-desktop --skill add-ipc-channel -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-ipc-channel, .gemini/skills/add-ipc-channel, .github/skills/add-ipc-channel and .opencode/skills/add-ipc-channel in your project.

What does Add Ipc Channel need to run?

Going by SKILL.md and its folder, Add Ipc Channel needs the command-line tools its instructions call (npm and node).

Does Add Ipc Channel access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Add Ipc Channel 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 Add Ipc Channel use?

Add Ipc Channel 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 Add Ipc Channel use?

About 1.1k tokens (SKILL.md is roughly 4.4k 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 Add Ipc Channel?

Skills that share tags, products or a category with Add Ipc Channel: Web Application Testing (anthropics/skills, 180k stars), Diagnosing Bugs (fossasia/eventyay-interpretation, 1.6k stars), TDD (pietheinstrengholt/rssmonster, 564 stars) and TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Add Ipc Channel?

genex-games (a GitHub organization) maintains it in genex-games/genex-desktop, which has 507 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 2026.

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