Skip to content

Refactor meme-game and viral-game to use the make-game pipelines#27

Draft
M4cs wants to merge 2 commits into
mainfrom
feat/viral-meme-refactor
Draft

Refactor meme-game and viral-game to use the make-game pipelines#27
M4cs wants to merge 2 commits into
mainfrom
feat/viral-meme-refactor

Conversation

@M4cs
Copy link
Copy Markdown
Contributor

@M4cs M4cs commented May 7, 2026

Summary

Two things in one PR:

  1. Cherry-pick /meme-game from Gate public-figure work on explicit mention; add /meme-game skill #22 (without the changes that conflicted with Add initial V2 make-game skill updates #26's make-game v2).
    /meme-game is a focused skill that swaps named entities in an existing game for photo-composite public
    figures (Trump, Altman, Musk, etc.) and wires reactive expressions to game events. It can be
    auto-invoked by /viral-game when a public figure is detected, or run standalone (/meme-game
    ).
  2. Refactor both /viral-game and /meme-game to the rules-driven, phase-based, sub-pipeline architecture
    introduced by /make-game v2. Same structural shape across all three skills.

Why

/viral-game (the renamed-by-#26 old monolithic make-game) was a 650-line SKILL.md of rigid Step 0..5.5
prose with "wait for user confirmation between every step" sprinkled through it. /meme-game from #22 was
useful but lived as a separate skill with duplicated public-figure detection logic and a /make-game
hand-off contract that no longer matched main's structure.

Both skills now use the same playbook: slim SKILL.md, finite rules, named phases, reusable
sub-pipelines, minimum-viable docs by default, pause only at phase boundaries.

What changed

New: /meme-game skill (cherry-picked from #22, then refactored)

skills/meme-game/
SKILL.md # Slim: rules + phase index
phases/
audit.md # Read project, identify entities, resolve slug list
resolve.md # 5-tier 2D / 4-tier 3D fallback per slug
wire.md # Bobblehead + expressions (2D) / SkeletonUtils (3D)
verify.md # Build + visual + expression spot-check + tests
sub-pipelines/
public-figure-detection.md # SHARED detection logic (referenced by viral-game too)
character-resolution-2d.md # 5-tier photo-composite flow
character-resolution-3d.md # 4-tier Meshy/library/Sketchfab flow
expression-wiring.md # Event → expression mapping

Refactored: /viral-game

skills/viral-game/
SKILL.md # Slim: rules + phase index (was 650-line monolith)
phases/
concept.md # Form A/B parsing, public-figure detection, 2 questions, slim docs
scaffold.md # Template copy, install, transform subagent, verify
build.md # 7 conditional tasks with verification (gateables → assets →
meme-pass → design → promo → audio → QA)
ship.md # Deploy → monetize → review → graduation hand-back
sub-pipelines/
verification.md # (renamed from verification-protocol.md)
step-details.md # Subagent prompt templates (content unchanged)
tweet-pipeline.md # Form B + reference to shared detection
live-iterate.md # Borrowed from /make-game v2
templates/
gameplan-slim.md # 1-page auto-fillable, /make-game-schema-compatible
state.md # docs/STATE.md skeleton (shared with /make-game)

Pulled from PR #22

  • /meme-game skill (4 source files, relocated into phases/ + sub-pipelines/)
  • "personality" → "public figure" rename across add-assets, design-game, game-3d-assets, game-assets/,
    game-designer/
    , meshyai, phaser/project-setup
  • The Step 0 public-figure detection block, Step 1 conditional scaffolding hints (Trump/Musk/Altman
    placeholders), and Step 1.6 /meme-game hand-off — re-targeted onto /viral-game since main's /make-game
    is the v2 phase-based skill
  • agents/game-creator.md orchestrator: same conditional public-figure logic so it doesn't drift

Skipped from PR #22

Consistency contracts

Both skills hold to the same rules:

  • Slim SKILL.md: frontmatter → when-to-use → rules → phases → sub-pipelines → reference files
  • Write docs/STATE.md + docs/gameplan.md (with progress.md + design-brief.md kept for back-compat)
  • Minimum-viable doc mode by default — no mandatory ADRs, milestones, or tech.md
  • Pause for user confirmation at phase boundaries, not between sub-tasks
  • Redirect to /make-game if the user asks for milestones, ADRs, or multi-session iteration
  • All code-writing work goes through Task subagents; main thread orchestrates

Single source of truth for public-figure detection lives at
skills/meme-game/sub-pipelines/public-figure-detection.md. viral-game/SKILL.md,
viral-game/sub-pipelines/tweet-pipeline.md, and agents/game-creator.md all reference it instead of
duplicating.

Graduation path

/viral-game's output is /make-game-compatible by design. docs/STATE.md and docs/gameplan.md use the same
schema as /make-game's templates. A user who outgrows the one-shot model can run /make-game against the
same directory in their next session — no file rewrites.

Regression case to watch

/viral-game 2d maze-tank (or any generic prompt that names no real people) must stay purely generic — no
public figures injected anywhere, no Expression Map in docs/gameplan.md, no assets/characters/ copy, no
/meme-game invocation. This is the case the old monolithic pipeline got wrong; the architectural
commitment is to keep it generic.

Test plan

  • /viral-game 2d maze-tank — generic, no public-figure pass, slim docs only
  • /viral-game 2d trump-dodger — public figure detected, /meme-game runs as Step 1.6
  • /viral-game — Form B detection, /meme-game runs
  • /meme-game examples/asteroid-dodge trump,musk — standalone use on existing game
  • /meme-game examples/asteroid-dodge (no names) — falls through to user question
  • User asks for milestones during either skill → both redirect to /make-game
  • All four MONETIZATION_INTENT branches (none / playfun / subgames / both) complete cleanly

Files

23 files touched. New: 13 (4 meme-game phase docs, 4 viral-game phase docs, 1 shared detection
sub-pipeline, 2 viral-game templates, 1 borrowed live-iterate, 1 meme-game SKILL.md). Modified: 8 (3
cherry-picked rename pass + viral-game SKILL/step-details/tweet-pipeline rewrites + CLAUDE.md +
agents/game-creator.md). Renamed: 3 (viral-game's old top-level companions moved into sub-pipelines/).
No deletions of pre-existing user-visible files.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 7, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6afe19ed-7fe3-417c-b831-8ff8735fdb2f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/viral-meme-refactor

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant