Files
magnus919_agent-skills/comic-chat

Comic Chat: Deterministic PNG Comic Strips

Turn a small JSON scene plan into a static comic strip using the historical Comic Chat artwork, with no image model or chat server involved.

Why Install This Skill

Comic Chat's original art is charming but difficult to reuse: avatars are stored as old AVB files with embedded bitmaps, and complex face and torso records need source-defined composition. This skill provides a command-line renderer that does that work locally and records non-sensitive provenance in the finished PNG.

Use it for screenshots, documentation illustrations, workshop handouts, or reproducible visual stories. You define panels, dialogue, and character placement in JSON; the renderer produces the same PNG from the same scene and assets.

What You Get

Contents Provides
scripts/render_comic.py Pillow renderer and AVB embedded-DIB extractor
scripts/fetch_assets.py Pinned, cache-controlled upstream asset setup
examples/scene.json Runnable three-panel, two-speaker scene
references/ Scene contract, source lineage, and licensing notes
evals/evals.json Portable output-quality cases

Quick Start

python3 -m pip install Pillow
python3 scripts/fetch_assets.py --cache-dir "$HOME/.cache/comic-chat"
python3 scripts/render_comic.py --assets-dir "$HOME/.cache/comic-chat/source/v1.0-pre-modern/comicart" --scene examples/scene.json --output comic.png

fetch_assets.py creates or updates the pinned archive checkout at $HOME/.cache/comic-chat/source; use a cache directory you control. The render command writes comic.png and prints the selected asset provenance. PNG metadata stores relative asset names and digests plus the pinned upstream source label, never your local asset path.

Triggers

  • Render a static Comic Chat-style PNG strip.
  • Compose a panel scene from Comic Chat avatars, face art, and backdrops.
  • Extract an embedded DIB from a Comic Chat AVB asset for a reproducible illustration.

Requirements

  • Python 3.9 or newer
  • Pillow (python3 -m pip install Pillow)
  • Git and network access only when running fetch_assets.py
  • A local asset tree supplied through --assets-dir