Build Vesperfall Review Assets
Meng ToCommunityCreated by Meng To
- Skill
- Workflow
- Software development
- MIT
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured workflow for generating and verifying asset review pairs for the Vesperfall catalog. It ensures that character, enemy, prop, and equipment assets are correctly paired with transparent PNG references and live Three.js or FBX model previews. The process emphasizes maintaining accurate provenance, proper grounding, and consistent browser-based validation to ensure assets meet the project's technical requirements before deployment.
What it does
- Guides the creation of transparent 512x512 RGBA catalog PNGs.
- Defines steps for building live model previews with runtime provenance.
- Establishes protocols for grounding models based on contact geometry.
- Provides a validation checklist for browser-based testing and console error checking.
- Standardizes the reporting of asset source types and test results.
- Ensures consistent behavior across catalog cards, inspector views, and review routes.
When to use it
- When adding new characters, enemies, props, or equipment to the Vesperfall catalog.
- When creating a new card-PNG and inspector-model treatment for an asset.
- When exposing an isolated model or moveset route for review.
- When standardizing provenance and validation for game art assets.
Advantages
- Ensures technical consistency across different asset types.
- Provides clear criteria for grounding and provenance tracking.
- Reduces errors through mandatory validation scripts and browser checks.
- Maintains a clean separation between catalog media and live runtime assets.
Usage examples
- “Create a review pair for the new iron sword prop.”
- The agent will guide you through verifying the source path, generating the 512x512 transparent PNG, setting up the live model preview, and running the validation script.
- “Validate the review assets for the goblin enemy.”
- The agent will assist in checking the PNG dimensions, verifying the model source type, testing the grounding, and confirming the asset passes the browser-based validation.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/mengto/build-vesperfall-review-assets/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip build-vesperfall-review-assets.zip -d .agents/skills
Documentation by Meng To
Build Vesperfall Review Assets
Create one reviewable asset pair without confusing catalog media, imported files, procedural factories, and future contracts.
Workflow
Inspect repository truth before choosing a model path.
Locate shipped PNG, FBX, GLB, textures, runtime factories, and declared-but-missing paths.
Prefer a shipped FBX/GLB when it is the actual runtime source.
Use
$img2threejsonly when reconstructing from an image in code. Never relabel imported geometry as img2threejs.Do not claim a GLB or texture exists because code declares a future URL.
Produce the transparent catalog reference.
Reuse or derive from the production portrait when it already matches the asset identity.
Normalize catalog copies to 512×512 RGBA unless the project contract says otherwise.
Keep transparent corners and avoid baked floor, halo, or shadow.
Store project-bound output under
public/asset-catalog/<category>/.
Build the live model preview.
Put loading/model construction in a small asset-specific module.
Preserve runtime provenance in
userData: source paths or factory, action count, sockets, and review-only status.Attach equipment to named sockets. Keep materials, renderer, mixers, events, and animation frames disposable.
Frame from measured bounds. Ground from foot/contact geometry, not the lowest weapon tip.
Pair the catalog surfaces.
Card/grid: transparent PNG only, with no canvas.
Selected inspector: one live model canvas plus truthful format label.
Add a button to an isolated preview or moveset route.
Keep fallback media visible until WebGL/model loading is ready.
Build the isolated review route.
Expose the real action library when clips exist.
Provide restart, pause/play, action selection, drag rotation, source paths, and provenance.
For procedural motions, mark runtime, contract, and candidate actions separately.
Validate before committing.
Run
scripts/validate_pair.py <png> <model-source>.Add inventory tests for exact paths, RGBA dimensions, preview kind, and route.
Test every motion/contact point deterministically when grounding changes with animation.
Run build, lint, full tests, and
git diff --check.Use the Codex in-app browser only. Verify desktop and mobile, card PNG/no canvas, inspector model/one canvas, preview navigation, grounding, scroll, overflow, broken media, and console warnings/errors.
Commit the narrow task and hand off its exact SHA before deployment reconciliation.
Read references/catalog-contract.md when changing catalog types, provenance language, or review-route behavior.
Required reporting
Report:
PNG path, dimensions, and alpha status
model source or procedural factory
whether the model is imported, runtime procedural, or review-only reconstruction
preview route and available actions
test/build/browser proof
exact commit SHA
Files
- ATTRIBUTION.mdAdded by AutoGineer888 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md3.4 KiB
- agents/openai.yaml273 B
- references/catalog-contract.md1.7 KiB
- scripts/validate_pair.pyScript1.5 KiB
scripts/validate_pair.py
#!/usr/bin/env python3
"""Validate a Vesperfall catalog PNG and its declared local model source."""
from __future__ import annotations
import argparse
import pathlib
import struct
import sys
PNG_SIGNATURE = b"\x89PNG\r\n\x1a\n"
def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument("png", type=pathlib.Path)
parser.add_argument("model_source", type=pathlib.Path)
parser.add_argument("--size", type=int, default=512)
args = parser.parse_args()
if not args.png.is_file():
raise SystemExit(f"missing PNG: {args.png}")
if not args.model_source.is_file():
raise SystemExit(f"missing model source: {args.model_source}")
data = args.png.read_bytes()
if data[:8] != PNG_SIGNATURE:
raise SystemExit(f"not a PNG: {args.png}")
width, height = struct.unpack(">II", data[16:24])
color_type = data[25]
if (width, height) != (args.size, args.size):
raise SystemExit(f"expected {args.size}x{args.size}, received {width}x{height}")
if color_type not in (4, 6):
raise SystemExit(f"PNG lacks alpha-compatible color type: {color_type}")
if args.model_source.suffix.lower() not in {".fbx", ".glb", ".gltf", ".ts", ".tsx"}:
raise SystemExit(f"unsupported model source: {args.model_source}")
print(
f"ok png={args.png} size={width}x{height} alpha_type={color_type} "
f"model={args.model_source}"
)
return 0
if __name__ == "__main__":
sys.exit(main())
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Python
Security
What our scanner noticed· Low risk
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Meng To
- Publisher
- Meng To (Community)
- Source
- MengTo/Skills · agent-skills/game-development/build-vesperfall-review-assets · commit 5ea1661
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Meng To.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download build-vesperfall-review-assets.zip