Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/macromania/agentop/electron-reactnpx skills add macromania/agentop --skill electron-reactgit clone --depth 1 https://github.com/macromania/agentopWhat 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 | $0.00068 | $0.01944 |
| Opus 5 | $0.00034 | $0.00972 |
| Sonnet 5 | $0.00014 | $0.00389 |
| Haiku 4.5 | $0.00007 | $0.00194 |
Grade A, and why
electron-react 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 2d 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 — 300 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Electron + React Development
Build modern desktop applications with Electron, React, and TypeScript using electron-vite for optimal developer experience.
When to Use This Skill
- Creating new Electron applications with React
- Setting up IPC (Inter-Process Communication) between main and renderer
- Implementing preload scripts with context bridge
- Configuring electron-vite for development and production builds
- Building type-safe communication layers
Project Structure
apps/electron/
├── src/
│ ├── main/ # Electron main process
│ │ ├── index.ts # Entry point, window creation
│ │ └── ipc/ # IPC handlers
│ ├── preload/ # Context bridge scripts
│ │ ├── index.ts # Exposed APIs
│ │ └── types.d.ts # TypeScript declarations
│ └── renderer/ # React application
│ ├── index.html
│ ├── main.tsx
│ └── components/
├── electron.vite.config.ts
└── package.json
Core Patterns
Main Process Entry Point
// src/main/index.ts
import { app, BrowserWindow, ipcMain } from 'electron';
import path from 'path';
let mainWindow: BrowserWindow | null = null;
function createWindow() {
mainWindow = new BrowserWindow({
width: 1200,
height: 800,
webPreferences: {
preload: path.join(__dirname, '../preload/index.js'),
contextIsolation: true, // Required for security
nodeIntegration: false, // Keep disabled
sandbox: true,
},
});
// Load the renderer
if (process.env.NODE_ENV === 'development') {
mainWindow.loadURL('http://localhost:5173');
mainWindow.webContents.openDevTools();
} else {
mainWindow.loadFile(path.join(__dirname, '../renderer/index.html'));
}
}
app.whenReady().then(createWindow);
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') app.quit();
});
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) createWindow();
});
Type-Safe IPC Layer
// packages/core/src/ipc-types.ts
export interface IPCChannels {
// Request-Response patterns
'db:tasks:list': { request: void; response: Task[] };
'db:tasks:create': { request: CreateTaskInput; response: Task };
'db:tasks:update': { request: UpdateTaskInput; response: Task };
'db:tasks:delete': { request: string; response: void };
// Streaming patterns (main -> renderer)
'agent:session:stream': { request: string; response: AgentStep };
}
export type IPCChannel = keyof IPCChannels;
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.
- 2d ago First seen · 300 lines · 68 tokens per session scan A 6baa8ef82d90
electron-react is a skill published in the GitHub repository macromania/agentop (10 stars, last pushed 5mo ago), licensed MIT. It adds 68 tokens to every session and 1,944 once invoked, about $0.0003 per session on Opus 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-31.
Other skills, from other repositories
aatmf-t10-confidentiality-breach
AATMF T10 — Integrity & Confidentiality Breach. System prompt extraction, training-data extraction, model-weight leakage, private-key recovery.
peekaboo
Capture and automate macOS UI with the Peekaboo CLI.
mochi-remind
Handle due reminders — notify the user with natural language and mark them done.
publish-registry
Publish @agentos-software/ registry packages from AgentOS. Use whenever the user asks to publish or release registry software/agent packages.
sidewinder-rattlesnake
Adversary-emulation profile for SideWinder (G0121 / Rattlesnake / T-APT-04 / Razor Tiger), India's suspected state-sponsored cyber-espionage actor.
lazarus-group
Adversary-emulation profile for Lazarus Group (G0032, aka Hidden Cobra / Diamond Sleet / Labyrinth Chollima), a North Korean RGB-linked actor conducting espionage, destructive, and financially motivated operations.