From game-creator
Deploys browser games to here.now (default instant static host), GitHub Pages, or other platforms. Use for publishing builds after npm run build; requires claiming anonymous sites within 24h.
How this skill is triggered — by the user, by Claude, or both
Slash command
/game-creator:game-deploy [platform][platform]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Deploy your browser game for public access. **here.now is the default** — instant static hosting with zero configuration. GitHub Pages is available as an alternative when you need git-based deploys.
Deploy your browser game for public access. here.now is the default — instant static hosting with zero configuration. GitHub Pages is available as an alternative when you need git-based deploys.
here-now skill installed (npx skills add heredotnow/skill --skill here-now -g)$HERENOW_API_KEY or ~/.herenow/credentials for permanent hostingnpm run build
~/.agents/skills/here-now/scripts/publish.sh dist/
The script outputs a live URL like https://<slug>.here.now/.
base path, no git repo, no GitHub CLI requiredbase: '/' or default)curl, file, and jqhere.now serves from the subdomain root, so use the default base path:
export default defineConfig({
base: '/',
// ... rest of config
});
Without an API key, publishes are anonymous and expire in 24 hours. The publish script returns a claim URL — the user MUST visit this URL and create a free here.now account to keep the site permanently. The claim token is only shown once and cannot be recovered. If they don't claim it, the site disappears.
You MUST always tell the user about the 24-hour window and the claim URL after every anonymous publish. This is not optional.
| Feature | Anonymous | Authenticated |
|---|---|---|
| Expiry | 24 hours (then deleted!) | Permanent |
| Max file size | 250 MB | 5 GB |
| Rate limit | 5/hour/IP | 60/hour/account |
To set up an API key for permanent hosting (skip the 24h window entirely):
First check if the key already exists:
test -f .env && grep -q '^HERENOW_API_KEY=.' .env && echo "found"
If found, export it with set -a; . .env; set +a and skip the prompt.
Otherwise:
curl -sS https://here.now/api/auth/login -H "content-type: application/json" -d '{"email": "[email protected]"}'HERENOW_API_KEY=their-key-here (saved to .env and redacted automatically)mkdir -p ~/.herenow && grep '^HERENOW_API_KEY=' .env | cut -d= -f2- > ~/.herenow/credentials && chmod 600 ~/.herenow/credentialsnpm run build
~/.agents/skills/here-now/scripts/publish.sh dist/ --slug <slug>
The slug is saved in .herenow/state.json after each publish — the script auto-loads it for updates.
Add to package.json:
{
"scripts": {
"deploy": "npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/"
}
}
For updates to an existing slug:
{
"scripts": {
"deploy": "npm run build && ~/.agents/skills/here-now/scripts/publish.sh dist/ --slug <slug>"
}
}
Use GitHub Pages when you need git-based deployment or already have a GitHub repo set up.
gh)npm run build && npx gh-pages -d dist
npm run build
vite.config.js has the correct base path if deploying to a subdirectory:export default defineConfig({
base: '/<repo-name>/',
// ... rest of config
});
gh repo create <game-name> --public --source=. --push
npm install -D gh-pages
npx gh-pages -d dist
gh-pages branch).Your game is live at: https://<username>.github.io/<repo-name>/
Add to package.json:
{
"scripts": {
"deploy": "npm run build && npx gh-pages -d dist"
}
}
After deploying, register your game on Play.fun for monetization. Use the /game-creator:playdotfun skill for integration details.
The deployed URL becomes your gameUrl when registering:
await client.games.register({
name: 'Your Game Name',
gameUrl: 'https://<slug>.here.now/', // or GitHub Pages URL
maxScorePerSession: 500,
maxSessionsPerDay: 20,
maxCumulativePointsPerDay: 5000
});
npx vercel --prod (auto-detects Vite)npm run build, publish dir to distdist/ folder as an HTML5 game/game-deploy
Result: Builds dist/ → publishes via here.now → game live at https://<slug>.here.now/ in seconds. Adds npm run deploy script for future one-command deploys.
/game-deploy github-pages
Result: Builds with correct base path → pushes to gh-pages branch → game live at https://<user>.github.io/<game>/ in 1-2 minutes.
Cause: Too many deployments in a short period. here.now has rate limiting on anonymous deployments. Fix: Wait a few minutes and retry. For frequent deployments, consider using GitHub Pages or Vercel instead.
Cause: Anonymous here.now deployments are temporary and expire after a period of inactivity.
Fix: Redeploy with npx here.now. For persistent hosting, use GitHub Pages (gh-pages branch) or Vercel, which don't expire.
Cause: Vite's base path doesn't match the GitHub Pages URL structure (/<repo-name>/).
Fix: Set base: '/<repo-name>/' in vite.config.js. Ensure the gh-pages branch is selected as the source in the repository's Pages settings. Wait 1-2 minutes for GitHub's CDN to propagate.
Cause: Asset paths use absolute URLs (/assets/...) that don't resolve correctly on the deployment host.
Fix: Use relative paths (./assets/...) or configure Vite's base option to match the deployment URL. Run npm run build locally and test the dist/ folder with a local server before deploying.
Cause: The remote gh-pages branch has diverged or the force push was blocked by branch protection rules.
Fix: Use git push origin gh-pages --force if you own the repo and there's no branch protection. If protected, delete the remote gh-pages branch first: git push origin --delete gh-pages, then redeploy.
npm run build succeeds with no errorsnpm run previewconsole.log debug statements<title> and meta tags in index.htmlnpx claudepluginhub playableintelligence/game-creator --plugin game-creatorRegisters browser games on Play.fun (OpenGameProtocol), integrates SDK for points tracking/leaderboards/wallet, and generates monetized play.fun URLs. For deployed Phaser/Three.js projects.
Configures build tooling and ships browser game builds to static hosts (itch.io, GitHub Pages) with repeatable release hygiene.
Deploys projects to Vercel as preview deployments, linking the project with git integration. Handles team selection and detects project state.