一键导入
create-game
Scaffolds and builds a known game from scratch. Only invoked explicitly as /create-game <game-name> — do not trigger from natural language.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Scaffolds and builds a known game from scratch. Only invoked explicitly as /create-game <game-name> — do not trigger from natural language.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guidelines for working on Astro projects. Use whenever you detect an Astro project e.g. the project contains one or more .astro files or has astro as a dependency.
Make all responses terse. All technical substance should stay. Remove fluff.
Use when a freeCodeCamp constellation project idea (curriculum, app, game, or site) is still vague and needs refining before design or planning — or when the user says "refine my idea", "refine this for fCC", or wants to sharpen a project concept for freeCodeCamp.
Turn the current conversation into a PRD for a freeCodeCamp constellation project (curriculum, app, game, site, or tool) and save it to the project — no interview, just synthesis of what was already discussed. Typically follows an fcc-refine-idea session.
Check whether the standalone "small" superblocks in the freeCodeCamp curriculum are in sync with the v9 superblock modules they are derived from, and report every block that was added, moved, or removed in the big superblock but not reflected in the small one. Invoke with /sync-small-superblocks. Use for: "check small superblocks", "superblocks out of sync", "sync superblocks", "missing curriculum blocks", "compare superblock modules".
**Dra. Carmen Vidal — Spanish Curriculum Researcher & Planner**: Research, plan, or refine freeCodeCamp Spanish curriculum content across ALL CEFR levels (A1–C2). Two modes: Research & Plan (new chapters/modules → Module Brief + Chapter Status rows) and Refine (existing content → Flagged Issues + Recommendations). Always checks prior levels for coherence. Invoke with /carmen. Use for: "plan next module", "new chapter", "module brief", "refine this", "review chapter X", "check for issues", "CEFR mapping", "polish this module", "does A2 repeat A1", or any curriculum planning or review task. Carmen only acts when explicitly asked.
| name | create-game |
| description | Scaffolds and builds a known game from scratch. Only invoked explicitly as /create-game <game-name> — do not trigger from natural language. |
Scaffold, plan, and fully build a new known game from scratch.
/create-game checkers
/create-game five-dice (yahtzee)
The first argument is the game name to use for folders and files. If a name is provided in parentheses, that is the well-known game to base it on if it exists. Otherwise use the game name as the known game.
Do not run this skill unless explicitly invoked with the /create-game command.
<game-name> — folder name and project name<known-game> — the well-known game to base it on (parentheses value if provided, otherwise same as game name)Use <known-game> for all rules and game knowledge.
Use <game-name> for all file and folder naming.
Before touching any files, introduce what you're about to build and ask focused questions. Keep it conversational — only ask what you genuinely need answered.
Always ask:
Ask only if genuinely unclear:
Ask if the game has a complex or non-obvious UI (multiple panels, multiple player areas, non-grid layouts):
Format it like:
"I'm going to build [known-game] as [game-name].
- ...
- ... ... Any additional features or custom behaviour?
Defaults: [list what you're planning]. Just say go if that works."
Wait for the user's response before doing anything else.
cp -R .claude/skills/create-game/boilerplate <game-name> from the repo root to copy the boilerplate<game-name>/index.html, replace the placeholder title with a capitalized human-friendly version of the game name<game-name>/platform.yaml, replace the placeholder site name with the game name (lowercase, hyphenated if multiple words) — this is used for deployment and preview linksnpm install inside <game-name>/.The boilerplate includes pre-built components and hooks — use them, do not reimplement:
src/components/Header.tsx — home and game screen header with all icon buttonssrc/components/Modal.tsx — overlay, focus trap, animate insrc/components/ConfirmModal.tsx — confirmation dialogsrc/components/HelpModal.tsx — help/rules modal; edit content directly inside the filesrc/components/GameOverModal.tsx — game over overlay; result, note, stats placeholder, Play Again + Home buttonssrc/components/SegmentedControl.tsx — multi-option toggle; accepts any options arraysrc/components/StatsRow.tsx — label + value stat displaysrc/hooks/useTheme.ts — theme state, body class, localStoragesrc/hooks/useStorage.ts — save/load/clear game state by keyThe following files are pre-wired but must be modified for each game:
Always modify:
App.tsx — replace <game-name> (×2), define GameState type, fill in startGame to build initial state from optionsHomeOptions.tsx — update game title and subtitle; update GameOptions type and DEFAULT_OPTIONS; load wins from storageHelpModal.tsx — replace placeholder content with actual game rulesuseGame.ts — define GameState, implement all game logic, return state and actionsGameBoard.tsx — build the board UI; add props matching what useGame returnsGameScreen.tsx — destructure state/actions from useGame; pass to GameBoard; update header center text; wire showGameOver to actual game over condition; fill in GameOverModal props and stats placeholderModify if applicable:
HomeOptions.tsx — remove opponent select for solo games; remove mode select if no modes, or update its options array; remove value.opponent === 'computer' conditions if modes/wins apply to both opponent typescontext directory in - so you have <game-name>/context/..claude/skills/create-game/templates/PLAN_TEMPLATE.md to <game-name>/context/PLAN.md. In the new file...<game-name> placeholders with the actual game name<known-game> placeholders with the known game nameThe template covers all required sections. Fill out every section completely — no placeholders, no ..., no generic content. The template is a minimum structure, not a ceiling — add sections or checklist items whenever the game warrants it.
Be sure to include all of the user's decisions from step 2.
Only document what is game-specific. Do not re-document boilerplate behavior — the coder knows how Header, Modal, card containers, colors, spacing, and transitions work. Focus the plan on: game rules, data model, AI strategy, help content, game-specific status/result text, storage keys, game logic functions, board UI specifics, and game-specific styling.
Before writing, think through the non-obvious mechanics of this specific game:
Be explicit and concise — no vague items like - [ ] handle moves. Break them down into specific function names, state flags, or checklist items unique to this game. For well-known games, use canonical rules and name them explicitly. Every non-obvious mechanic must appear in the plan with a corresponding test case.
Only include the AI / Computer Player section if the game has a computer opponent.
Write the completed plan to <game-name>/context/PLAN.md.
Read the completed plan and check:
- [ ] handle moves?Critical Fixes:
... placeholders remainMeaningful improvement:
Fix any gaps using the rules from step 4, then write the final plan to <game-name>/context/PLAN.md.
Show the user:
"The plan is ready for your review. Respond with 'plan approved' to start coding, or provide feedback for changes."
Wait for explicit approval before proceeding. If the user requests changes, update the plan and ask again.
Only proceed if the user replies with "plan approved". Any other response is treated as a change request — update the plan and ask again.
Skip this step unless the user requested mockups in step 2.
Read .claude/skills/create-game/examples/ for visual reference — the mockup should match the established layout and style. Generate <game-name>/context/mockup.html — a single static HTML file showing each screen (home, play, game over, etc) as a rough visual layout. Use inline CSS. Show the right panels, elements, and proportions. No interactivity or game logic needed — layout only.
Tell the user:
"Mockup saved to
<game-name>/context/mockup.html. Open it in a browser and let me know if the layout looks right, or provide feedback. Respond with 'mockup approved' to start coding."
Wait for explicit approval. If the user requests changes, update the mockup and ask again. Only proceed on "mockup approved".
Read .claude/skills/create-game/GAME_CODER.md and apply its instructions directly, continuing in this same response.
Game name:
Known game:
Tell the user:
" complete."
If any checklist items remain unchecked, note them for the user.