pxl — скилл

Скилл для пиксель-арта: агент описывает рисунок кодом, а pxl собирает PNG, листы спрайтов, GIF и показывает рисование в браузере

  • 591 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Минимальный доступ

Почему такой уровень

  • Пишет файлы только в каталог `out/` рядом с рисунком и запускает локальный сервер просмотра на 127.0.0.1:4321
  • Файл рисунка `.px.js` выполняется в песочнице виртуальной машины Node
Все причины и проверки

crsolver/claude-pxl

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/pxl

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Пишет файлы только в каталог `out/` рядом с рисунком и запускает локальный сервер просмотра на 127.0.0.1:4321
  • Файл рисунка `.px.js` выполняется в песочнице виртуальной машины Node

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

pxl — скилл и консольная утилита на Node.js, в которой пиксель-арт описывается кодом. Агент пишет компактный файл `.px.js`, а `node bin/pxl.js build art.px.js` собирает из него PNG, листы спрайтов с JSON в стиле TexturePacker и анимированные GIF. Зависимостей для запуска нет, нужен Node 22.18 или новее. Язык описания убирает повторы. Спрайт рисуется текстовой сеткой из символов палитры, зеркалится, обводится контуром автоматически и перекрашивается заменой цветов в одной строке. Есть прямоугольники, линии, окружности, многоугольники, градиенты, дизеринг и шум, встроенный пиксельный шрифт, тайлмапы и слои сцены с тенями. Анимация собирается из кадров-правок поверх базового спрайта, освещение с рельефом подключается по необходимости. SKILL.md задает цикл для агента: написать файл, собрать нужные ассеты, посмотреть увеличенное превью `out/_preview/<имя>.png` с сеткой пикселей, поправить и собрать заново. Для точных правок `pxl ascii` печатает ассет ключами палитры с линейками координат. Команда `pxl serve art.px.js` открывает в браузере просмотр, который перестраивается при каждом сохранении и повторяет рисование шаг за шагом.

Для кого. Авторам 2D-игр и интерфейсов, которым нужны спрайты, тайлы и иконки от Claude Code или Codex, и тем, кто хочет наблюдать, как агент рисует.

Подходит, если

  • Игре нужен набор спрайтов с общей палитрой, и агент должен отдать лист PNG вместе с JSON-описанием кадров
  • Персонаж нужен в нескольких цветах: вариант собирается строкой `sprite("slime_red", { base: "slime", swap: { g: "r" } })`
  • Сцену с тенями и светом лампы собирают слоями, а правки идут патчами без перерисовки всего изображения
  • Нужен анимированный GIF персонажа или предмета, например кошка или часы
  • Вы хотите видеть процесс: `pxl serve` показывает в браузере, как рисуется выбранный ассет

Не подходит, если

  • Нужна фотореалистичная графика или растровая иллюстрация: pxl рисует только пиксельную графику
  • Дизайнер работает в редакторе с кистями и слоями и вручную правит каждый пиксель
  • Среда без Node 22.18 или новее, и обновить ее нельзя
  • Нужны трехмерные модели: pxl делает плоские изображения, пусть и с освещением

Пример запроса к агенту

Нарисуй пиксельного слизня 16 на 16 в палитре sweetie16 и анимацию покачивания, дай лист спрайтов и GIF

Ограничения

  • Нужен Node 22.18 или новее. Из клона запускаются исходники на TypeScript, из пакета собранный `dist/`.
  • Скилл рассчитан на Claude Code. Для Codex, Cursor и других агентов в README указано одно: открыть `SKILL.md` и сообщить путь к `bin/pxl.js`.
  • Результат зависит от модели, которая пишет сетки: автор рекомендует смотреть превью после каждой правки и править патчами.
  • Последний коммит репозитория в октябре 2026 года, версии в тегах нет.

Как отключить. Удалите папку `~/.claude/skills/pxl-pixel-art` или `.claude/skills/pxl-pixel-art` в проекте. Утилита ничего не пишет вне этой папки и каталога `out/` рядом с файлом рисунка.

Частые вопросы

Как поставить pxl в Claude Code?

Клонируйте репозиторий в папку скиллов: `git clone https://github.com/crsolver/claude-pxl.git ~/.claude/skills/pxl-pixel-art` для всех проектов или в `.claude/skills/pxl-pixel-art` для одного. Затем попросите Claude нарисовать спрайт, и скилл подключится по описанию.

Можно ли запустить pxl без клонирования?

Да, команда `npx github:crsolver/claude-pxl build art.px.js` собирает рисунок без клона. Живой просмотр запускается так же: `npx github:crsolver/claude-pxl serve art.px.js`, адрес выводится в терминале, по умолчанию порт 4321.

Что получится после сборки?

В каталоге `out/` лягут PNG спрайтов в масштабе один к одному, лист спрайтов с JSON, GIF для анимаций и увеличенные превью с сеткой в `out/_preview`. Каждое превью агент читает как изображение и правит рисунок.

Работает ли pxl с Codex и Cursor?

Да, но вручную. README советует направить агента на `SKILL.md` и сказать, что утилита запускается как `node <путь к pxl>/bin/pxl.js`. Автоматической установки для них нет.

Как поправить один пиксель, не перерисовывая спрайт?

Посмотрите ассет командой `pxl ascii art.px.js <имя>`: она выведет ключи палитры с линейками. Затем добавьте патч `grid(x, y, ...)` и пересоберите только этот ассет флагом `--only`.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Плагин и MCP-сервер дают агенту рисовать и анимировать в уже открытом окне Aseprite, каждое действие откатывается одним Ctrl+Z

ПлагинРасширенный доступ617Звезды репозитория

Плагин Claude Code для пиксель-арта в Aseprite: спрайты, анимация, ретро-палитры, дизеринг и экспорт для Unity, Godot и Phaser

ПлагинРасширенный доступ413Звезды репозитория

Скилл превращает ваше фото или описание в рисованного персонажа и делает им схемы, карточки знаний и слайды

СкиллРасширенный доступ266Звезды репозитория
Официальный

Десять скиллов SpriteCook учат агента делать пиксель-арт и игровую графику, анимировать спрайты и выгружать их в Godot

СкиллРасширенный доступ54Звезды репозитория

Скилл ведет агента от сгенерированной картинки к игровому ассету: спрайты, анимация из видео и проверка перед выпуском

СкиллРасширенный доступ304Звезды репозитория

Библиотека из 244 пиксельных эффектов в виде кода и скилл для Claude Code, который находит, перекрашивает и рисует новые эффекты

СкиллРасширенный доступ5,2 тыс.Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
pxl (эта карточка)нет591
Agent Sprite Forgeнет5 306строит спрайты и карты из текстового запроса в Codex, а pxl описывает рисунок кодом и собирает его детерминированно
Sprite Genнет3 764делает спрайты из одного базового изображения и убирает фон, pxl рисует с нуля из палитры и сеток

Коротко о README

README показывает галерею сцен и анимаций, затем быстрый старт с примером `art.px.js` и списком файлов на выходе. Дальше описаны живой просмотр, четыре команды `build`, `serve`, `ascii` и `list`, возможности языка и подключение к агентам. Последний раздел для разработчиков самого pxl.

Бейдж для README

Исходный SKILL.md

---
name: pxl-pixel-art
description: Create pixel art (game sprites, characters, items, tiles, tilesets, icons, scenes, sprite sheets) with pxl, a compact JavaScript DSL that renders PNGs and lets the user watch the painting live in a browser. Use when asked to draw, design or iterate on pixel art or game assets.
---

# pxl: pixel art as code

You write a small `.px.js` file; pxl renders PNGs and upscaled previews you can look at. The DSL
is built to avoid writing pixels twice: mirroring, auto-outline, palette-swap variants, reusable
parts, primitives, brushes and tilemaps. Needs Node ≥ 22.18. No install step.

`PXL` below means `node <this skill's directory>/bin/pxl.js`.

## Workflow

1. Write `art.px.js` (start from the template below; examples in `examples/`).
2. Build only what you're working on: `PXL build art.px.js --only slime,heart`
3. **Look at it**: read `out/_preview/<name>.png` (upscaled, checkerboard = transparent, grid every
   pixel, darker every 8). For exact pixel fixes use `PXL ascii art.px.js <name>` (keys + x/y rulers);
   it's cheaper than an image.
4. Fix with small edits (a `grid(x, y, ...)` patch, one op) and rebuild. Repeat.
5. If the user wants to watch: start `PXL serve art.px.js` in the background and give them the URL.
   It rebuilds on every save and replays the edited asset's painting steps; it also writes the same
   `out/` files, so keep reading previews as usual.

Errors name the file:line:col, the asset/layer/op path, and suggest fixes ("did you mean 'r'?").
One broken asset doesn't stop the others from building.

## Template

```js
pal({ k: "#1b1630", g: "#8ccf63", G: "#4c8a44", t: "#2a5560", w: "#fff6e0", r: "#e2585e", R: "#a63a4c" })
ramps("ktGg", "kRr")                   // dark -> light, drives shade()/light()

// Symmetric: write the left half, mirror it, outline it.
sprite("slime", { mx: true, outline: "k" }, `
  ....ggg
  ..ggGGg
  .ggGwGg
  gggkwgg
  gggkkgg
  tgggggg
  .tttttt`)
sprite("slime_red", { base: "slime", swap: { g: "r", G: "R" } })   // variant: 1 line

sprite("_eye", "wk\nkk")                                            // "_" = part, not exported
sprite("chest", { w: 16, h: 12, outline: "k" },
  rect(0, 3, 16, 9, "R"), rect(0, 0, 16, 4, "r"), stamp("_eye", 7, 4), shade([0, 9, 16, 3]))

scene("meadow", { w: 160, h: 96, bg: "w" },
  layer("ground", { y: 64 }, rect(0, 0, 160, 32, "G"), noise(0, 0, 160, 32, "g", 0.1, 3)),
  layer("props", stamp("slime", 40, 54), stamp("slime_red", 70, 54, { flip: "x" })),
  layer("shadow", { shade: true }, poly([38, 64, 88, 64, 92, 67, 34, 67], "k")))   // cast shadow

sheet("chars", ["slime*", "chest"], { pad: 1 })

Сообщить о проблеме

Foxx AIpxl
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.