[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-105413":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":16,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":9,"trendingCount":14,"starSnapshotCount":14,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},105413,"effekseer-vfx-skill","kanaworksai-hue\u002Feffekseer-vfx-skill","kanaworksai-hue","Agent skills that make real-time game VFX: procedural Effekseer effects, video-model flipbooks, or both, played in Godot and Unity (Claude Code, Codex and other Agent Skills hosts).",null,"Python",74,5,64,0,8,24,59.13,"MIT License",false,"main",true,[],"2026-11-01 00:16:12","# effekseer-vfx-skill\n\n\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"docs\u002Fassets\u002Fbanner-en.jpg\" alt=\"VFX Skill: your coding agent makes real-time game VFX for Effekseer, Godot and Unity\" width=\"820\">\n\n\u003Cp>\n  \u003Ca href=\"LICENSE\">\u003Cimg alt=\"License: MIT\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-6b4dff?style=flat-square\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fagentskills.io\">\u003Cimg alt=\"Agent Skill\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAgent_Skill-Claude_Code_·_Codex_·_Cursor-19b8d6?style=flat-square\">\u003C\u002Fa>\n  \u003Cimg alt=\"Effekseer 1.80\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FEffekseer-1.80-ff7d2e?style=flat-square\">\n  \u003Cimg alt=\"Godot 4\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGodot-4-478cbf?style=flat-square&logo=godotengine&logoColor=white\">\n  \u003Cimg alt=\"Unity 6 URP\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FUnity_6-URP-111?style=flat-square&logo=unity\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkanaworksai-hue\u002Feffekseer-vfx-skill\u002Fstargazers\">\u003Cimg alt=\"GitHub stars\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fkanaworksai-hue\u002Feffekseer-vfx-skill?style=flat-square&logo=github&label=stars&color=f5c518\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkanaworksai-hue\">\u003Cimg src=\"docs\u002Fbrand\u002Fkanaworks-mark.png\" height=\"22\" alt=\"\" align=\"absmiddle\">\u003C\u002Fa>&nbsp;\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkanaworksai-hue\">\u003Cb>A KanaWorks_AI project\u003C\u002Fb>\u003C\u002Fa>\u003C\u002Fp>\n\nEnglish | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [한국어](README.ko.md) | [Português (Brasil)](README.pt-BR.md) | [Español](README.es.md)\n\n\u003C\u002Fdiv>\n\nAgent skills that let a coding agent (Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and other\n[Agent Skills](https:\u002F\u002Fagentskills.io) hosts) make real-time game VFX the way a VFX artist iterates, in code:\n\n**design brief → textures → Python recipe → EffekseerCore build → real Godot filmstrip → look → fix one thing → repeat → independent review**\n\n- **`effekseer-vfx`** — the authoring skill: craft rules, verified Effekseer\u002FGodot engine conventions, about 30 composable\n  layer primitives, a static linter, the official EffekseerCore compiler with save\u002Fopen read-back, a Godot Lab that\n  stages every effect as an exchange between two dummies, filmstrip capture with pixel flags, iteration history and\n  tamper-evident evidence that ties a review to the exact build it saw.\n- **`vfx-review`** — the reviewer skill: a separate agent scores the strip against a fixed rubric without seeing the\n  recipe, because the author never grades its own work.\n- **Examples** — sixteen finished effects with briefs and textures: four ranged pairs (fire, ice, poison, dark:\n  projectile + impact), one each of hit, slash, charge, shield and heal, and a kaiju set (a charge that climbs the\n  dorsal plates, a sweepable atomic beam, a photographic explosion), plus three diagnosed before\u002Fafter cases.\n- **Large and realistic effects** — `scale='kaiju'` builds a character-scale recipe 40x larger and 2.5x slower\n  (sizes, speeds, gravity, budgets and the review camera all follow); `beam()` makes a held beam whose end point the\n  game moves every frame (`Vfx.beam()` → `aim()` → `release()`); `charge_chain()` lights arcs along a chain of\n  points; photographic fire, soot and smoke flipbooks; soft particles verified in Forward+.\n- **Combos, blockout and stylized shapes** — a sequence brief ties several effects to the beats of a character\n  animation and gates the work blockout → detail → polish (an independent blockout review must pass before any\n  texture work); captures can come from the game itself; references carry steal lists the reviewer checks; `vfx\n  paintover` turns a captured frame into an image-edit prompt for a concept target. Hard-edged stylized primitives\n  (`spiral_ribbons`, `spike_crown`, `speed_streaks`, `stylized_pair`, `sparkle`), greyscale mask templates, and\n  screen feedback (`screen=`: shake, impact frame, hit-stop) that the Lab plays and `Vfx.screen_cue` hands to the game.\n\n## Three ways to make an effect (new in 0.3)\n\nYou choose per effect; nothing forces one way.\n\n| Way | How | Plays in |\n|---|---|---|\n| **Procedural** | layered primitives in a Python recipe, painted textures, EffekseerCore build, Godot review (everything above) | Effekseer → Godot |\n| **Video flipbook** | an image-to-video model (verified with Seedance 2.5; any model with first and last frames works) paints the motion on black; `vfx video-flipbook` keys, crops, masks and packs it, `vfx video-grade` gives every sheet of an element the same cel-shaded look | Unity (URP), or Effekseer → Godot |\n| **Combined** | the sheet is the body layer of a recipe (`video_body(...)`); primitives add the contact flash, sparks, rings, cracks, decals and heat haze | Effekseer → Godot, Unity |\n\n**What was not possible before and is now:**\n\n- **Continuous shape changes.** A water column that shoots up, carries the target into the air and collapses as rain;\n  a fireball that bursts and boils into grey smoke; an orb whose flames churn in a seamless loop. Primitives scale,\n  fade, scroll and erode a picture; they cannot turn fire into smoke inside one silhouette. A video model draws every\n  in-between.\n- **A hand-painted anime look in motion**, consistent across a whole element set: one value ramp per element grades\n  every sheet to the same flat steps (dark rim, body, light, hot core).\n- **Unity.** The skill used to stop at Godot. `vfx unity-install \u003CUnityProject>` adds a URP runtime package\n  (data-driven `ElementProfile` skills with projectile, instant-bolt and ground-eruption delivery, layered particles,\n  hit-stop, shake, target lift) and its procedural textures; `vfx unity-export` copies a sheet with its grid; three\n  menu items (or one batch-mode command an agent can run) turn sheets into a playable skill and a demo scene.\n- **Reproducible from a sentence.** Every clip's prompt and every sheet's parameters are recorded in\n  `vfx\u002Fvideo_prompts.json`, so an agent can rebuild or vary a sheet exactly. Ask: *\"Make a water-column skill from a\n  video flipbook and set it up in my Unity project.\"*\n\nGuide: [`references\u002Fvideo-flipbook.md`](skills\u002Feffekseer-vfx\u002Freferences\u002Fvideo-flipbook.md). The skill ships the\ntechnique only: clips, sheets and characters you generate stay in your own project.\n\n## Requirements\n\n| Mode | What you can do | Needs |\n|---|---|---|\n| authoring | write briefs and recipes, lint, process and measure textures | Python 3.11+ or [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) on macOS, Linux or Windows (macOS's built-in Python 3.9 is too old) |\n| build | compile `.efkefc` \u002F `.efk` through the official EffekseerCore | **macOS on Apple silicon** or **Windows x64**, network for the first setup (~250 MB into `~\u002F.cache\u002Feffekseer-vfx`) |\n| render | Godot filmstrip review, Lab, preview, packaging | the above + [Godot 4](https:\u002F\u002Fgodotengine.org) (Forward+) on `PATH` or in `GODOT`; `ffmpeg` for reference clips and recordings |\n| video flipbooks | `video-*` commands | authoring mode + `ffmpeg`; clips from any image-to-video model |\n| Unity | play sheets as element skills | Unity 6 (6000.0+) with URP 17; verified on 6000.5 |\n\nBuild and render are verified on macOS ARM64 (Effekseer Core 1.80.7, EffekseerForGodot4 1.80.5.1, Godot 4.7, .NET 9)\nand on Windows 11 x64 (the same versions, Godot 4.7.2). Windows ARM64 gets the matching .NET runtime from setup but is\nnot verified. Linux runs authoring mode; its build path is not verified.\n\nOn Windows every `sh \u003Cskill>\u002Fscripts\u002F...` command below also works from Git Bash (what Claude Code uses); from cmd or\nPowerShell use `\u003Cskill>\\scripts\\vfx.cmd` for `vfx` and\n`powershell -NoProfile -ExecutionPolicy Bypass -File \u003Cskill>\\scripts\\setup.ps1` for `setup.sh`.\n\n## Install\n\nThe simplest way: give this repository's URL to your coding agent and ask it to install the skill. The steps it\nfollows are in [For agents: installing from this URL](#for-agents-installing-from-this-url). Or install it yourself:\n\n**Claude Code** (type these in Claude Code)\n\n```text\n\u002Fplugin marketplace add kanaworksai-hue\u002Feffekseer-vfx-skill\n\u002Fplugin install effekseer-vfx@effekseer-vfx\n```\n\n**Codex** (ask in a Codex chat; the skills land in `~\u002F.codex\u002Fskills`, or `$CODEX_HOME\u002Fskills`, and are\nused from the next turn or a new session)\n\n```text\n$skill-installer install https:\u002F\u002Fgithub.com\u002Fkanaworksai-hue\u002Feffekseer-vfx-skill\u002Ftree\u002Fmain\u002Fskills\u002Feffekseer-vfx\n$skill-installer install https:\u002F\u002Fgithub.com\u002Fkanaworksai-hue\u002Feffekseer-vfx-skill\u002Ftree\u002Fmain\u002Fskills\u002Fvfx-review\n```\n\n**Other agents** (Cursor, Gemini CLI, Copilot, OpenCode, ...)\n\n```sh\nnpx skills add kanaworksai-hue\u002Feffekseer-vfx-skill\n```\n\nOr copy `skills\u002Feffekseer-vfx` and `skills\u002Fvfx-review` into your agent's skills folder (`~\u002F.claude\u002Fskills\u002F`,\n`.agents\u002Fskills\u002F`, ...). Each skill folder\ncarries its own `LICENSE` (and `effekseer-vfx` its `THIRD_PARTY_NOTICES.md`), so a copied folder keeps them.\n\n### For agents: installing from this URL\n\n1. **Get the files.** If your host has a plugin or skill installer, prefer it (the commands above); a slash command\n   such as `\u002Fplugin` must be typed by the user, so show it to them. Otherwise clone the repository and copy both skill\n   folders into your skills folder, keeping their names: `git clone --depth 1 \u003Cthis repository URL>`, then copy\n   `skills\u002Feffekseer-vfx` and `skills\u002Fvfx-review` to `~\u002F.claude\u002Fskills\u002F` (Claude Code, all projects),\n   `\u003Cproject>\u002F.claude\u002Fskills\u002F` (Claude Code, one project), `~\u002F.codex\u002Fskills\u002F` (Codex; `$CODEX_HOME\u002Fskills` if set) or\n   your host's skills folder (for example `.agents\u002Fskills\u002F`).\n   Do not copy anything else; the skills are self-contained and read-only at run time.\n2. **Load them.** If the skills do not appear in your skill list yet, ask the user to start a new session.\n3. **Check the machine.** From the user's game project run `sh \u003Cskill>\u002Fscripts\u002Fvfx doctor` (`\u003Cskill>` is the\n   installed `effekseer-vfx` folder; on Windows outside Git Bash, `\u003Cskill>\\scripts\\vfx.cmd doctor`) and follow its\n   `next` steps.\n4. **Ask before downloading.** `sh \u003Cskill>\u002Fscripts\u002Fsetup.sh` (Windows: `setup.ps1`, the exact command is in\n   `doctor`'s `next`) installs the toolchain into `~\u002F.cache\u002Feffekseer-vfx`\n   (about 250 MB on macOS ARM64 and Windows x64; `--authoring-only` elsewhere), and the first `vfx init` downloads the official\n   Effekseer Godot plugin (about 34 MB). Setup needs Python 3.11+ or uv: if `doctor` reports neither, ask the user to\n   install one. Godot 4 is never installed for the user; ask them to install it (or to allow\n   you to) and set `GODOT` if it is not on `PATH`.\n5. **Run Godot outside the sandbox.** `vfx review`, `preview` and `showcase` open a Godot window on the user's\n   desktop. A sandboxed agent (Codex in its workspace sandbox, for example) cannot open one: run those commands with\n   the user's approval outside the sandbox; if your host cannot leave its sandbox, give the user the exact command to\n   run in a terminal on their desktop. A review that renders no frame stops after about 90 s with \"rendered no frame\"\n   (most likely the window could not open; check the Godot output it includes). `doctor`'s `render: true` only means\n   Godot was found.\n6. **Confirm it works.** Run `vfx doctor` again (`modes` should show what this machine supports), then follow\n   [First steps](#first-steps). Report what works and what is missing; do not claim build or render works on a\n   machine where `doctor` says it does not.\n\n## First steps\n\nAsk your agent, in your game project: *\"Set up the effekseer-vfx skill here and show me the fire example.\"* It will run:\n\n```sh\nsh \u003Cskill>\u002Fscripts\u002Fvfx doctor            # what this machine can do, and what to install\nsh \u003Cskill>\u002Fscripts\u002Fsetup.sh              # macOS ARM64 \u002F Windows x64; use --authoring-only elsewhere (asks you first)\nsh \u003Cskill>\u002Fscripts\u002Fvfx init              # creates vfx\u002F with the Godot Lab, materials and math textures\nsh \u003Cskill>\u002Fscripts\u002Fvfx examples add fire\nsh \u003Cskill>\u002Fscripts\u002Fvfx build --ids VFX_Projectile_Fire VFX_Fire_Explosion\nsh \u003Cskill>\u002Fscripts\u002Fvfx review --ids VFX_Projectile_Fire VFX_Fire_Explosion --note \"baseline\"\nsh \u003Cskill>\u002Fscripts\u002Fvfx showcase          # play the library in the Lab\n```\n\nThen ask for an effect: *\"Make a lightning strike for a targeted spell, short and sharp, with a return stroke.\"* The\nskill makes the agent write a brief, request painted textures from your image generation tool (or ask you for\nthem), write the recipe, build, review the strips over several rounds and hand the result to an independent reviewer\nbefore it reports `effect-verify` as passed. Until that independent review is submitted and `vfx overview` has\nbeen rerun, `effect-verify` says `verified: false` even when the effect renders correctly; an agent should report\n\"builds and renders\" rather than \"verified\" at that point. The toolchain lives in `~\u002F.cache\u002Feffekseer-vfx`; set\n`EFFEKSEER_VFX_HOME` to put it elsewhere (see [the command reference](skills\u002Feffekseer-vfx\u002Freferences\u002Fcli.md)).\n\n## Image generation\n\nComplex painted shapes (smoke, slash arcs, fire, cracks, ice, symbols) must come from an image generation model; the\nskill never fakes them with code. If your agent has a built-in or connected image tool, it uses it with the prompts it\nrecords in `vfx\u002Ftexture_prompts.json`. Otherwise it tells you exactly which image to generate and where to save it.\nMath shapes (glows, rings, noise, gradients, trails, distortion maps) are generated procedurally.\n\n## Using the effects in a game\n\nEffects end up as `.efk` runtime exports and `.efkefc` sources with a `vfx_manifest.json`. The generated Godot project\ncontains a small API:\n\n```gdscript\nvar handle = Vfx.play(\"VFX_Fire_Explosion\", position)\nvar shot = Vfx.launch(\"VFX_Projectile_Fire\", from, to)\nshot.arrived.connect(func(at): Vfx.play(\"VFX_Fire_Explosion\", at))\n```\n\nBeams are aimed every frame; the game owns the end point (a ray cast, a target bone):\n\n```gdscript\nvar ray = Vfx.beam(\"VFX_Kaiju_Atomic_Beam\", mouth, target)\nray.aim(mouth, new_target)   # each frame: sweep, follow the head\nray.release()                # narrows and fades out, then frees itself\n```\n\nSee [`skills\u002Feffekseer-vfx\u002Freferences\u002Fgodot.md`](skills\u002Feffekseer-vfx\u002Freferences\u002Fgodot.md) and, for giants and kaiju,\n[`references\u002Fscale.md`](skills\u002Feffekseer-vfx\u002Freferences\u002Fscale.md).\n\n## Repository layout\n\n```\nskills\u002Feffekseer-vfx\u002F      SKILL.md, references\u002F (craft, engine conventions, review...), scripts\u002F (vfx CLI and vfx.cmd,\n                           setup.sh and setup.ps1, vfxkit, vendored effekseer_ai), assets\u002F (Godot Lab, materials, rubric,\n                           brief schema, examples, unity\u002F URP package)\nskills\u002Fvfx-review\u002F         SKILL.md for the independent reviewer\ndocs\u002Fzh\u002F, docs\u002Fja\u002F         Chinese and Japanese translations of the references\n.claude-plugin\u002F            Claude Code plugin and marketplace manifests\ntests\u002F                     pure-Python tests (no Core or Godot needed)\n```\n\n## Limitations\n\n- Review metrics are pixel heuristics on the real viewport, not GPU or overdraw measurements.\n- The review harness drives a windowed Godot on macOS and Windows; headless Linux capture is not supported yet. On\n  Windows the Godot window keeps focus while it captures (macOS hands focus back to your app).\n- On Windows, the symlink-safety tests need Developer Mode (or an administrator shell) and are skipped without it.\n- Example scores are an independent review of the skill's own capsule-Lab renders (two of the sixteen were judged\n  `iterate`); rebuild and review before relying on them.\n- `soft` particles are verified in Forward+ (they fade against opaque depth only); the Compatibility renderer has no\n  depth texture and cannot use them.\n\n## Development\n\n```sh\nsh skills\u002Feffekseer-vfx\u002Fscripts\u002Fsetup.sh --authoring-only\n~\u002F.cache\u002Feffekseer-vfx\u002Fvenv\u002Fbin\u002Fpython -m pip install pytest\n~\u002F.cache\u002Feffekseer-vfx\u002Fvenv\u002Fbin\u002Fpython -m pytest -q tests\n```\n\nOn Windows (PowerShell; drop `--authoring-only` to also run the EffekseerCore build tests):\n\n```powershell\npowershell -NoProfile -ExecutionPolicy Bypass -File skills\\effekseer-vfx\\scripts\\setup.ps1 --authoring-only\n~\\.cache\\effekseer-vfx\\venv\\Scripts\\python.exe -m pip install pytest   # a venv made by uv: uv pip install --python \u003Cthat python.exe> pytest\n~\\.cache\\effekseer-vfx\\venv\\Scripts\\python.exe -X utf8 -m pytest -q tests\n```\n\nContributions that confirm a new engine convention should add it to\n`skills\u002Feffekseer-vfx\u002Freferences\u002Fengine-conventions.md` together with how it was measured.\n\n## License and credits\n\n- **This project:** [MIT](LICENSE). Use, change and ship it, commercially too; keep the copyright and license notice with copies of the code.\n- **What you make with it:** the effects, textures, flipbooks and Unity skills you build in your own project are yours. This repository claims nothing in them.\n- **Video and image models:** clips and images you generate (for example with Seedance 2.5) follow that model's terms, not this license. Check them before commercial use. None are distributed here.\n- **Third-party components:** Effekseer, EffekseerForGodot4, .NET and the vendored effekseer-ai keep their own licenses. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).\n- **Brand and showcase:** the KanaWorks_AI name, logo and the Kana character are © 東京AI映像合同会社 (Tokyo AI Visuals LLC) and are **not** covered by the MIT license. The effects, characters and footage in the banner and the promo videos are examples: not included and not licensed. See [docs\u002Fbrand](docs\u002Fbrand\u002FREADME.md).\n\nEffekseer, Godot and Unity are trademarks of their respective owners. This is an independent project, not affiliated with or endorsed by them.\n\n\u003Cbr>\n\n\u003Cdiv align=\"center\">\n\n\u003Ca href=\"https:\u002F\u002Fx.com\u002FKanaWorks_AI\">\u003Cimg src=\"docs\u002Fbrand\u002Fkanaworks-logo.png\" width=\"130\" alt=\"KanaWorks_AI\">\u003C\u002Fa>\n\n\u003Cp>\u003Cb>Made with ♥ by \u003Ca href=\"https:\u002F\u002Fx.com\u002FKanaWorks_AI\">KanaWorks_AI\u003C\u002Fa>\u003C\u002Fb> · \u003Ca href=\"https:\u002F\u002Fx.com\u002FKanaWorks_AI\">@KanaWorks_AI\u003C\u002Fa> on X\u003C\u002Fp>\n\n\u003Cp>\u003Csub>If the skill saves you time, a ⭐ keeps the updates coming and helps others find it. More projects: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkanaworksai-hue\">github.com\u002Fkanaworksai-hue\u003C\u002Fa>\u003C\u002Fsub>\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n",2,"2026-10-31 04:26:42","CREATED_QUERY"]