pixelfx skill
A library of 244 pixel art effects written as code, plus a Claude Code skill that finds, recolors and makes new ones
- 5,249 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The agent runs Node.js scripts from the repository and writes render output to `records/` and `sheets/`
- If no clone is present the skill clones the repository from the network
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/pixelfxDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The agent runs Node.js scripts from the repository and writes render output to `records/` and `sheets/`
- If no clone is present the skill clones the repository from the network
This is third-party code. Review the repository files before installing.
What it does
pixelfx stores pixel art effects as code: fire, explosions, water, ice, lightning, magic, weather, UI flashes, pickups and small critters. Each effect is a file at `src/fx/<category>/<name>.js` that draws into two buffers, color and light. That lets you play an effect in a browser, recolor it with a palette, mirror it, reseed it and export a sprite sheet for Godot, Unity, GameMaker and other engines. Effects that involve a character come with an acted scene: the character winds up, freezes on contact and recovers while the target reacts. There are 61 of them, plus 12 chained moves. The `pixelfx` skill in Claude Code teaches the agent to find a ready effect with `node tools/list.mjs`, wire it into a canvas game on Phaser, PixiJS, Kaplay or three.js, export sheets and make new ones. The agent makes new effects with Hugo Duprez's method: draft, render a contact sheet, look at it and refine. The repository has `tools/new.mjs`, `tools/render.mjs` and `tools/check.mjs` for that; the last one catches spills, seams, unseeded randomness and slow frames.
Who it is for. For developers of browser and pixel art games who need ready-made effects and sprite sheets, and for artists who build effects together with Claude Code.
Good fit when
- You need an effect such as a frost nova or lightning strike in a canvas game and want ready code with no dependencies
- You need fire and explosions exported as sprite sheets with Aseprite-style JSON for Godot or Unity
- You want the same effect in another color: the skill passes a palette with no code changes, for example blue fire
- An effect feels floaty and you ask the agent to make the hit punchier, add a wind-up and a target reaction
Not a fit when
- You need raster pixel art for characters and tiles: the library makes only effects and has no hero sprites
- Your game is not in JavaScript and needs no sprite sheets: there is no ready effect code for other languages
- You need 3D or shader effects: everything is drawn into pixel buffers
Example request
Add a frost nova to my mage's ultimate and show two takes with different palettesLimitations
- Needs Node.js 18 or newer. `ffmpeg` is only for GIF and MP4 previews.
- The skill works inside a clone of the repository: if the working folder has no `tools/render.mjs`, the agent first clones `patch-gg/pixelfx`.
- The code builds on ideas and some code by Hugo Duprez of Sprite Fusion, as noted in the files themselves.
- The effect count keeps growing; see `docs/CATALOG.md` for the current list.
- Generated renders and sprite sheets pile up in the clone's `records/` and `sheets/` folders and are cleaned by hand.
How to disable. Run `/plugin uninstall pixelfx@pixelfx`, or delete `~/.claude/skills/pixelfx` if you copied the skill by hand. Generated files sit in `records/` and `sheets/` of the clone.
FAQ
How do I install pixelfx in Claude Code?
Run `/plugin marketplace add patch-gg/pixelfx` and `/plugin install pixelfx@pixelfx`. You can also copy `skills/pixelfx` into `~/.claude/skills/`. The effects themselves are added separately, for example `npm i github:patch-gg/pixelfx`.
How do I export an effect for Godot or Unity?
`node tools/render.mjs ice/frost-nova --sheet` writes a transparent PNG frame grid and Aseprite-style JSON. `node tools/sheets.mjs` exports the whole library to `sheets/`.
How do I change an effect's color?
Pass a `palette` option with a dark-to-bright ramp, for example `--opts '{"palette": ["#102","#215","#43a","#8cf","#fff"]}'`. You can also use a ready ramp from `PAL` in `src/core/color.js`.
Do effects need dependencies in my game?
No, the core has none. Copy `src/core` and the effect files you need, or install the repository as a package.
How do I make my own effect?
Run `node tools/new.mjs arcane/my-spell`, then `node tools/render.mjs arcane/my-spell` and look at the contact sheet. Edit and render again; `node tools/check.mjs` flags common defects.
Discussion
No questions or reviews yet.
Related
SkillsA Claude Code plugin for pixel art in Aseprite: sprites, animation, retro palettes, dithering and export for Unity, Godot and Phaser
A pixel art skill: the agent describes the art in code, and pxl builds PNGs, sprite sheets and GIFs and shows the painting live
Skill pair for game VFX: the agent writes a Python recipe, builds an Effekseer effect and checks it in Godot or Unity.
A set of skills for Claude Code and Codex that assemble detailed image prompts from an element library and composition schemes
Ten SpriteCook skills teach an agent to make pixel art and game graphics, animate sprites and export them to Godot
Two Claude Code skills for videos made entirely in code: hand-painted watercolour animation and kinetic typography reels
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| pixelfx (this card) | no | 5,249 | |
| Agent Sprite Forge | no | 5,306 | makes sprites and maps from a text prompt for Codex, while this is a ready library of effects as code |
| Sprite Gen | no | 3,764 | builds character sprites from a base image, while this one covers visual effects and their animation |
README in short
The README shows a gallery, a category table with examples and two ways to use effects: code for a browser game and sprite sheets for any engine. It continues with acted scenes featuring a character, the Claude Code skill, how to author your own effect and how the library works.
README badge
Original SKILL.md
---
name: pixelfx
description: Make pixel art effects and sprite animations in code with the pixelfx library, which has 244 ready-made ones, acted out by a character who winds up, freezes on contact and recovers (fire, explosions, water, ice, lightning, sci-fi, melee, impacts, projectiles, spawn and death, arcane, holy, shadow, status, nature, weather, UI, pickups, transitions, critters) to drop into a game, recolor, export as sprite sheets or remix, plus a draft, render, look, refine loop that makes new ones look hand-animated. Use when someone wants pixel art VFX, sprite animations or sprite sheets, game juice, a specific effect ("a frost nova for my mage", "a coin pickup sparkle"), wants to use or export a pixelfx effect in Godot, Unity, Phaser or a canvas game, or wants their pixel effects to look better.
license: MIT
compatibility: Node 18 or newer. ffmpeg is optional (GIF and MP4 previews).
---
# pixelfx
Pixel art effects as code. Each effect is one file, `src/fx/<category>/<name>.js`, that draws into two buffers:
**color** (pixels: opaque, dithered or truly translucent) and **light** (additive glow). No images, so an effect
can be played live, recolored, mirrored, reseeded and rendered to a sprite sheet for any engine.
The method is Hugo Duprez's ([How to make (good) pixel art effects with
Claude](https://www.spritefusion.com/blog/how-to-make-good-pixel-art-effects-with-claude)): code is clay, trust
your eyes, feed your references. One-shot prompts make mediocre effects. Drafts you render, look at and refine
make good ones.
## Before anything
1. Work in a pixelfx checkout. If the working directory has no `tools/render.mjs`, clone one next to the
project: `git clone https://github.com/patch-gg/pixelfx`. No install step: the tools use only Node.
2. Check it runs: `node tools/render.mjs fire/torch` writes `records/fire/torch/contact.png`. Open that PNG with
your image-reading tool. That contact sheet is how you see every effect from now on.
## 1. Look for an existing effect first
`node tools/list.mjs <words>` searches ids, names, tags and descriptions (`node tools/list.mjs frost`,
`node tools/list.mjs slash loop`). `docs/CATALOG.md` lists everything by category. Render the candidates and
look at them before choosing. Most requests are an existing effect with different options:
- `palette`: the main ramp, dark to bright, as hex strings. Any `PAL` ramp in `src/core/color.js` (fire ember
lava smoke dust ice water electric volt poison holy heal arcane shadow blood earth stone gold leaf wood metal
bone neon cyber matrix candy night) or your own. A blue fire is `{"palette": PAL.ice}`.
- `seed` for a different but equivalent take; `flip` to face left; `angle` to rotate; `light` (0..1+) for glow
strength; plus each effect's own knobs in its `meta.options` (size, count, radius, text, height...).
- Try options without editing code: `node tools/render.mjs fire/torch --opts '{"palette":["#102","#215","#43a","#8cf","#fff"]}'`.
## 2. Put it in the game
**Canvas or WebGL games in JS or TS** (plain canvas, Phaser, PixiJS, Kaplay, three.js): use the code directly. It
has no dependencies; copy `src/core` and the effect files you need, or depend on the repo.
```js
import { createFrame, clearFrame, createFx, composite } from "pixelfx"; // src/core/index.js
import * as frostNova from "pixelfx/fx/ice/frost-nova"; // src/fx/ice/frost-nova.js
const frame = createFrame(320, 180); // the game's pixel resolution; ox, oy scroll it with the camera
const img = new ImageData(320, 180);
const fx = createFx(frostNova, { x: hero.x, y: hero.y, flip: hero.facing < 0 });