Agent skill

Fantasia Electron Main

by vishiri in vishiri/fantasia-archive

Works on Fantasia Archive Electron main process: app lifecycle, window management, platform tweaks, native integrations, and ipcMain registration (registerIpc + electron-ipc-bridge channel names).

GPL-3.0Auto-check passedTesting & QA

Install Fantasia Electron Main

skills CLI
$ npx skills add vishiri/fantasia-archive --skill fantasia-electron-main -a claude-code

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

GitHub CLI
$ gh skill install vishiri/fantasia-archive fantasia-electron-main --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/vishiri/fantasia-archive.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/fantasia-electron-main .claude/skills/fantasia-electron-main && 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
fantasia-electron-main
GitHub stars
409
Token cost
~1.4k tokens
SKILL.md length
448 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
GPL-3.0

At a glance

Works on Fantasia Archive Electron main process: app lifecycle, window management, platform tweaks, native integrations, and ipcMain registration (registerIpc + electron-ipc-bridge channel names).

  • Editing electron-main.ts
  • SKILL.md covers Entry and flow, IPC payload validation (Zod), Testing and Renderer sandbox, plus 6 more sections
  • Calls yarn
  • Src-electron/mainScripts/

What it does

Fantasia Electron Main is an agent skill from vishiri/fantasia-archive. Works on Fantasia Archive Electron main process: app lifecycle, window management, platform tweaks, native integrations, and ipcMain registration (registerIpc + electron-ipc-bridge channel names). Use when editing electron-main.ts, src-electron/mainScripts/, or main-side tests.

Its SKILL.md is about 1.4k 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, covering Forms and validation. It works with Zod. The repository describes itself as: A world-builder's best friend! The licence is GPL-3.0.

When your agent uses it

  • Editing electron-main.ts
  • Src-electron/mainScripts/
  • Main-side tests

Example prompts

  • “Use the fantasia-electron-main skill to work on Fantasia Archive Electron main process: app lifecycle, window management, platform tweaks, native…”
  • “/fantasia-electron-main”

What it can do on your machine

Read from SKILL.md and the folder at commit 26d4648. 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:

    • yarn

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

  • Network

    Links to these hosts (documentation or services it may open):

    • electronjs.org

    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

Fantasia Electron Main loads about 1.4k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 448 words of instructions outside code blocks.

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

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 vishiri/fantasia-archive at commit 26d4648, republished under its GPL-3.0 licence (© vishiri). 448 words, ~1,424 tokens.

Download SKILL.mdSave it as .claude/skills/fantasia-electron-main/SKILL.md (or your agent's skills folder).
name
fantasia-electron-main
description
Works on Fantasia Archive Electron main process: app lifecycle, window management, platform tweaks, native integrations, and ipcMain registration (register*Ipc + electron-ipc-bridge channel names). Use when editing electron-main.ts, src-electron/mainScripts/, or main-side tests.

Fantasia Archive — Electron main process

Entry and flow

  • Entry: electron-main.ts — Chromium stderr filter, app name/userData, Windows DevTools workaround, startApp (all IPC registrars), native shell menu, openAppWindowManager. startApp() before any BrowserWindow so preload channels exist before renderer load.
  • IPC style: prefer ipcMain.handle + ipcRenderer.invoke. sendSync last resort only — document exceptions.
  • userData: fixAppName() in appIdentity_manager.ts. TEST_ENV components/e2e → playwright-user-data via playwrightIsolatedUserDataDirName.ts
  • Modules: src-electron/mainScripts/ feature folders over growing electron-main.ts
  • IPC registration: channel strings electron-ipc-bridge.ts; handlers ipcManagement/register*Ipc.ts; registerAllFaIpc() from ipcManagement_manager.ts

IPC payload validation (Zod)

ipcMain.handle args untrusted at runtime — validate in main before stores/privileged APIs.

  • Objects/patches: Zod schema in src-electron/shared/ — reference faUserSettingsPatchSchema.ts
  • Throw on invalid → invoke rejects; renderer handles
  • Single primitives: typeof + predicate OK (e.g. checkIfExternalUrl)
  • registerFaExtraEnvIpc: env/harness trust, not preload IPC
  • zod in package.json dependencies
  • Vitest: shared/_tests/ + registrar tests for invalid payloads
When Zod not replacing existing code
  • External links: one string + URL check
  • Window control, app details, devtools: no structured renderer payload
  • Future bulk DB APIs: Zod from start

Testing

  • Vitest: mainScripts/_tests/, per-area _tests/, contentBridgeAPIs/_tests/
  • After main changes: dev scoped gate + connected src-electron/**/_tests during edits; full yarn testbatch:verify before commit (fantasia-dev-scoped-verify)

Renderer sandbox

  • webPreferences: sandbox: true, contextIsolation: true, nodeIntegration: false. Preload → main IPC for privileged work. Electron Process Sandboxing

Window chrome IPC

  • registerFaWindowControlIpc, registerFaAppDetailsIpc — BrowserWindow.fromWebContents(event.sender)
  • Preload path: path.resolve(currentDir, …) from bundled main chunk — no extra .. assuming subfolder of mainScripts/

Packaged DevTools (intentional — do not regress)

Product law: installed / app.isPackaged builds must open Chrome DevTools via Help → Toggle developer tools, default keybind (F12 / primary chord), and faDevToolsControl IPC — same as unpackaged.

  • Registrar: registerFaDevToolsIpc (FA_DEVTOOLS_IPC) → openDevTools / closeDevTools / status. Bridge: faDevToolsControlAPI → renderer toggleDevTools.
  • Forbidden: gating DevTools on app.isPackaged, webPreferences.devTools: false, or “security hardening” that no-ops packaged toggle/open/close/status. That regression has shipped more than once; treat as bug, not hardening.
  • Allowed: keep sandbox / contextIsolation / sender checks elsewhere; DevTools itself stays available after install.
  • Vitest: registerFaDevToolsIpc.vitest.test.ts must assert packaged path can open — never re-add “packaged no-op” specs as desired behavior.
  • Smoke: after Electron packaging, verify menu/keybind still opens DevTools (fantasia-release-build).
Show full SKILL.md (128 more words)Show less

Security hardening (main)

  • app:// — registerFaAppProtocolWiring: host allowlist + path.relative guard against traversal outside app root.
  • IPC sender — privileged mutate / project DB handlers validate event.sender via assertMainWindowSender (main window webContents.id). Failsafe path reply + OS-open keep dedicated checks. Do not pair sender checks with packaged DevTools disable — see Packaged DevTools above.
  • Navigation — will-navigate allowlist: app: + DEV APP_URL origin only; foreign http(s) preventDefault then shell.openExternal when checkIfExternalUrl. setWindowOpenHandler deny. (mainWindowCreationWiring.ts).
  • openExternal — faExternalUrlPredicate: block RFC1918 + link-local targets.
  • Project paths — createResolveHardenedFaProjectFilePath (functions/) + faProjectFilePathHardeningWiring.ts before open/reconnect; failsafe reconnect prefers last-known mirrored path and only accepts a renderer reply that hardens to the same path; packaged builds omit dev ELECTRON_MAIN_FILEPATH leak.

Keybind persistence

mainScripts/keybinds/ — overrides, Zod patch, registerFaKeybindsIpc. See fantasia-keybinds.

SQLite and files

Types

Shared types → types/. See types-folder.mdc.

© vishiri, GPL-3.0. 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 .cursor/skills/fantasia-electron-main of vishiri/fantasia-archive.

Open the folder on GitHubat commit 26d4648

Compare with similar skills

Fantasia Electron Main 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.

Fantasia Electron Main compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fantasia Electron Main this skillvishiri/fantasia-archive409—~1.4kAutomated safety check: PassGPL-3.0
API Testingfugazi/test-automation-skills-agents249—~1.5kAutomated safety check: PassMIT
Common Tasksidavidov13/agentic-playwright225—~2.5kAutomated safety check: PassMIT
Data Strategyidavidov13/agentic-playwright225—~3.4kAutomated safety check: PassMIT
API Testingpetrkindlmann/qa-skills170—~2.7kAutomated safety check: PassMIT
Type Safetyidavidov13/agentic-playwright225—~3.5kAutomated safety check: PassMIT

Similar skills

  • API Testing

    fugazi/test-automation-skills-agents

    Test REST and GraphQL endpoint contracts using Playwright request fixture (TypeScript) or REST Assured (Java).

    249 GitHub stars~1.5k tokensUpdated 7 days ago
    Testing & QAAuto-check passed
  • Common Tasks

    idavidov13/agentic-playwright

    Copy-paste AI prompt templates for common Playwright scaffold development tasks — adding page objects, functional/E2E/API tests, Zod schemas, factories, fixtures, and components.

    225 GitHub stars~2.5k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Data Strategy

    idavidov13/agentic-playwright

    Test data strategy for the Playwright scaffold — Faker + Zod factories for dynamic happy-path data, static TS files (.ts with as const exports — never .json) for domain-specific curated invalid…

    225 GitHub stars~3.4k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • API Testing

    petrkindlmann/qa-skills

    Test REST and GraphQL APIs with Playwright APIRequestContext, Supertest, or standalone HTTP clients.

    170 GitHub stars~2.7k tokensUpdated 4 mo ago
    Testing & QAAuto-check passed
  • Type Safety

    idavidov13/agentic-playwright

    TypeScript type safety conventions for the Playwright scaffold — the "no any" rule, Zod 4 schema patterns (z.strictObject, top-level validators like z.uuid / z.email / z.url / z.int / z.enum)…

    225 GitHub stars~3.5k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Frontmcp Guides

    agentfront/frontmcp

    Tutorials, end-to-end walkthroughs, and complete reference projects for FrontMCP.

    146 GitHub stars~6.3k tokensUpdated today
    Testing & QAAuto-check passed

More from vishiri/fantasia-archive

All 35 skills in this repo
  • Caveman Commit

    vishiri/fantasia-archive

    Ultra-compressed commit message generator. An agent skill from vishiri/fantasia-archive.

    409 GitHub starsUsed in 13 repos~642 tokens
    Auto-check passed
  • Caveman Review

    vishiri/fantasia-archive

    Ultra-compressed code review comments. An agent skill from vishiri/fantasia-archive.

    409 GitHub starsUsed in 12 repos~674 tokens
    Auto-check passed
  • Caveman Compress

    vishiri/fantasia-archive

    Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens.

    409 GitHub starsUsed in 9 repos~1.1k tokens
    Auto-check: notes
  • Cavecrew

    vishiri/fantasia-archive

    Decision guide for delegating to caveman-style subagents. An agent skill from vishiri/fantasia-archive.

    409 GitHub starsUsed in 7 repos~1k tokens
    Auto-check passed
  • Caveman Help

    vishiri/fantasia-archive

    Quick-reference card for all caveman modes, skills, and commands.

    409 GitHub starsUsed in 6 repos~572 tokens
    Auto-check passed
  • Fantasia Context Menu Dividers

    vishiri/fantasia-archive

    Context menu divider policy: full primary-bright group separators vs low-opacity separatorAlt between consecutive items in the same group.

    409 GitHub stars~741 tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Fantasia Electron Main

What does Fantasia Electron Main do?

Works on Fantasia Archive Electron main process: app lifecycle, window management, platform tweaks, native integrations, and ipcMain registration (registerIpc + electron-ipc-bridge channel names). Fantasia Electron Main is an agent skill from vishiri/fantasia-archive. Works on Fantasia Archive Electron main process: app lifecycle, window management, platform tweaks, native integrations, and ipcMain registration (registerIpc + electron-ipc-bridge channel names).

When should I use Fantasia Electron Main?

Fantasia Electron Main fits situations like: editing electron-main.ts; src-electron/mainScripts/; main-side tests.

How do I install Fantasia Electron Main in Claude Code?

Run `npx skills add vishiri/fantasia-archive --skill fantasia-electron-main -a claude-code`. Or copy the skill folder (.cursor/skills/fantasia-electron-main in vishiri/fantasia-archive) into .claude/skills/fantasia-electron-main in your project. Claude Code loads it when a task matches its description.

How do I install Fantasia Electron Main in Codex?

Run `npx skills add vishiri/fantasia-archive --skill fantasia-electron-main -a codex`. Or copy the skill folder (.cursor/skills/fantasia-electron-main in vishiri/fantasia-archive) into .agents/skills/fantasia-electron-main in your project. Codex loads it when a task matches its description.

Can I use Fantasia Electron Main 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 vishiri/fantasia-archive --skill fantasia-electron-main -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fantasia-electron-main, .gemini/skills/fantasia-electron-main, .github/skills/fantasia-electron-main and .opencode/skills/fantasia-electron-main in your project.

What does Fantasia Electron Main need to run?

Going by SKILL.md and its folder, Fantasia Electron Main needs the command-line tools its instructions call (yarn).

Does Fantasia Electron Main access the network?

SKILL.md names 1 domain. As links in the text: electronjs.org. This is read from the text; nothing was executed.

Is Fantasia Electron Main 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 Fantasia Electron Main use?

Fantasia Electron Main is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Fantasia Electron Main use?

About 1.4k tokens (SKILL.md is roughly 5.7k 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 Fantasia Electron Main?

Skills that share tags, products or a category with Fantasia Electron Main: API Testing (fugazi/test-automation-skills-agents, 249 stars), Common Tasks (idavidov13/agentic-playwright, 225 stars), Data Strategy (idavidov13/agentic-playwright, 225 stars) and API Testing (petrkindlmann/qa-skills, 170 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fantasia Electron Main?

vishiri (a GitHub user) maintains it in vishiri/fantasia-archive, which has 409 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 7, 2026.

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