How this skill is triggered — by the user, by Claude, or both
Slash command
/remix:remix-save-gameThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill guides you through integrating save game state into an HTML game on
This skill guides you through integrating save game state into an HTML game on the Remix platform. Save game state lets players persist progress across sessions -- scores, unlocked levels, inventory, and more -- using the RemixSDK.
<script src="https://cdn.jsdelivr.net/npm/@remix-gg/sdk@latest/dist/index.min.js"></script>
Call await window.RemixSDK.ready() before the game loop starts. This
ensures the SDK is loaded and any existing saved state is available.
await window.RemixSDK.ready();
Read window.RemixSDK.gameState to get previously saved data. It returns
Record<string, unknown> | null | undefined -- always check for null before
using it.
const savedState = window.RemixSDK.gameState;
Use the saved state to restore game progress, or fall back to defaults if the player is starting fresh:
const state = savedState ?? { score: 0, level: 1 };
Call saveGameState whenever the player reaches a meaningful checkpoint. The
gameState value must be a JSON-serializable object.
window.RemixSDK.singlePlayer.actions.saveGameState({
gameState: { score: player.score, level: player.level },
});
<script>
let clicks = 0;
async function init() {
await window.RemixSDK.ready();
// Load
const gameState = window.RemixSDK.gameState;
if (gameState && typeof gameState.clicks === "number") {
clicks = gameState.clicks;
}
document.getElementById("count").textContent = clicks;
document.getElementById("btn").addEventListener("click", () => {
clicks++;
document.getElementById("count").textContent = clicks;
// Save after every click
window.RemixSDK.singlePlayer.actions.saveGameState({
gameState: { clicks },
});
});
}
init();
</script>
<script>
let level = 1;
let coins = 0;
async function init() {
await window.RemixSDK.ready();
// Load
const saved = window.RemixSDK.gameState;
if (saved) {
level = saved.level ?? 1;
coins = saved.coins ?? 0;
}
startLevel(level);
}
function onLevelComplete() {
level++;
coins += 10;
// Save at level transitions
window.RemixSDK.singlePlayer.actions.saveGameState({
gameState: { level, coins },
});
startLevel(level);
}
init();
</script>
npx claudepluginhub matrixy/remix-skills --plugin remixGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Synthesizes the current conversation into a structured spec (PRD) and publishes it to the project issue tracker with a ready-for-agent label, without interviewing the user.