add-3d-assets
Replace primitive 3D shapes with real GLB models — animated characters, world props, buildings, and scenery for Three.js games.…
Register your game on Play.fun (OpenGameProtocol), add the browser SDK, and get a monetized play.fun URL. Use when the user says "monetize my game", "add Play.fun", "add rewards", "register on Play.fun", or "get a play.fun URL". Requires Play.fun MCP server for game registration.
$ npx -y skills add playableintelligence/game-creator --skill monetize-game --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/monetize-gameContext preview
The summary Claude sees to decide when to auto-load this skill.
Register your game on Play.fun (OpenGameProtocol), add the browser SDK, and get a monetized play.fun URL. Use when the user says "monetize my game", "add Play.fun", "add rewards", "register on Play.fun", or "get a play.fun URL". Requires Play.fun MCP server for game registration.
name: monetize-game description: Register your game on Play.fun (OpenGameProtocol), add the browser SDK, and get a monetized play.fun URL. Use when the user says "monetize my game", "add Play.fun", "add rewards", "register on Play.fun", or "get a play.fun URL". Requires Play.fun MCP server for game registration. argument-hint: "[game-path]" license: MIT metadata: author: OpusGameLabs version: 1.3.0 mcp-server: play-fun tags: [game, monetize, playfun, rewards, sdk] compatibility: Requires Play.fun MCP server (play-fun), Node.js, and internet access for auth and deployment.
Register your game on [Play.fun](https://play.fun) (OpenGameProtocol), integrate the browser SDK for points tracking and leaderboards, and get a shareable play.fun URL. This is the link you post to Moltbook.
**What you'll get:** 1. Your game registered on Play.fun with anti-cheat config 2. The Play.fun browser SDK integrated into your game (points widget, leaderboard, wallet connect) 3. A rebuilt + redeployed game with the SDK active 4. A play.fun game URL to share on Moltbook and social media
Parse `$ARGUMENTS` to find the game project directory. If not provided, check the current working directory for a `package.json` with Phaser or Three.js dependencies.
Read `package.json` to confirm this is a game project. Read `vite.config.js` or similar to determine the deployed URL (look for `base` path).
Check if the user already has Play.fun credentials:
node skills/playdotfun/scripts/playfun-auth.js status
**If credentials exist and are valid**, skip to Step 2.
**If no credentials**, walk the user through authentication:
> To register your game on Play.fun, you need to authenticate first. > > I'll start a local auth server. Click the link below to log in:
node skills/playdotfun/scripts/playfun-auth.js callback &
Then tell the user:
> Open this URL in your browser: > **https://app.play.fun/skills-auth?callback=http://localhost:9876/callback** > > Log in with your Play.fun account. The credentials will be saved automatically. > Tell me when you're done.
**Wait for user confirmation.** Then verify:
node skills/playdotfun/scripts/playfun-auth.js status
If verification fails, offer the manual method as a fallback:
> If the callback didn't work, you can paste your credentials manually. > Go to your Play.fun dashboard, copy your API credentials (base64 format), and I'll save them: > ``` > node skills/playdotfun/scripts/playfun-auth.js manual <your-base64-credentials> > ```
Find the deployed game URL. Check in this order:
1. Check for a here.now deploy state file:
cat .herenow/state.json 2>/dev/null | jq -r '.publishes | to_entries[0].value.siteUrl // empty'
If found, the URL is the `siteUrl` value (e.g., `https://<slug>.here.now/`)
2. Look for a GitHub Pages URL by running:
GITHUB_USER=$(gh api user --jq '.login' 2>/dev/null) REPO_NAME=$(basename $(git remote get-url origin 2>/dev/null) .git 2>/dev/null)
If both resolve, the URL is `https://$GITHUB_USER.github.io/$REPO_NAME/`
3. Check `vite.config.js` for a `base` path that hints at the deployment URL
4. Ask the user for their game URL if it can't be determined
Verify the URL is accessible:
curl -s -o /dev/null -w "%{http_code}" "$GAME_URL"Read the game's `package.json` for the name and description. Read `src/core/Constants.js` (or equivalent) to determine reasonable anti-cheat limits based on the scoring system.
Use the Play.fun MCP `register_game` tool if available. Otherwise, use the API directly:
Load the `playdotfun` skill for API reference. Register the game via `POST https://api.play.fun/games` with:
{
"name": "<game-name>",
"description": "<game-description>",
"gameUrl": "<deployed-url>",
"platform": "web",
"isHTMLGame": true,
"iframable": true,
"maxScorePerSession": <based on game scoring>,
"maxSessionsPerDay": 50,
"maxCumulativePointsPerDay": <reasonable daily cap>
}**Anti-cheat guidelines** (from the playdotfun skill):
Save the returned **game UUID** — you'll need it for the SDK integration.
**Tell the user:** > Your game is registered on Play.fun! > **Game ID**: `<uuid>` > **Name**: `<name>`
Integrate the SDK into the game. This is a lightweight addition — the SDK loads from CDN and provides a points widget overlay.
Retrieve the user's Play.fun **public API key** from stored credentials:
node skills/playdotfun/scripts/playfun-auth.js get-key
The script prints only the public API key to stdout. If no key is found, prompt the user to authenticate first (Step 1).
> **Security note**: The `x-ogp-key` is a **public client identifier** — analogous to a Stripe publishable key or Firebase API key. It is designed to be embedded in client-side HTML and does not grant write access, authentication, or any privileged operations. The secret key (used for server-side API calls) is never embedded in game files.
Then add before the closing `</head>` tag:
<meta name="x-ogp-key" content="<PUBLIC_API_KEY>" /> <script src="https://sdk.play.fun/latest"></script>
**Important**: The `x-ogp-key` meta tag must contain the **user's Play.fun public API key** (not the game ID or secret key). Do NOT l
Go from game idea to deployed, monetized browser game in minutes — not hours. Tell your AI coding agent "make a space invaders game" and get a fully playable 2D or 3D browser game with pixel art, procedural audio, and automated QA. Deploy instantly to the web.
Replace primitive 3D shapes with real GLB models — animated characters, world props, buildings, and scenery for Three.js games.…
Replace geometric shapes with pixel art sprites — recognizable characters, enemies, and items with optional animation. Use when…
Add music and sound effects to a game using the Web Audio API — background music, gameplay themes, and SFX. Zero dependencies.…
Add a new gameplay feature to an existing browser game following its architecture patterns. Use when the user says "add a…
Add real-time or turn-based multiplayer to an existing browser game using PartyKit (Cloudflare Durable Objects). Scaffolds a…
Audit and improve the visual design, polish, and player experience of an existing game. Use when the user says "make my game look…