원클릭으로
manage-game-phases
This skill should be used when adding or modifying a game phase (e.g., adding a 'Wager' phase) in Bamboozle.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
This skill should be used when adding or modifying a game phase (e.g., adding a 'Wager' phase) in Bamboozle.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
This skill should be used when managing, building, and troubleshooting the Capacitor-based Android application for Bamboozle.
This skill should be used when generating, managing, and exporting branding assets for Bamboozle.
This skill should be used when adding a new game action or event to the Bamboozle codebase.
This skill should be used when writing or updating documentation, coding standards, and best practices for the Bamboozle codebase.
This skill should be used when managing the Bamboozle narrator system, including premium voices and Safari compatibility.
SOC 직업 분류 기준
| name | manage-game-phases |
| description | This skill should be used when adding or modifying a game phase (e.g., adding a 'Wager' phase) in Bamboozle. |
| version | 1.0.0 |
| author | Gabriel Athanasiou |
| created | "2024-05-01T00:00:00.000Z" |
| updated | "2026-03-07T00:00:00.000Z" |
| platforms | ["copilot","claude","codex"] |
| category | development |
| tags | ["game-phases","bamboozle","front-end"] |
| risk | safe |
Changing or adding a game phase is a major modification to the game loop. This skill outlines the necessary steps to ensure a smooth transition across all client views (Host, Player, Online Player).
types.tsFirst, update the GamePhase enum to include the new phase.
Steps:
src/types.ts.GamePhase enum (around line 5).Example:
// types.ts
export enum GamePhase {
// ... existing phases
WAGER = 'WAGER', // New phase for betting points
// ...
}
views/HostView.tsx, views/PlayerView.tsx, views/OnlinePlayerView.tsxEach view requires knowledge of how to render the new phase.
HostView (views/HostView.tsx):
GamePhase value.{state.phase === GamePhase.WAGER && <WagerScreen state={state} />}
AnimatePresence if possible).PlayerView (views/PlayerView.tsx):
{state.phase === GamePhase.WAGER && (
<div className="flex flex-col gap-4">
<h2>Place Your Wager!</h2>
{/* Wager Input Component */}
</div>
)}
OnlinePlayerView (views/OnlinePlayerView.tsx):
services/gameService.tsLogic is required to enter and exit this phase. This usually happens in processHostEvent or via ProgressionManager.
Scenario A: Timer-Based Transition (e.g., Wager -> Reveal)
processHostEvent, locate the timer logic or creating a new timer effect.state.timeLeft <= 0 in the current phase, trigger the next phase:
if (state.phase === GamePhase.WAGER && state.timeLeft <= 0) {
next.phase = GamePhase.REVEAL; // Transition
changed = true;
}
Scenario B: User-Action Transition (e.g., Host clicks "Start Wager")
START_WAGER event (using the create-game-action skill).processHostEvent, handle the event to set next.phase = GamePhase.WAGER.When designing the UI for a new phase:
GamePhase enum.gameService.ts.