ワンクリックで
new-ipc-channel
Scaffold a new IPC channel with proper TypeScript types
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Scaffold a new IPC channel with proper TypeScript types
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Build and test the Electron app with proper worktree isolation
Audit translation completeness across all language files
Generate release notes from git history between tags
Create or review Qase-ready QA flows for Rocket.Chat Desktop PRs and branches.
| name | new-ipc-channel |
| description | Scaffold a new IPC channel with proper TypeScript types |
Add a new type-safe IPC channel to the Rocket.Chat Electron app. This scaffolds the channel definition, main process handler, and renderer invoke call.
name: Channel name using domain/action format (e.g., downloads/clear-all, notifications/dismiss)args: TypeScript argument types (e.g., (itemId: string) or () for no args)return: TypeScript return type (e.g., void, boolean, { success: boolean })Edit src/ipc/channels.ts and add the new channel to the ChannelToArgsMap type:
type ChannelToArgsMap = {
// ... existing channels ...
'<name>': (<args>) => <return>;
};
Add any needed imports at the top of the file if the types reference domain-specific types.
Identify the correct main process file based on the channel domain:
downloads/* → src/downloads/main.tsnotifications/* → src/notifications/main.tsservers/* → src/servers/main.tsvideo-call-window/* → src/videoCallWindow/main.tsoutlook-calendar/* → src/outlookCalendar/main.tsdocument-viewer/* → src/documentViewer/main.tsAdd the handler using the existing pattern in that file. Look at sibling handlers for the correct pattern - they use ipcMain.handle or the project's handle wrapper from src/ipc/main.ts.
If this channel is called from the renderer process, add the invoke call in the appropriate renderer file or in src/ipc/renderer.ts following the existing pattern.
Run type checking to ensure the new channel compiles:
npx tsc --noEmit
The IPC system uses a centralized type map (ChannelToArgsMap) that enforces type safety between main and renderer processes. The Channel and Handler types are derived from this map:
export type Channel = keyof ChannelToArgsMap;
export type Handler<N extends Channel> = ChannelToArgsMap[N];
All 71+ existing channels follow the 'domain/action' naming convention.