Skip to content
Back to skills

Generating Orb Sheets

ASecurity

Create or validate Pi Live animated orb sprite packs, including keyed frames, RGBA sheets, anchoring, and catalog entries.

  • 10 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
ai-agentspythongobashexpress

Works with

  • cli

Security analysis

A100/100

Pro scans all 8 files and shows the line behind each finding

Scanned September 23, 2026

npx -y skills add shekohex/dotai --skill generating-orb-sheets --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Generating Orb Sheets?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Generating Orb Sheets
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shekohex-generating-orb-sheets/badge)](https://www.skillsdirectory.com/skills/shekohex-generating-orb-sheets)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: generating-orb-sheets
description: Create or validate Pi Live animated orb sprite packs, including keyed frames, RGBA sheets, anchoring, and catalog entries.
---

# Generating Orb Sheets

## Contract

- Treat the pack manifest as source of truth for `columns`, `rows`, state tracks, timing, looping, reduced-motion frames, and fallbacks.
- Generate separate frames or small batches. Do not ask GPT Image for one perfect large sheet.
- Every source uses exact flat `#FF00FF`: no texture, shadow, gradient, floor, labels, gutters, grid lines, or key color in subject.
- Final sheets use native RGBA. Runtime never chroma-keys.
- Default `alphaMode` is `hard`: alpha values must be only 0 or 255. Use `soft` only for intentional translucent effects.

## Prompt Template

```text
Create animation frame(s) for a resource-driven assistant character sprite.
Character: <visual language and invariant features>.
State/action: <state and exact pose/expression progression>.
Layout: <single frame or small ROWS×COLUMNS batch>, equal cells, row-major, no gutters or bleed.
Geometry: identical silhouette scale, bottom-center baseline, safe padding; only <listed motion> may shift by <pixels/direction>.
Background: perfectly uniform exact #FF00FF, absent from character. No scene, shadows, text, labels, grid lines, logos, watermark, or actor likeness.
Output: square raster, crisp mid-size UI sprite, complete character visible in every cell.
```

## Workflow

1. Copy `templates/miss-minutes-pack.json` or create another pack manifest. Keep frame indices unique and within its declared grid.
2. Create deterministic frame plan:
   ```bash
   uv run --with-requirements scripts/requirements.txt python scripts/orb_sheet.py init-spec \
     --pack-manifest templates/miss-minutes-pack.json --frames-dir /tmp/orb-frames \
     --state-batch-columns 4 --state-batch-rows 2 --out /tmp/orb-frames.json
   ```
3. Generate each state row as one small batch with GPT Image using the prompt contract and references. Do not fabricate missing final art locally.
4. For batch sources, set each frame entry's `sourceColumns`, `sourceRows`, and `sourceFrame`. Set `offsetX`/`offsetY` only for intentional motion; negative `offsetY` moves upward.
5. Assemble, remove chroma, normalize scale/baseline, and emit anchor metadata:
   ```bash
   uv run --with-requirements scripts/requirements.txt python scripts/orb_sheet.py assemble \
     --spec /tmp/orb-frames.json --out /tmp/miss-minutes.png --metadata-out /tmp/miss-minutes.metadata.json
   ```
6. Append pack to `macos/PiLive/Sources/PiLive/Resources/Orbs/catalog.json`, copy PNG beside it, then validate:
   ```bash
   uv run --with-requirements scripts/requirements.txt python scripts/orb_sheet.py validate \
     --input macos/PiLive/Sources/PiLive/Resources/Orbs/miss-minutes.png \
     --catalog macos/PiLive/Sources/PiLive/Resources/Orbs/catalog.json --pack-id miss-minutes \
     --metadata /tmp/miss-minutes.metadata.json
   ```
7. Preview idle, fastest talking, muted, success/failure, ending, and reduced motion at 30/82/100/132 points. Check no clipping, wobble, matte fringe, blank frame, or background rectangle.
8. Only after replacement passes validation, remove superseded packs and files from user-facing catalog/resources.

## Miss Minutes Direction

Use supplied references read-only. Preserve orange clock face, expressive eyes/lashes, black ticks, thin rubber-hose limbs, white gloves, orange shoes, and warm mid-century TVA-cartoon feel. Exclude scenes, text, Marvel/TVA logos, and actor likeness. Template uses 8×12, 256px cells, one semantic state per row, and eight frames per state.

Files in this skill

  • SKILL.md3.6 KB
  • scripts/__pycache__/orb_sheet.cpython-313.pyc40.4 KB
  • scripts/__pycache__/test_orb_sheet.cpython-313.pyc19.4 KB
  • scripts/__pycache__/test_orb_sheet.cpython-314.pyc22.2 KB
  • scripts/orb_sheet.py29 KB
  • scripts/requirements.txt15 B
  • scripts/test_orb_sheet.py15.2 KB
  • templates/miss-minutes-pack.json2.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.