howdeploy/kisa-stack/css-graphics

Claude Code and agent skill by howdeploy/kisa-stack

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Генерация CSS/SVG графики с рендером в PNG/JPG через Puppeteer. Use when пользователь просит "сделай графику", "нарисуй картинку", "создай изображение", "сгенерируй png", "css graphics", "css art", "svg graphic", "render to png", или дает референсное изображение для воссоздания в CSS/SVG.

Install

npx vskill@latest install howdeploy/kisa-stack/css-graphics

SKILL.md

CSS Graphics — генерация графики средствами HTML/CSS/SVG

Hermes: команды запускай через terminal, временный HTML пиши файловым инструментом среды, готовый PNG/JPG отдавай в чат через MEDIA:/absolute/path.

Standalone скилл для создания графики. Пользователь описывает картинку текстом или дает референсное изображение — ты пишешь HTML/CSS/SVG и рендеришь в PNG/JPG через Puppeteer.

Все пути в этом скилле — относительно базовой директории скилла (она сообщается при загрузке скилла; в Claude Code это ~/.claude/skills/css-graphics/, в Codex — ~/.codex/skills/css-graphics/).

Первый запуск

Если Puppeteer еще не установлен, выполни из базовой директории скилла:

bash
bash scripts/setup.sh

Режимы работы

Режим 1 — из текстового описания

Пользователь описывает что хочет увидеть → ты пишешь HTML/CSS/SVG → рендеришь.

Режим 2 — по референсному изображению

Пользователь дает изображение → ты читаешь его через Read tool → анализируешь цвета, формы, layout, типографику → воссоздаешь в CSS/SVG → рендеришь.

Процесс рендера

  1. Write HTML-файл в .css-graphics-temp.html (в CWD пользователя)
  2. Bash — запустить render.js (путь к скрипту — от базовой директории скилла):

``bash node <база скилла>/scripts/render.js \ --input .css-graphics-temp.html \ --output <имя-файла>.png \ --width <W> --height <H> ``

  1. Bash — удалить временный файл: rm .css-graphics-temp.html
  2. Сообщить пользователю путь к файлу и итоговые размеры

Обязательная HTML-структура

Каждый сгенерированный HTML обязан содержать:

html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body {
width: 100vw;
height: 100vh;
overflow: hidden;
}
</style>
<!-- Google Fonts если нужны -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;900&display=swap" rel="stylesheet">
</head>
<body>
<!-- Контент здесь -->
</body>
</html>
  • body занимает весь viewport — размеры задаются через --width/--height в render.js
  • overflow: hidden — ничего не выходит за границы
  • Google Fonts подключать через <link> с fallback на system-ui, sans-serif

CSS-техники для графики

  • Градиенты: linear-gradient, radial-gradient, conic-gradient, множественные background
  • Формы: border-radius, clip-path (polygon, circle, ellipse, path)
  • Глубина: стекинг box-shadow, drop-shadow, backdrop-filter: blur()
  • Текстуры: repeating-linear-gradient, SVG <pattern>, feTurbulence
  • Анимации не нужны — рендерится статический скриншот

SVG-техники

  • <defs> + <linearGradient> / <radialGradient> для заливок
  • <path> с командами M, L, C, Q, A для произвольных форм
  • <marker> для стрелок на линиях
  • <text> с dominant-baseline и text-anchor для точного позиционирования
  • <filter> — feGaussianBlur, feTurbulence, feDisplacementMap для эффектов
  • <clipPath> и <mask> для вырезания

Стандартные размеры

НазваниеwidthheightИспользование
Full HD19201080Стандарт, презентации, обои
4K38402160Высокое качество
Instagram Post10801080Квадрат для ленты
Instagram Story10801920Вертикальный формат
Twitter Card1200675Превью ссылок
YouTube Thumbnail1280720Обложки видео
Badge20040Бейджи для README
Banner1200300Шапки профилей
OG Image1200630Open Graph для соцсетей

Параметры render.js

ПараметрДефолтОписание
--input(обязательный)Путь к HTML-файлу
--output(обязательный)Путь к выходному файлу (.png / .jpg / .jpeg)
--width1920Ширина viewport в пикселях
--height1080Высота viewport в пикселях
--scale2Device scale factor (2 = Retina, итого 3840x2160 для 1920x1080)
--transparentfalseПрозрачный фон (только PNG)
--quality90Качество JPEG (1-100, игнорируется для PNG)
--wait1000Доп. ожидание после загрузки (мс), для шрифтов и CSS

Советы

  • Для Retina-качества используй --scale 2 (по умолчанию) — итоговый файл будет вдвое больше viewport
  • Для прозрачных PNG (иконки, стикеры) — --transparent + не задавай background на body
  • Для JPEG используй расширение .jpg — автоматически уберет альфа-канал
  • Для сложной типографики предпочитай Google Fonts — --wait 2000 чтобы шрифты загрузились
  • Справочник техник: references/css-techniques.md (от базовой директории скилла)

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/howdeploy/kisa-stack/css-graphics/badge)](https://verified-skill.com/skills/howdeploy/kisa-stack/css-graphics)

Something wrong with this skill or its page? Tell us.