ワンクリックで
generate-pixelart
ドット絵・ピクセルアートを生成。「ドット絵を生成」「ピクセルアートを作って」「GBA用の画像を作って」時に使用
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
ドット絵・ピクセルアートを生成。「ドット絵を生成」「ピクセルアートを作って」「GBA用の画像を作って」時に使用
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | generate-pixelart |
| description | ドット絵・ピクセルアートを生成。「ドット絵を生成」「ピクセルアートを作って」「GBA用の画像を作って」時に使用 |
| argument-hint | <プロンプトまたは説明> |
AI画像生成 → ドット絵風再生成 → true pixel art変換の3ステップでドット絵を生成します。
【重要】generate-imageスキルの呼び出し時は、必ず -m gemini-3-pro-image-preview -s 1K を指定してNano Banana Proモデルを使用すること。 デフォルトのNano Banana(gemini-2.5-flash-image)は参照画像ベースのスタイル変換(Step 2)が効かないため、ドット絵パイプラインには不向き。
$ARGUMENTS: 生成したいドット絵の説明(日本語可)/tmp 配下に出力することgenerate-imageスキルを使い、まず高品質なイラストを生成する。
-m gemini-3-pro-image-preview -s 1K を必ず指定すること/tmp 配下にすること(例: /tmp/pixelart_step1.png)generate-imageスキルを使い、Step 1の出力を参照画像として、ドット絵スタイルで再度生成する。
GBA-style pixel art character bust-up for 128x85 screen. True pixel art, crisp 1px edges, no anti-aliasing, no gradients, 256-color palette, optional subtle dithering.16-bit pixel art style, limited color palette, no anti-aliasing, clean pixel edges-m gemini-3-pro-image-preview -s 1K を必ず指定すること/tmp 配下にすること(例: /tmp/pixelart_step2.png)AI生成画像はグリーン背景を指定してもピクセルごとに微妙な色ブレが生じる。ppa変換前にグリーン系のピクセルを完全な単一色 #00FF00 に統一しておくことで、変換後の背景色ムラを防ぐ。
convert <step2-output> -fuzz 35% -fill '#00FF00' -opaque '#00FF00' <unified-output>
-fuzz 35% でグリーンに近い中間色も含めて #00FF00 に統一する。前景のグリーン系の色まで置換されてしまう場合は値を下げて調整する/tmp 配下にすること(例: /tmp/pixelart_step2_unified.png)proper-pixel-artでダウンサンプル+量子化を行い、true pixel artに変換する。
uvx --from proper-pixel-art ppa <unified-output> -o <final-output> -c <colors> -w <pixel-width> -u 1
-c: 量子化色数(デフォルト256、GBA BG向けなら256、GBAスプライト向けなら16など用途に応じて調整)-w: 入力画像の1ドット幅を手動指定する(必須)。AI生成のドット絵風画像はクリーンなピクセルグリッドを持たないため、自動検出では正しいドット幅を判定できない。入力画像の幅 / 目標解像度の幅 で計算する(例: 1K画像(1264px幅)でGBA BG 240px幅を狙う場合、1264 / 240 ≈ 5 → -w 5)-u 1: 初期アップスケールを無効化する(必須)。デフォルトでは入力画像が2倍にアップスケールされてから -w が適用されるため、-u 1 を指定しないと出力サイズが想定の2倍になる出力画像をReadツールで目視確認し、ユーザーに結果を伝える。
/tmp/pixelart_step1.png に生成(アスペクト比 3:2)/tmp/pixelart_step2.png に再生成(目標240x160だが、プロンプトには長辺128px上限の128x85を指定)convert /tmp/pixelart_step2.png -fuzz 35% -fill '#00FF00' -opaque '#00FF00' /tmp/pixelart_step2_unified.png
-w 5、-u 1で初期アップスケール無効化):
uvx --from proper-pixel-art ppa /tmp/pixelart_step2_unified.png -o final.png -c 256 -w 5 -u 1
final.png を目視確認キャラクターのバストアップBGを作る場合、1:1で生成するとキャラが小さくなりドット絵変換時に潰れやすい。 9:16の縦長で生成→ppa変換→頭頂部基準で正方形に切り出し することで、キャラを大きく描画できる。
-a 9:16 で縦長イラストを生成(グリーンバック)-a 9:16)-w は1:1の場合と同じ値を使う(例: 1:1で -w 4 なら縦長でも -w 4)
-w 4 → 192x344 の出力になるconvert <step3_full.png> -background '#00FF00' -gravity North -extent 256x256 <step3.png>
-gravity North で画像上部(頭)を基準に切り出すconvert <step3.png> -type Palette BMP3:<output.bmp>
このパターンを使うべき場面:
使わなくてよい場面:
複数のスプライトを1枚の画像にまとめて生成し、切り出し後に個別にppa変換する。 デザインの統一感を保つために、関連するスプライトは可能な限り1枚にまとめて生成する。
Step 1: generate-imageスキルで全スプライトを1枚の画像に並べて生成する
#00FF00)を指定Step 2: Step 1を参照画像としてドット絵風に再生成(同じアスペクト比)
Step 2.5: グリーン背景を単一色に統一
切り出し: ImageMagickで各スプライトを個別に切り出す
# 例: 1264x768の画像から3つのスプライトを切り出し
convert <step2_unified.png> -crop 420x768+0+0 +repage /tmp/sprite1_cut.png
convert <step2_unified.png> -crop 420x768+422+0 +repage /tmp/sprite2_cut.png
convert <step2_unified.png> -crop 420x768+844+0 +repage /tmp/sprite3_cut.png
identify -verbose や目視で確認する-flop を追加するStep 3: 切り出した各画像に対して個別にppa変換する
uvx --from proper-pixel-art ppa /tmp/sprite1_cut.png -o /tmp/sprite1_ppa.png -c 16 -w <pixel-width> -u 1
-c 16: GBAスプライトは4bpp(16色)-w: 切り出し画像の幅 / 目標スプライト幅 で計算BMP3変換: 各スプライトをBMP3 4bppに変換
convert <ppa.png> -type Palette -colors 16 BMP3:<output.bmp>
パレットindex 0修正(必須): ImageMagickの-colors 16量子化ではパレットの並び順が保証されず、index 0が#00FF00にならないことが多い。GBAスプライトではindex 0が透過色として扱われるため、BMP3変換後に必ずパレットindex 0を#00FF00に修正すること。
import struct
def fix_sprite_palette_index0(bmp_path):
with open(bmp_path, 'rb') as f:
data = bytearray(f.read())
w = struct.unpack_from('<i', data, 18)[0]
h = abs(struct.unpack_from('<i', data, 22)[0])
bpp = struct.unpack_from('<H', data, 28)[0]
data_offset = struct.unpack_from('<I', data, 10)[0]
n_colors = 1 << bpp
# Read palette and find green
pal = []
for i in range(n_colors):
off = 54 + i * 4
b, g, r = data[off], data[off+1], data[off+2]
pal.append((r, g, b))
green_idx = next((i for i, c in enumerate(pal) if c == (0, 255, 0)), None)
if green_idx is None:
# Find closest to green
green_idx = min(range(n_colors), key=lambda i: pal[i][0]**2 + (255-pal[i][1])**2 + pal[i][2]**2)
if green_idx == 0:
# Already at 0, ensure exact value
data[54], data[55], data[56] = 0, 255, 0
else:
# Swap palette entries
old0 = pal[0]
data[54], data[55], data[56], data[57] = 0, 255, 0, 0
offg = 54 + green_idx * 4
data[offg], data[offg+1], data[offg+2], data[offg+3] = old0[2], old0[1], old0[0], 0
# Swap pixel indices (4bpp packed: high nibble = even col, low nibble = odd col)
row_bytes = (w * bpp + 31) // 32 * 4
for row in range(h):
row_start = data_offset + row * row_bytes
for col in range(w):
byte_off = row_start + col // 2
hi = (data[byte_off] >> 4) & 0x0F
lo = data[byte_off] & 0x0F
if col % 2 == 0:
if hi == 0: hi = green_idx
elif hi == green_idx: hi = 0
data[byte_off] = (hi << 4) | lo
else:
if lo == 0: lo = green_idx
elif lo == green_idx: lo = 0
data[byte_off] = (hi << 4) | lo
with open(bmp_path, 'wb') as f:
f.write(data)
この関数を全スプライトBMPに対して実行する。省略するとGBA上でスプライトの透過が効かず、緑色の矩形が表示される。
一括生成の判断基準:
convert (ImageMagick) — 背景色の単一色統一uvx (uv) — proper-pixel-artの実行-fuzz 値を下げて調整uvx --from proper-pixel-art ppa --help で確認Cursor Agent CLI の Composer 2 系モデルへ実装作業を委譲し、push と Draft PR 作成までを detached な named tmux セッションで実行させる skill。Claude Code / Codex / Pi Agent から「Cursor Composer に任せたい」「別セッションで Cursor に実装させたい」「作業 branch で実装して Draft PR だけ作らせたい」ときに使う。PR description は委任元が作成し、Cursor には指定済み PR 本文ファイルを使わせる。merge、close、branch delete、force-push、amend、Jira やチケットへのコメントはさせない。
別の tmux ペイン(既定)または detached セッション(fallback)で Claude Code にタスクを委譲する。
Pi Agent へ実装作業を委譲し、push と Draft PR 作成までを tmux 右ペイン(既定)または detached セッション(fallback)で実行させる skill。Claude Code / Codex から「Pi Agent に任せたい」「別ペインで実装させたい」「作業 branch で実装して Draft PR だけ作らせたい」ときに使う。PR description は委任元が作成し、Pi Agent には指定済み PR 本文ファイルを使わせる。merge、close、branch delete、force-push、amend、Jira やチケットへのコメントはさせない。
一日の Claude Code / Codex / Pi agent / Cursor セッションをローカルセッションファイルから振り返り、設定・rules・skills・フック・運用を改善する。終業時の振り返り、session retro、daily AI review、Claude/Codex の設定見直し、rules 改善、プロンプト改善をしたい時に使用
Git管理外のファイルをcodex CLIでレビュー。「このファイルをcodexでレビュー」「設定ファイルをレビュー」時に使用
Git管理下のコードをcodex CLIでレビュー。「codexでレビュー」「PRをレビュー」「変更をレビュー」時に使用