Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/rajavijayach/electrobun-skillsnpx agentmods add skills/rajavijayach/electrobun-skills/electrobun-rpc-patternsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/rajavijayach/electrobun-skills/electrobun-rpc-patterns)<a href="https://agentmods.dev/skills/rajavijayach/electrobun-skills/electrobun-rpc-patterns"><img src="https://agentmods.dev/badge/skills/rajavijayach/electrobun-skills/electrobun-rpc-patterns/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/rajavijayach/electrobun-skills/electrobun-rpc-patterns"><img src="https://agentmods.dev/badge/skills/rajavijayach/electrobun-skills/electrobun-rpc-patterns.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00180 | $0.03626 |
| Opus 5.5 | $0.00072 | $0.01450 |
| Sonnet 5.5 | $0.00036 | $0.00725 |
| Haiku 4.5 | $0.00018 | $0.00363 |
Grade A, and why
electrobun-rpc-patterns scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 628 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Electrobun RPC Patterns
Advanced patterns for type-safe, performant RPC communication in Electrobun.
Type-Safe RPC
Shared Types Definition
Create a shared types file that both main and webview can import:
src/types/rpc.ts:
// Main process handlers (exposed to webview)
export interface MainRpcHandlers {
getUser(id: string): Promise<User>;
saveFile(path: string, content: string): Promise<SaveResult>;
listFiles(directory: string): Promise<FileInfo[]>;
executeCommand(cmd: string, args: string[]): Promise<CommandResult>;
}
// Webview handlers (exposed to main)
export interface WebviewRpcHandlers {
updateUI(data: UIUpdate): Promise<void>;
showNotification(message: string, type: NotificationType): Promise<void>;
refreshData(): Promise<void>;
}
export interface User {
id: string;
name: string;
email: string;
}
export interface SaveResult {
success: boolean;
path?: string;
error?: string;
}
export interface FileInfo {
name: string;
path: string;
size: number;
modified: Date;
}
export interface CommandResult {
stdout: string;
stderr: string;
exitCode: number;
}
export interface UIUpdate {
type: "data" | "status" | "error";
payload: any;
}
export type NotificationType = "info" | "success" | "warning" | "error";
Type-Safe Main Process
src/bun/main.ts:
import { BrowserWindow } from "electrobun/bun";
import type { MainRpcHandlers, WebviewRpcHandlers } from "../types/rpc";
const win = new BrowserWindow({ /* ... */ });
// Define handlers with type checking
win.defineRpc<MainRpcHandlers>({
handlers: {
async getUser(id: string) {
// Full type inference and checking
const user = await database.users.findById(id);
return {
id: user.id,
name: user.name,
email: user.email,
};
},
async saveFile(path: string, content: string) {
try {
await Bun.write(path, content);
return { success: true, path };
} catch (error) {
return { success: false, error: error.message };
}
},
async listFiles(directory: string) {
const entries = await fs.readdir(directory, { withFileTypes: true });
return entries.map(entry => ({
name: entry.name,
path: path.join(directory, entry.name),
size: entry.size,
modified: entry.mtime,
}));
},
async executeCommand(cmd: string, args: string[]) {
const proc = Bun.spawn([cmd, ...args]);
const stdout = await new Response(proc.stdout).text();
const stderr = await new Response(proc.stderr).text();
const exitCode = await proc.exited;
return { stdout, stderr, exitCode };
}
}
});
// Call webview methods with types
const webviewRpc = win.rpc as WebviewRpcHandlers;
await webviewRpc.updateUI({ type: "data", payload: data });
await webviewRpc.showNotification("File saved", "success");
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 628 lines · 180 tokens per session scan A 101de7696dbe
electrobun-rpc-patterns is a skill published in the GitHub repository rajavijayach/electrobun-skills (11 stars, last pushed 8mo ago), licensed MIT. It adds 180 tokens to every session and 3,626 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
electrobun-rpc-patterns compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| electrobun-rpc-patternsrajavijayach/electrobun-skills | Skill | 11 | 8mo ago | MIT | A | 180 | Claude Code, Codex |
| no-bare-castsprisma/orm | Skill | 48k | yesterday | Apache-2.0 | A | 52 | Claude Code, Codex |
| aws-sst-developmentsickn33/agentic-awesome-skills | Skill | 49k | yesterday | MIT | A | 26 | Claude Code |
| league-akari-shard-developmentLeagueAkari/LeagueAkari | Skill | 4.7k | 5d ago | MIT | A | 58 | Claude Code, Codex |
| dd-code-generationDataDog/pup | Skill | 1.0k | yesterday | Apache-2.0 | A | 16 | Claude Code |
| fast-typescript-checkinternet-development/www-sacred | Skill | 1.6k | 2d ago | MIT | A | 84 | Claude Code, Codex |
| typescript-magicianmcollina/skills | Skill | 2.0k | 10d ago | MIT | A | 108 | Claude Code, Codex |