Agent skill

Fantasia Icon Picker

by vishiri in vishiri/fantasia-archive

Reusable FaIconPickerInput element and src/scripts/faIcons catalogs: merged MDI / Font Awesome / Material icon grid, lazy load, search, and q-icon name storage.

GPL-3.0Auto-check passedFrontend & Design

Install Fantasia Icon Picker

skills CLI
$ npx skills add vishiri/fantasia-archive --skill fantasia-icon-picker -a claude-code

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

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

At a glance

Reusable FaIconPickerInput element and src/scripts/faIcons catalogs: merged MDI / Font Awesome / Material icon grid, lazy load, search, and q-icon name storage.

  • Works in 3 steps: yarn generate:icon-catalogs → Commit… → Full yarn testbatch:verify before commit…
  • Adding icon fields
  • SKILL.md covers When to use, Public API (SFC), UX behavior and File map, plus 6 more sections
  • Calls yarn

What it does

Fantasia Icon Picker is an agent skill from vishiri/fantasia-archive. Reusable FaIconPickerInput element and src/scripts/faIcons catalogs: merged MDI / Font Awesome / Material icon grid, lazy load, search, and q-icon name storage. Use when adding icon fields, regenerating icon catalogs, or wiring the picker into dialogs and forms.

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 Frontend & Design. It works with Vue.js. The repository describes itself as: A world-builder's best friend! The licence is GPL-3.0.

When your agent uses it

  • Adding icon fields
  • Regenerating icon catalogs
  • Wiring the picker into dialogs and forms

Example prompts

  • “/fantasia-icon-picker”

Workflow steps

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

  1. yarn generate:icon-catalogs
  2. Commit src/scripts/faIcons/catalogs/*.catalog.json
  3. Full yarn testbatch:verify before commit (catalog regen touches broad lint/coverage surface)

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 Icon Picker loads about 1.1k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 293 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
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). 293 words, ~1,150 tokens.

Download SKILL.mdSave it as .claude/skills/fantasia-icon-picker/SKILL.md (or your agent's skills folder).
name
fantasia-icon-picker
description
Reusable FaIconPickerInput element and src/scripts/faIcons catalogs: merged MDI / Font Awesome / Material icon grid, lazy load, search, and q-icon name storage. Use when adding icon fields, regenerating icon catalogs, or wiring the picker into dialogs and forms.

Fantasia Archive — FaIconPickerInput

When to use

FaIconPickerInput for single q-icon name (mdi-account, fa-solid fa-dragon, person) via v-model. No one-off icon grids in feature dialogs — import src/components/elements/FaIconPickerInput/.

First consumer: Project Settings → Document Templates — optional icon (DialogProjectSettingsDocumentTemplatesDetailPanel.vue).

Public API (SFC)

vue
<FaIconPickerInput
  v-model="draftIcon"
  test-locator="myFeature-iconInput"
/>
PropRole
modelValueSelected q-icon name (may be empty)
testLocatorRoot data-test-locator; trigger {testLocator}-trigger, menu {testLocator}-menu
defaultIconPreview when empty (default mdi-file-outline — FA_ICON_PICKER_EMPTY_PLACEHOLDER_ICON)

Emit: update:modelValue.

Test hooks: data-test-icon-name on trigger when set; grid cells data-test-icon-name + data-test-locator="…-iconCell".

i18n: faIconPickerInput.* from i18n/<locale>/components/elements/FaIconPickerInput/L_FaIconPickerInput.ts. Mirror keys in externalFileLoader.ts.

UX behavior

  • Trigger: round q-btn, two-line tooltip
  • Menu: search (autofocus on open), merged catalog, QVirtualScroll 16-icon rows
  • Load: all packs parallel on first open, merge + dedupe + sort A–Z, session cache
  • Search: debounced FA_ICON_PICKER_SEARCH_DEBOUNCE_MS (150 ms)
  • Cells: flat q-btn (not round); selected = primary icon color only

File map

AreaPath
SFC + menuFaIconPickerInput.vue, FaIconPickerInputMenuPanel.vue
Composablescripts/faIconPickerInput_manager.ts, faIconPickerInputComposableWiring.ts
Stylesstyles/_variables.scss, styles/FaIconPickerInput.*.unscoped.scss
Types + layouttypes/I_faIconPickerInput.ts (FA_ICON_PICKER_ICONS_PER_ROW, FA_ICON_PICKER_VIRTUAL_ROW_HEIGHT_PX sync with SCSS)
Level-1 catalogsrc/scripts/faIcons/functions/
Level-2 wiringfaIconPickerMergedCatalogLoadWiring.ts, faIconPickerCatalogLazyLoadWiring.ts
Catalogssrc/scripts/faIcons/catalogs/*.catalog.json
Generator.utility-scripts/generateFaQuasarIconCatalogs.mjs → yarn generate:icon-catalogs
Storybook_tests/FaIconPickerInput.stories.ts

Icon packs

PackExamples
mdi-v7mdi-account, mdi-file-outline
fontawesome-v6fa-solid fa-user, fa-brands fa-github
material-iconsperson, home

loadFaIconPickerMergedCatalogAsync loads FA_ICON_PICKER_PACK_IDS, then mergeFaIconPickerCatalogSlices.

Regenerating catalogs

After @quasar/extras or quasar.config.ts icon set changes:

  1. yarn generate:icon-catalogs
  2. Commit src/scripts/faIcons/catalogs/*.catalog.json
  3. Full yarn testbatch:verify before commit (catalog regen touches broad lint/coverage surface)

Prefer regenerate over hand-editing thousands of lines.

Adding to a new screen

  1. Import FaIconPickerInput
  2. v-model draft string (persist q-icon name in SQLite/store)
  3. Unique test-locator; extend Playwright selectorList if user-facing
  4. Parent may add faIconPickerInput__field + feature BEM
  5. Stub in colocated Vitest when testing parent layout only

Two-level layout

  • Level 1: src/scripts/faIcons/functions/*.ts — pure transforms
  • Level 2: faIconPickerInput_manager.ts wires Vue + catalog loaders

See fantasia-two-level-architecture.

Tests

SuiteLocation
Vitest (SFC)FaIconPickerInput/_tests/FaIconPickerInput.vitest.test.ts
Vitest (composable)scripts/_tests/createUseFaIconPickerInput.vitest.test.ts
Vitest (faIcons)src/scripts/faIcons/_tests/
PlaywrightDialogProjectSettings.playwright.test.ts

© 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-icon-picker of vishiri/fantasia-archive.

Open the folder on GitHubat commit 26d4648

Compare with similar skills

Fantasia Icon Picker 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 Icon Picker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Fantasia Icon Picker this skillvishiri/fantasia-archive409—~1.1kAutomated safety check: PassGPL-3.0
Tailwindcss Developmentanonaddy/anonaddy4.9k10 repos~865Automated safety check: PassMIT
GSAP Core Animationgreensock/gsap-skills16k3 repos~3.7kAutomated safety check: PassMIT
GSAP in Vue, Nuxt and Sveltegreensock/gsap-skills16k3 repos~2.6kAutomated safety check: PassMIT
Vuetify Playgroundvuetifyjs/vuetify41k—~730Automated safety check: PassCustom licence
Boneyard0xGF/boneyard7.5k—~2.2kAutomated safety check: NotesMIT

Similar skills

  • Tailwindcss Development

    anonaddy/anonaddy

    Always invoke when the user's message includes 'tailwind' in any form.

    4.9k GitHub starsUsed in 10 repos~865 tokens
    Frontend & DesignAuto-check passed
  • GSAP Core Animation

    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.

    16k GitHub starsUsed in 3 repos~3.7k tokens
    Frontend & DesignAuto-check passed
  • GSAP in Vue, Nuxt and Svelte

    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.

    16k GitHub starsUsed in 3 repos~2.6k tokens
    Frontend & DesignAuto-check passed
  • Vuetify Playground

    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.

    41k GitHub stars~730 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Boneyard

    0xGF/boneyard

    Use boneyard-js to add, configure, debug, or rebuild skeleton screens.

    7.5k GitHub stars~2.2k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check: notes
  • Rules for writing Vue 3 templates with Buefy components on Bulma CSS: install options, prop conventions, b-field wrapping, tables, theming and dialogs.

    9.5k GitHub stars~8.2k tokensUpdated 1 mo ago
    Frontend & DesignAuto-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

Questions about Fantasia Icon Picker

What does Fantasia Icon Picker do?

Reusable FaIconPickerInput element and src/scripts/faIcons catalogs: merged MDI / Font Awesome / Material icon grid, lazy load, search, and q-icon name storage. Fantasia Icon Picker is an agent skill from vishiri/fantasia-archive. Reusable FaIconPickerInput element and src/scripts/faIcons catalogs: merged MDI / Font Awesome / Material icon grid, lazy load, search, and q-icon name storage.

When should I use Fantasia Icon Picker?

Fantasia Icon Picker fits situations like: adding icon fields; regenerating icon catalogs; wiring the picker into dialogs and forms.

How do I install Fantasia Icon Picker in Claude Code?

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

How do I install Fantasia Icon Picker in Codex?

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

Can I use Fantasia Icon Picker 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-icon-picker -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-icon-picker, .gemini/skills/fantasia-icon-picker, .github/skills/fantasia-icon-picker and .opencode/skills/fantasia-icon-picker in your project.

What does Fantasia Icon Picker need to run?

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

Does Fantasia Icon Picker 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 Icon Picker 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 Icon Picker use?

Fantasia Icon Picker 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 Icon Picker 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 Icon Picker?

Skills that share tags, products or a category with Fantasia Icon Picker: 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.

Who maintains Fantasia Icon Picker?

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.