Agent skill

Fantasia Two Level Architecture

by vishiri in vishiri/fantasia-archive

Migrates Fantasia Archive features to two-level functions + managers layout: pure scripts/functions/, manager.ts wiring (underscore suffix, e.g.

GPL-3.0Auto-check passedDevelopment

Install Fantasia Two Level Architecture

skills CLI
$ npx skills add vishiri/fantasia-archive --skill fantasia-two-level-architecture -a claude-code

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

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

At a glance

Migrates Fantasia Archive features to two-level functions + managers layout: pure scripts/functions/, manager.ts wiring (underscore suffix, e.g.

  • Works in 6 steps: Add scripts/functions/ — pure logic;… → Add scripts/_manager.ts — wiring only;… → Thin .vue: props, child imports, one… → …
  • Refactoring features
  • SKILL.md covers Migrate one feature, Fix common ESLint messages, *Wiring.ts vs *_manager.ts and Domain barrels (src/scripts//), plus 5 more sections
  • Calls yarn

What it does

Fantasia Two Level Architecture is an agent skill from vishiri/fantasia-archive. Migrates Fantasia Archive features to two-level functions + managers layout: pure scripts/functions/, manager.ts wiring (underscore suffix, e.g. dialogFoomanager.ts), thin Vue SFCs. Use when refactoring features, fixing fa-two-level ESLint violations, or adding new UI.

Its SKILL.md is about 980 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 Development, covering Linting and formatting and Refactoring. It works with Vue.js and ESLint. The repository describes itself as: A world-builder's best friend! The licence is GPL-3.0.

When your agent uses it

  • Refactoring features
  • Fixing fa-two-level ESLint violations

Example prompts

  • “Use the fantasia-two-level-architecture skill to migrate Fantasia Archive features to two-level functions + managers layout: pure…”
  • “/fantasia-two-level-architecture”

Workflow steps

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

  1. Add scripts/functions/ — pure logic; import type from app/types/** only; inject deps from manager
  2. Add scripts/_manager.ts — wiring only; create… factories; no top-level functions/classes (fa-two-level/manager-wiring-only)
  3. Thin .vue: props, child imports, one use… from manager
  4. Delete legacy scripts/*.ts beside functions/
  5. Update _tests; add functions/_tests
  6. Dev scoped gate on feature (fantasia-dev-scoped-verify); full yarn testbatch:verify before commit

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 Two Level Architecture loads about 983 tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 299 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
~983

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). 299 words, ~983 tokens.

Download SKILL.mdSave it as .claude/skills/fantasia-two-level-architecture/SKILL.md (or your agent's skills folder).
name
fantasia-two-level-architecture
description
Migrates Fantasia Archive features to two-level functions + managers layout: pure scripts/functions/, *_manager.ts wiring (underscore suffix, e.g. dialogFoo_manager.ts), thin Vue SFCs. Use when refactoring features, fixing fa-two-level ESLint violations, or adding new UI.

Two-level functions + managers

Migrate one feature

  1. Add scripts/functions/ — pure logic; import type from app/types/** only; inject deps from manager
  2. Add scripts/<feature>_manager.ts — wiring only; create… factories; no top-level functions/classes (fa-two-level/manager-wiring-only)
  3. Thin .vue: props, child imports, one use… from manager
  4. Delete legacy scripts/*.ts beside functions/
  5. Update _tests; add functions/_tests
  6. Dev scoped gate on feature (fantasia-dev-scoped-verify); full yarn testbatch:verify before commit

Fix common ESLint messages

MessageFix
functions/ value importsMove to *_manager.ts, pass as arg
Legacy script beside functions/Merge into functions/ + manager or delete
Vue script import allowlistExpose via manager return
Import functions/ only from managerManager (tests excepted)
Re-export shimDelete; import real manager/functions
manager-wiring-onlyBodies in functions/ or *Wiring.ts
manager-wiring-only (class)Class in non-manager sibling
manager-wiring-only (arrow const)Factory arg object or *Wiring.ts
functions-only-type-importsKeep orchestration in scripts/ sibling — not functions/
Vue imports functions/Use domain barrel (faDragDrop_manager, dom_manager) when present

*Wiring.ts vs *_manager.ts

  • *_manager.ts — factory + export const only.
  • *Wiring.ts — export function + document / window / fs; examples: faInterfaceTextDirectionApplyWiring.ts, faDragDropDocumentDragCursorWiring.ts, faProjectFilePathHardeningWiring.ts.
  • MainLayout: attachWindowKeydownListener / detachWindowKeydownListener injected from mainLayout_manager.ts into createMainLayout.

Domain barrels (src/scripts/<domain>/)

faDragDrop_manager.ts, dom_manager.ts — public API for Vue; re-export functions/ + wiring.

Pinia stores

src/stores/S_*.ts = manager. Pure logic in src/stores/functions/. Bridge scripts may import stores/functions/.

  • Return readonly(ref) for external session state; mutate in actions only.
  • S_FaActiveProject: openGeneration mutex; stale open → 'superseded' (T_faActiveProjectOpenFlowOutcome).

Audit checklist (all *_manager.ts)

  1. Grep — no export function, module function, class, top-level const x = () =>
  2. yarn lint:eslint — fa-two-level/manager-wiring-only
  3. Factory arg property arrows OK
  4. Classes + sessionDeps in *Session.ts, *Wiring.ts, *Bound.ts
  5. Electron Node fs bind: factory in functions/, export const in *Wiring.ts (e.g. faProjectFilePathHardeningWiring.ts)

Shared types (types/)

Level-1 functions/**: import type from app/types/** only. Managers export values; types from app/types/.... See types-folder.mdc.

Electron

Same under src-electron/mainScripts/<area>/: functions/, <area>_manager.ts, *Wiring.ts, IPC registrars import domain *_manager.ts. Keep contentBridgeAPIs/ thin.

© 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-two-level-architecture of vishiri/fantasia-archive.

Open the folder on GitHubat commit 26d4648

Compare with similar skills

Fantasia Two Level Architecture 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 Two Level Architecture compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fantasia Two Level Architecture this skillvishiri/fantasia-archive409—~983Automated safety check: PassGPL-3.0
Refactor Large Functionrajbos/ai-engineering-fluency117—~1.3kAutomated safety check: PassMIT
Sonarjsmanagedcode/dotnet-skills486—~1.6kAutomated safety check: PassMIT
OpenObserve ESLint and TypeScript Fixesopenobserve/openobserve22k—~5.1kAutomated safety check: PassAGPL-3.0
Modern Web GuidanceJetBrains/skills3663 repos~1.4kAutomated safety check: PassApache-2.0
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Refactor Large Function

    rajbos/ai-engineering-fluency

    Pick one large function flagged by ESLint max-lines-per-function and refactor it into smaller, focused helpers without breaking tests.

    117 GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Sonarjs

    managedcode/dotnet-skills

    Use SonarJS-derived rules in .NET repositories that ship JavaScript or TypeScript frontends and need deeper bug-risk, code-smell, or cognitive-complexity checks than a minimal ESLint baseline.

    486 GitHub stars~1.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • A playbook for fixing ESLint and TypeScript errors in the OpenObserve web frontend, with rule-by-rule guidance and typing conventions.

    22k GitHub stars~5.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Modern Web Guidance

    JetBrains/skills

    Official

    Search tool for modern web development best practices. An agent skill from JetBrains/skills.

    366 GitHub starsUsed in 3 repos~1.4k tokens
    DevOps & CloudAuto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Maintains LobeHub's model-backed alint rule set: writing rules, removing false positives against real code, deciding warn versus error and tracking token cost.

    83k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-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 Two Level Architecture

What does Fantasia Two Level Architecture do?

Migrates Fantasia Archive features to two-level functions + managers layout: pure scripts/functions/, manager.ts wiring (underscore suffix, e.g. Fantasia Two Level Architecture is an agent skill from vishiri/fantasia-archive.g.

When should I use Fantasia Two Level Architecture?

Fantasia Two Level Architecture fits situations like: refactoring features; fixing fa-two-level ESLint violations.

How do I install Fantasia Two Level Architecture in Claude Code?

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

How do I install Fantasia Two Level Architecture in Codex?

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

Can I use Fantasia Two Level Architecture 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-two-level-architecture -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-two-level-architecture, .gemini/skills/fantasia-two-level-architecture, .github/skills/fantasia-two-level-architecture and .opencode/skills/fantasia-two-level-architecture in your project.

What does Fantasia Two Level Architecture need to run?

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

Does Fantasia Two Level Architecture 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 Two Level Architecture 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 Two Level Architecture use?

Fantasia Two Level Architecture 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 Two Level Architecture use?

About 983 tokens (SKILL.md is roughly 3.9k 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 Two Level Architecture?

Skills that share tags, products or a category with Fantasia Two Level Architecture: Refactor Large Function (rajbos/ai-engineering-fluency, 117 stars), Sonarjs (managedcode/dotnet-skills, 486 stars), OpenObserve ESLint and TypeScript Fixes (openobserve/openobserve, 22k stars) and Modern Web Guidance (JetBrains/skills, 366 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Fantasia Two Level Architecture?

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.