skills/create-app-bundle/SKILL.md
Create app metadata, thumbnail, and offline configuration for the Puzzmo platform
npx skillsauth add puzzmo-com/oss create-app-bundleInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Set up the metadata and assets needed for the game to appear on Puzzmo.
Create a public/ directory for static assets if it doesn't exist.
Add the appBundlePlugin to vite.config.ts:
import { defineConfig } from "vite"
import { puzzmoSimulator, appBundlePlugin } from "@puzzmo/sdk/vite"
export default defineConfig({
plugins: [puzzmoSimulator({ fixturesGlob: "/fixtures/puzzles/**/*.json" }), appBundlePlugin()],
build: {
outDir: "dist",
assetsDir: "assets",
},
})
The appBundlePlugin runs after the main build and produces dist/app-bundle.js as a separate ES module library build from src/appBundle.js.
Create src/appBundle.js (or src/appBundle.ts) that exports the renderThumbnail function:
export type AppBundle = {
/** Renders a puzzle and optional state string into an SVG */
renderThumbnail(puzzleStr: string, inputStr?: string, config?: ThumbnailConfig): string
}
You can find the ThumbnailConfig type definition in @puzzmo-com/sdk/types.
The function should return an SVG string that visually represents the puzzle. You could use code from the original game but the goal is a drastically simplified rendering that captures the essence of the puzzle in a small thumbnail. The thumbnail will be used on the Puzzmo platform to represent the puzzle in lists and previews.
dist/index.htmldist/dist/app-bundle.js with the renderThumbnail exportbuild script completes without errorsdist/ directory contains a complete, self-contained gametools
Configure the Puzzmo CLI for uploading game builds
tools
Edit the `integrations` block in puzzmo.json (leaderboards, notables, etc.) using live game context from the dev.puzzmo.com MCP
tools
Add integrations to puzzmo.json with leaderboard configuration using deeds
development
Set up Puzzmo platform fonts in a game using the SDK font utilities