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
Skill

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
All reasons and checks

patch-gg/pixelfx

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/pixelfx

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended 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 palettes

Limitations

  • 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.

Skills

A Claude Code plugin for pixel art in Aseprite: sprites, animation, retro palettes, dithering and export for Unity, Godot and Phaser

PluginExtended access413Repository stars

A pixel art skill: the agent describes the art in code, and pxl builds PNGs, sprite sheets and GIFs and shows the painting live

SkillMinimal access591Repository stars

Skill pair for game VFX: the agent writes a Python recipe, builds an Effekseer effect and checks it in Godot or Unity.

SkillExtended access154Repository stars

A set of skills for Claude Code and Codex that assemble detailed image prompts from an element library and composition schemes

SkillExtended access1.5KRepository stars
Official

Ten SpriteCook skills teach an agent to make pixel art and game graphics, animate sprites and export them to Godot

SkillExtended access54Repository stars

Two Claude Code skills for videos made entirely in code: hand-painted watercolour animation and kinetic typography reels

SkillExtended access454Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
pixelfx (this card)no5,249
Agent Sprite Forgeno5,306makes sprites and maps from a text prompt for Codex, while this is a ready library of effects as code
Sprite Genno3,764builds 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 });

Report a problem

Foxx AIpixelfx
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.