Tailwindcss Development
anonaddy/anonaddy
Always invoke when the user's message includes 'tailwind' in any form.
List and table drag-and-drop policy for Fantasia Archive: vue-draggable-plus for QList and flat lists; quasar-ui-q-draggable-table (v-draggable-table) for QTable row reorder; @he-tree/vue Draggable…
$ npx skills add vishiri/fantasia-archive --skill fantasia-drag-drop -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vishiri/fantasia-archive fantasia-drag-drop --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vishiri/fantasia-archive.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/fantasia-drag-drop .claude/skills/fantasia-drag-drop && rm -rf skills-srcUse ~/.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/
Install the "fantasia-drag-drop" agent skill from https://github.com/vishiri/fantasia-archive/tree/master/.cursor/skills/fantasia-drag-drop into .claude/skills/fantasia-drag-drop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fantasia-drag-drop", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vishiri/fantasia-archive/tree/master/.cursor/skills/fantasia-drag-dropType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vishiri/fantasia-archive --skill fantasia-drag-drop -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vishiri/fantasia-archive fantasia-drag-drop --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vishiri/fantasia-archive.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/fantasia-drag-drop .agents/skills/fantasia-drag-drop && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fantasia-drag-drop" agent skill from https://github.com/vishiri/fantasia-archive/tree/master/.cursor/skills/fantasia-drag-drop into .agents/skills/fantasia-drag-drop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fantasia-drag-drop", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vishiri/fantasia-archive --skill fantasia-drag-drop -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vishiri/fantasia-archive fantasia-drag-drop --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vishiri/fantasia-archive.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/fantasia-drag-drop .cursor/skills/fantasia-drag-drop && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fantasia-drag-drop" agent skill from https://github.com/vishiri/fantasia-archive/tree/master/.cursor/skills/fantasia-drag-drop into .cursor/skills/fantasia-drag-drop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fantasia-drag-drop", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vishiri/fantasia-archive.git --path .cursor/skills/fantasia-drag-drop--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vishiri/fantasia-archive --skill fantasia-drag-drop -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vishiri/fantasia-archive fantasia-drag-drop --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vishiri/fantasia-archive.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/fantasia-drag-drop .gemini/skills/fantasia-drag-drop && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fantasia-drag-drop" agent skill from https://github.com/vishiri/fantasia-archive/tree/master/.cursor/skills/fantasia-drag-drop into .gemini/skills/fantasia-drag-drop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fantasia-drag-drop", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vishiri/fantasia-archive fantasia-drag-dropInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vishiri/fantasia-archive --skill fantasia-drag-drop -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vishiri/fantasia-archive.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/fantasia-drag-drop .github/skills/fantasia-drag-drop && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fantasia-drag-drop" agent skill from https://github.com/vishiri/fantasia-archive/tree/master/.cursor/skills/fantasia-drag-drop into .github/skills/fantasia-drag-drop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fantasia-drag-drop", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vishiri/fantasia-archive --skill fantasia-drag-drop -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vishiri/fantasia-archive fantasia-drag-drop --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vishiri/fantasia-archive.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/fantasia-drag-drop .opencode/skills/fantasia-drag-drop && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fantasia-drag-drop" agent skill from https://github.com/vishiri/fantasia-archive/tree/master/.cursor/skills/fantasia-drag-drop into .opencode/skills/fantasia-drag-drop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fantasia-drag-drop", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fantasia-drag-dropList and table drag-and-drop policy for Fantasia Archive: vue-draggable-plus for QList and flat lists; quasar-ui-q-draggable-table (v-draggable-table) for QTable row reorder; @he-tree/vue Draggable…
Fantasia Drag Drop is an agent skill from vishiri/fantasia-archive. List and table drag-and-drop policy for Fantasia Archive: vue-draggable-plus for QList and flat lists; quasar-ui-q-draggable-table (v-draggable-table) for QTable row reorder; @he-tree/vue Draggable for trees. Use when adding reorder UX to settings lists, worlds, tables, or documenting DnD dependencies.
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with Vue.js. The repository describes itself as: A world-builder's best friend! The licence is GPL-3.0.
Read from SKILL.md and the folder at commit 26d4648. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are vue and typescript).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
vue-draggable-plus.pages.devgithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Fantasia Drag Drop loads about 2.6k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 549 words of instructions outside code blocks.
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.
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.
The full file from vishiri/fantasia-archive at commit 26d4648, republished under its GPL-3.0 licence (© vishiri). 549 words, ~2,596 tokens.
.claude/skills/fantasia-drag-drop/SKILL.md (or your agent's skills folder).Full policy: fa-drag-drop-lists.mdc.
| Surface | Library | Notes |
|---|---|---|
Flat lists (QList, QItem, vertical rows) | vue-draggable-plus | Default for any list reorder |
QTable row reorder | quasar-ui-q-draggable-table | v-draggable-table, boot q-draggable-table |
| Hierarchical trees | @he-tree/vue Draggable | Built-in DnD — do not use vue-draggable-plus on trees |
| Floating / spatial move | Custom pointer sessions | src/scripts/floatingWindows/ — not this skill |
Deps in root package.json: vue-draggable-plus, quasar-ui-q-draggable-table.
vue-draggable-plus (default lists)Docs: vue-draggable-plus.pages.dev.
QList body)<script setup lang="ts">
import { ref } from 'vue'
import { VueDraggable } from 'vue-draggable-plus'
const worlds = ref([
{ id: 'a', displayName: 'Realm' },
{ id: 'b', displayName: 'Other' }
])
function onWorldReorder (): void {
// Persist sort_order from worlds.value order — IPC / store
}
</script>
<template>
<q-list data-test-locator="worldsReorderList">
<VueDraggable
v-model="worlds"
:animation="150"
handle=".world-drag-handle"
@update="onWorldReorder"
>
<q-item
v-for="world in worlds"
:key="world.id"
data-test-locator="worldsReorderRow"
>
<q-item-section avatar>
<q-icon
class="world-drag-handle cursor-grab"
name="mdi-drag"
data-test-locator="worldsReorderHandle"
/>
</q-item-section>
<q-item-section>{{ world.displayName }}</q-item-section>
</q-item>
</VueDraggable>
</q-list>
</template>Sortable root not component root → useDraggable(el, list, options) or v-draggable with selector — see upstream target container docs.
@update / onEnd, write domain order (e.g. sort_order) via runFaActionAwait or store → projectContent IPC.scripts/; thin .vue imports composable or VueDraggable only.DialogProjectSettings worlds list)Vertical category tabs reuse faDragDrop_manager (faVerticalDraggableTabsSortableDragOptions, document drag cursor from faDragDropDocumentDragCursorWiring.ts, hideNativeSortableDragGhost, resolveFaVerticalDraggableTabIdUnderPoint) + faVerticalDraggableTabListPointerHoverWiring.ts + global SCSS src/css/theme/custom-components/faVerticalDraggableTabs.scss. Reusable element FaVerticalDraggableTabList. DialogProjectSettingsWorldsTabList: vue-draggable-plus + movement threshold so short clicks select tab without drag. Palette swatch reorder: same library in DialogProjectSettingsWorldColorPaletteEditor.
ProjectAppControlBarOpenedTabs)Workspace header strip: VueDraggable horizontal over q-route-tab children. Reuse Sortable forceFallback + hideNativeSortableDragGhost / document drag cursor from faDragDrop_manager. Feature wiring: projectAppControlBarTabsSortableDragOptionsWiring, edge scroll projectAppControlBarTabsDragEdgeScroll* (Quasar tabs content overflow: hidden), wheel projectAppControlBarTabsWheelScroll*. Domain: openedDocumentTabReorder → store reorderDocumentTabs. Native link drag off: draggable="false" on route tabs.
Pointer hover (not CSS :hover): Sortable sticky :hover wrong after reorder → FaVerticalDraggableTabList tracks pointerHoverItemId via pointermove / pointerleave; tab slot gets isPointerHovered → faVerticalDraggableTabs__tab--pointerHover. After drag end, clear hover then resync from last client point after FA_VERTICAL_DRAGGABLE_TABS_SORTABLE_ANIMATION_MS. Flat skin: Quasar-like wash; fantasy: gold edge glow on pointer class.
Shared pattern: left column draggable tabs + optional Add row (master–detail settings dialogs). Not horizontal QTabs replacement — vertical reorderable list chrome only.
Reference implementations
| SFC | Role |
|---|---|
DialogProjectSettingsWorldsTabList.vue | Worlds column; default width 240px |
DialogProjectSettingsDocumentTemplatesTabList.vue | Document templates column; tab-list-width-px="360" |
DialogProjectSettingsWorldsTabItem.vue / DialogProjectSettingsDocumentTemplatesTabItem.vue | Single tab row (faVerticalDraggableTabs__tab BEM) |
DOM skeleton (outer host must include class faVerticalDraggableTabs):
.faVerticalDraggableTabs ← :style from buildFaVerticalDraggableTabsRootStyle
.faVerticalDraggableTabs__scroll.hasScrollbar
VueDraggable.faVerticalDraggableTabs__draggable
*TabItem × N ← role=button, class faVerticalDraggableTabs__tab
.faVerticalDraggableTabs__divider ← q-separator
.faVerticalDraggableTabs__addButtonRow
q-btn.faVerticalDraggableTabs__addButtonImport global styles once per feature via @use / src= on colocated unscoped SCSS (see DialogProjectSettings.worldsTabList.unscoped.scss). Base tokens: src/css/theme/custom-components/_faVerticalDraggableTabs.variables.scss.
Layout props (TabList host SFC; all optional with defaults):
| Prop | Default | Maps to CSS variable |
|---|---|---|
tabListWidthPx | 240 | --fa-vertical-draggable-tabs-column-width |
tabPadding | '4px 40px 4px 60px' | --fa-vertical-draggable-tabs-tab-padding |
tabTextAlign | 'left' | --fa-vertical-draggable-tabs-tab-text-align |
tabJustifyContent | 'flex-start' | --fa-vertical-draggable-tabs-tab-justify-content |
tabLabelTextTransform | 'none' | --fa-vertical-draggable-tabs-tab-label-text-transform |
tabLabelFontSize | '14px' | --fa-vertical-draggable-tabs-tab-label-font-size |
dense | false (document templates TabList default true) | --fa-vertical-draggable-tabs-tab-min-height (36px when dense; SCSS fallback 48px) |
Types: types/I_faVerticalDraggableTabs.ts. Defaults + buildFaVerticalDraggableTabsRootStyle: import from faDragDrop_manager.
TabList script pattern
import {
FA_VERTICAL_DRAGGABLE_TABS_TAB_JUSTIFY_CONTENT_DEFAULT,
FA_VERTICAL_DRAGGABLE_TABS_TAB_LABEL_FONT_SIZE_DEFAULT,
FA_VERTICAL_DRAGGABLE_TABS_TAB_LABEL_TEXT_TRANSFORM_DEFAULT,
FA_VERTICAL_DRAGGABLE_TABS_TAB_PADDING_DEFAULT,
FA_VERTICAL_DRAGGABLE_TABS_TAB_TEXT_ALIGN_DEFAULT,
buildFaVerticalDraggableTabsRootStyle
} from 'app/src/scripts/faDragDrop/faDragDrop_manager'
const tabListRootStyle = computed(() => buildFaVerticalDraggableTabsRootStyle({
columnWidthPx: props.tabListWidthPx,
tabDense: props.dense,
tabJustifyContent: props.tabJustifyContent,
tabLabelFontSize: props.tabLabelFontSize,
tabLabelTextTransform: props.tabLabelTextTransform,
tabPadding: props.tabPadding,
tabTextAlign: props.tabTextAlign
}))Drag wiring (both reference TabLists):
faVerticalDraggableTabsSortableDragOptions on VueDraggabletouch-start-threshold="5" — tap-to-select without drag@start → applyFaVerticalDraggableTabsDocumentDragCursor (from faDragDrop_manager)@end → clearFaVerticalDraggableTabsDocumentDragCursor + emit reordered arraycomputed class faVerticalDraggableTabs--listDragging while dragging--active, --dragging, --errorTests: src/scripts/faDragDrop/_tests/buildFaVerticalDraggableTabsRootStyle.vitest.test.ts; TabList Vitest stubs VueDraggable; Playwright uses data-test-locator on list, tabs, add button.
quasar-ui-q-draggable-table (QTable rows)Registered globally via src/boot/q-draggable-table.ts (quasar.config.ts boot).
<q-table
v-draggable-table="{
options: { mode: 'row' },
onDrop
}"
:rows="rows"
:columns="columns"
row-key="id"
/>function onDrop (from: number, to: number): void {
const next = [...rows.value]
next.splice(to, 0, next.splice(from, 1)[0])
rows.value = next
// Persist row order
}quasar-ui-q-draggable-table/dist/index.css from boot manager only (no per-SFC duplicate).virtual-scroll on same QTable when using row drag.Nested hierarchies → fantasia-he-tree: Draggable from @he-tree/vue owns reorder semantics.
Project Settings world template layout uses he-tree Draggable — see fa-drag-drop-lists.mdc World template layout tree for component map, commit policy, wiring, validation, rename menu, tests. Do not duplicate that narrative here.
vue-draggable-plus when mount-only smoke; test reorder helpers in scripts/_tests with pure array moves.data-test-locator on handles; pointer APIs per playwright-tests.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
Just SKILL.md in .cursor/skills/fantasia-drag-drop of vishiri/fantasia-archive.
Open the folder on GitHubat commit 26d4648
Fantasia Drag Drop 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fantasia Drag Drop this skillvishiri/fantasia-archive | 409 | — | ~2.6k | Automated safety check: Pass | GPL-3.0 | |
| Tailwindcss Developmentanonaddy/anonaddy | 4.9k | 10 repos | ~865 | Automated safety check: Pass | MIT | |
| GSAP Core Animationgreensock/gsap-skills | 16k | 3 repos | ~3.7k | Automated safety check: Pass | MIT | |
| GSAP in Vue, Nuxt and Sveltegreensock/gsap-skills | 16k | 3 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Vuetify Playgroundvuetifyjs/vuetify | 41k | — | ~730 | Automated safety check: Pass | Custom licence | |
| Inertia Vue Developmentanonaddy/anonaddy | 4.9k | 3 repos | ~3.4k | Automated safety check: Pass | MIT |
anonaddy/anonaddy
Always invoke when the user's message includes 'tailwind' in any form.
greensock/gsap-skills
Covers the GSAP core API for tweens, easing, staggers, defaults and matchMedia, and when to choose GSAP over CSS animations or other JavaScript animation libraries.
greensock/gsap-skills
Shows how to use GSAP in Vue, Nuxt, Svelte and other lifecycle-based frameworks: create after mount, scope selectors to the component, and revert on unmount.
vuetifyjs/vuetify
Maintains the Vuetify repo's local Playground.vue so contributors get a realistic reproduction and a short demo they can paste into a pull request description.
anonaddy/anonaddy
Develops Inertia.js v3 Vue client-side applications. An agent skill from anonaddy/anonaddy.
Jane-xiaoer/claude-skill-web-clone
网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…
vishiri/fantasia-archive
Ultra-compressed commit message generator. An agent skill from vishiri/fantasia-archive.
vishiri/fantasia-archive
Ultra-compressed code review comments. An agent skill from vishiri/fantasia-archive.
vishiri/fantasia-archive
Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens.
vishiri/fantasia-archive
Decision guide for delegating to caveman-style subagents. An agent skill from vishiri/fantasia-archive.
vishiri/fantasia-archive
Quick-reference card for all caveman modes, skills, and commands.
vishiri/fantasia-archive
Context menu divider policy: full primary-bright group separators vs low-opacity separatorAlt between consecutive items in the same group.
Works with
List and table drag-and-drop policy for Fantasia Archive: vue-draggable-plus for QList and flat lists; quasar-ui-q-draggable-table (v-draggable-table) for QTable row reorder; @he-tree/vue Draggable…. Fantasia Drag Drop is an agent skill from vishiri/fantasia-archive. List and table drag-and-drop policy for Fantasia Archive: vue-draggable-plus for QList and flat lists; quasar-ui-q-draggable-table (v-draggable-table) for QTable row reorder; @he-tree/vue Draggable for trees.
Fantasia Drag Drop fits situations like: adding reorder UX to settings lists; documenting DnD dependencies.
Run `npx skills add vishiri/fantasia-archive --skill fantasia-drag-drop -a claude-code`. Or copy the skill folder (.cursor/skills/fantasia-drag-drop in vishiri/fantasia-archive) into .claude/skills/fantasia-drag-drop in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vishiri/fantasia-archive --skill fantasia-drag-drop -a codex`. Or copy the skill folder (.cursor/skills/fantasia-drag-drop in vishiri/fantasia-archive) into .agents/skills/fantasia-drag-drop in your project. Codex loads it when a task matches its description.
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-drag-drop -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-drag-drop, .gemini/skills/fantasia-drag-drop, .github/skills/fantasia-drag-drop and .opencode/skills/fantasia-drag-drop in your project.
SKILL.md names no scripts, command-line tools or credentials: Fantasia Drag Drop is instructions for the agent only.
SKILL.md names 2 domains. As links in the text: vue-draggable-plus.pages.dev and github.com. This is read from the text; nothing was executed.
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.
Fantasia Drag Drop 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.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Fantasia Drag Drop: Tailwindcss Development (anonaddy/anonaddy, 4.9k stars), GSAP Core Animation (greensock/gsap-skills, 16k stars), GSAP in Vue, Nuxt and Svelte (greensock/gsap-skills, 16k stars) and Vuetify Playground (vuetifyjs/vuetify, 41k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.