Agent skill

Fantasia Sqlite Main

by vishiri in vishiri/fantasia-archive

Designs SQLite usage in Fantasia Archive’s Electron main process: file locations under userData, native better-sqlite3 module constraints, and migrations.

GPL-3.0Auto-check passedDatabases

Install Fantasia Sqlite Main

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

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

GitHub CLI
$ gh skill install vishiri/fantasia-archive fantasia-sqlite-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-sqlite-main .claude/skills/fantasia-sqlite-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-sqlite-main
GitHub stars
409
Token cost
~1.1k tokens
SKILL.md length
327 words
Files
1
Skills in repo
35
Repo updated
First seen
Licence
GPL-3.0

At a glance

Designs SQLite usage in Fantasia Archive’s Electron main process: file locations under userData, native better-sqlite3 module constraints, and migrations.

  • Works in 4 steps: No arbitrary SQL from renderer — narrow… → Paths: app.getPath('userData'); mkdir… → Native builds: verify yarn… → …
  • Editing electron-main database code
  • SKILL.md covers Canonical schema documentation, Current state, Principles and Active project DB access…, plus 2 more sections
  • Calls yarn

What it does

Fantasia Sqlite Main is an agent skill from vishiri/fantasia-archive. Designs SQLite usage in Fantasia Archive’s Electron main process: file locations under userData, native better-sqlite3 module constraints, and migrations. Use when editing electron-main database code, schema, or persistence paths.

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 Databases. It works with SQLite. 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 database code
  • Persistence paths

Example prompts

  • “Use the fantasia-sqlite-main skill to design SQLite usage in Fantasia Archive’s Electron main process: file locations under userData, native…”
  • “/fantasia-sqlite-main”

Workflow steps

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

  1. No arbitrary SQL from renderer — narrow validated preload APIs + IPC (fantasia-electron-preload)
  2. Paths: app.getPath('userData'); mkdir before open
  3. Native builds: verify yarn quasar:build:electron after upgrades
  4. Lifecycle: deliberate open/close; no leaked handles on dev reload

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

    No URLs in SKILL.md. Its commands use yarn, 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

Fantasia Sqlite Main loads about 1.1k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 327 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
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 vishiri/fantasia-archive at commit 26d4648, republished under its GPL-3.0 licence (© vishiri). 327 words, ~1,139 tokens.

Download SKILL.mdSave it as .claude/skills/fantasia-sqlite-main/SKILL.md (or your agent's skills folder).
name
fantasia-sqlite-main
description
Designs SQLite usage in Fantasia Archive’s Electron main process: file locations under userData, native better-sqlite3 module constraints, and migrations. Use when editing electron-main database code, schema, or persistence paths.

Fantasia Archive — SQLite in main process

Canonical schema documentation

Schema/IPC changes → update docs same commit (docs-database.mdc).

Current state

  • better-sqlite3 — main process only
  • .faproject SQLite under src-electron/mainScripts/projectManagement/; renderer via window.faContentBridgeAPIs.projectManagement
  • E2E paths: e2eSetNextProjectCreatePath / e2eSetNextProjectOpenPath in playwrightE2eProjectPaths.ts
  • user_version max 11 today (FA_PROJECT_USER_VERSION_SUPPORTED_MAX) — worlds, documents, templates, media (v10 internal_type: embedded / linked_outside / linked_in_project; no include flag; v11 external_embed + external_type embed), junctions, per-world template layout, per-locale translations, document category/status/tree-order/extra-classes patches; v6 worlds.color_pallete→color_palette; v7 tags + document_tags; v8 document_last_opened MRU (Project overview); v9 media type/link/embed columns; v10 drop internal_is_project_included + new internal_type CHECK; v11 media external_embed + embed CHECK; Project Settings snapshots via saveWorldsSnapshot, saveDocumentTemplatesSnapshot
  • Pre-release flatten: may squash ladder to version 1 for dev resets — fantasia-flatten-database-schemas (distinct from live supported max 11)

Principles

  1. No arbitrary SQL from renderer — narrow validated preload APIs + IPC (fantasia-electron-preload)
  2. Paths: app.getPath('userData'); mkdir before open
  3. Native builds: verify yarn quasar:build:electron after upgrades
  4. Lifecycle: deliberate open/close; no leaked handles on dev reload

Active project DB access (mandatory failsafe)

All active .faproject reads/writes → runWithFaProjectDatabaseForIpcAsync / runWithFaProjectDatabaseSync from faProjectDatabaseEnsureConnected.ts. ESLint restricts direct getFaProjectActiveDatabase imports (fa-project-database-access.mdc).

Project settings refresh contract (renderer)

Unlike App Settings (Pinia seed on open), Project Settings always reads SQLite on open:

  1. Open: getProjectSettings + listWorldsForProjectSettings
  2. Edit: local draft until Save
  3. Save: saveProjectSettings → KV patch + optional saveWorldsSnapshot
  4. Errors: throw → action manager toast
  5. Main: runWithFaProjectDatabaseForIpcAsync only

Extend propagateFaProjectSettingsToAppConsumers when new fields need live UI after save. See projectDB.md Project Settings (renderer ↔ SQLite).

  • Mirrored path: faProjectActiveDatabase.ts — replaceFaProjectActiveDatabase, closeFaProjectActiveDatabase, handle-only close for reconnect
  • Reconnect + retry: one sync reopen + one handle-only retry on classified SQLite errors; single-flight mutex
  • Optional renderer path: FA_PROJECT_FAILSAFE_IPC when main has no mirrored path
  • Session reset: did-start-navigation main frame, not same-document — faMainWindowWebContentsSessionReset.ts

New project-DB IPC → ensure layer + tests under projectManagement/_tests/.

Evolution

  • Dedicated module under mainScripts/ when replacing stubs; keep electron-main.ts thin
  • Migrations/backup aligned with worldbuilding model — fantasia-worldbuilding-domain

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-sqlite-main of vishiri/fantasia-archive.

Open the folder on GitHubat commit 26d4648

Compare with similar skills

Fantasia Sqlite 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 Sqlite Main compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fantasia Sqlite Main this skillvishiri/fantasia-archive409—~1.1kAutomated safety check: PassGPL-3.0
Iptvnator Sqlite DB Worker4gray/iptvnator7.3k—~824Automated safety check: PassMIT
Analyze Nsys Profilemlc-ai/pith-train355—~1.9kAutomated safety check: PassApache-2.0
Reactive Sqlite UIfastrepl/anarlog9.5k—~699Automated safety check: PassMIT
Composer Forensicsdxos/dxos526—~3.1kAutomated safety check: PassCustom licence
Sqlite Schema Designfastrepl/anarlog9.5k—~1.9kAutomated safety check: PassMIT

Similar skills

  • A skill your agent uses when changing Electron SQLite IPC, database-worker operations, request-scoped progress or cancellation, worker packaging, or runtime verification of non-EPG database work.

    7.3k GitHub stars~824 tokensUpdated today
    DatabasesAuto-check passed
  • Analyze Nsys Profile

    mlc-ai/pith-train

    Query a captured PithTrain Nsight Systems profile to measure compute/communication overlap, locate exposed comm by DualPipeV stage, and inspect per-rank stream behavior.

    355 GitHub stars~1.9k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Reactive Sqlite UI

    fastrepl/anarlog

    Build SQLite-backed reactive UI in apps/desktop using stable patterns for reads, selection, forms, writes, and loading states.

    9.5k GitHub stars~699 tokensUpdated today
    DatabasesAuto-check passed
  • Forensically inspect and repair Composer browser profiles — offline (Chrome OPFS / SQLite extract) or live via /recovery.html debug port.

    526 GitHub stars~3.1k tokensUpdated today
    DatabasesAuto-check passed
  • Sqlite Schema Design

    fastrepl/anarlog

    Design or review schemas for crates/cloudsync using SQLite Sync constraints, not generic SQLite advice.

    9.5k GitHub stars~1.9k tokensUpdated today
    DatabasesAuto-check passed
  • Makemigrations

    deusXmachina-dev/memorylane

    Create SQLite migrations for MemoryLane storage schema changes.

    121 GitHub stars~973 tokensUpdated 2 days ago
    DatabasesAuto-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 Sqlite Main

What does Fantasia Sqlite Main do?

Designs SQLite usage in Fantasia Archive’s Electron main process: file locations under userData, native better-sqlite3 module constraints, and migrations. Fantasia Sqlite Main is an agent skill from vishiri/fantasia-archive. Designs SQLite usage in Fantasia Archive’s Electron main process: file locations under userData, native better-sqlite3 module constraints, and migrations.

When should I use Fantasia Sqlite Main?

Fantasia Sqlite Main fits situations like: editing electron-main database code; persistence paths.

How do I install Fantasia Sqlite Main in Claude Code?

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

How do I install Fantasia Sqlite Main in Codex?

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

Can I use Fantasia Sqlite 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-sqlite-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-sqlite-main, .gemini/skills/fantasia-sqlite-main, .github/skills/fantasia-sqlite-main and .opencode/skills/fantasia-sqlite-main in your project.

What does Fantasia Sqlite Main need to run?

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

Does Fantasia Sqlite Main access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

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

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

About 1.1k tokens (SKILL.md is roughly 4.6k 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 Sqlite Main?

Skills that share tags, products or a category with Fantasia Sqlite Main: Iptvnator Sqlite DB Worker (4gray/iptvnator, 7.3k stars), Analyze Nsys Profile (mlc-ai/pith-train, 355 stars), Reactive Sqlite UI (fastrepl/anarlog, 9.5k stars) and Composer Forensics (dxos/dxos, 526 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fantasia Sqlite 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.