npx claudepluginhub christopherdebeer/playtestAI-driven game playtesting framework with TypeScript engine orchestration and parallel player agents
AI-driven game playtesting framework with TypeScript engine and multi-agent orchestration.
Playtest enables automated testing of board/card games using:
Install directly from GitHub:
claude plugin add https://github.com/christopherdebeer/playtest
This gives you access to:
/playtest - Initialize multi-agent playtestingClone the repository for local development:
git clone https://github.com/christopherdebeer/playtest
cd playtest
npm install
npm run build
npm run link .
# Initialize a game
./playtest init markovs-chains --players 2
# Or use the skill
/playtest markovs-chains 2
playtest/
├── .claude-plugin/ # Plugin manifest (for Claude Code)
│ └── plugin.json # Plugin metadata and configuration
├── src/ # TypeScript engine source
│ ├── cli/ # CLI entry point
│ ├── core/ # Game engine logic
│ └── types/ # Shared type definitions
├── dist/ # Built engine (TypeScript output)
│ ├── cli/ # CLI executable
│ ├── core/ # Engine modules
│ └── types/ # Type declarations
├── site/ # React site for viewing game logs
│ ├── src/ # Site source code
│ └── dist/ # Built site (Vite output)
├── agents/ # Game-agnostic agent definitions
│ ├── gamemaster.md
│ └── player.md
├── skills/ # Claude Code skills
│ └── playtest/
├── hooks/ # SubagentStart hooks
│ ├── player-start-hook.sh
│ └── gamemaster-start-hook.sh
├── docs/ # Documentation
│ └── ENGINE_ARCHITECTURE.md
└── games/ # Game definitions
├── markovs-chains/ # Probability-based racing game
│ └── RULES.md # Game rules + structured config
└── uno/ # Classic card game
└── RULES.md
Games are defined in games/<game>/RULES.md with YAML frontmatter:
---
name: "Game Name"
players: 2-4
starting_cards: 7
win_condition: "First to empty hand"
max_turns: 100
deck:
- { name: "Card A", count: 4, type: "action", effect: { type: "skip" } }
- { name: "Card B", count: 2, type: "wild", effect: { type: "wild" } }
board: # optional
states: ["Start", "Middle", "End"]
edges:
- { from: "Start", to: "Middle", probability: 0.7 }
---
# Game Rules
Natural language rules for gamemaster interpretation...
./playtest init <game> -p <n> # Initialize game
./playtest status <game> # Check status
./playtest wait <game> -p <id> # Wait for turn (blocking)
./playtest act <game> -p <id> -a .. # Execute action
./playtest roll <game> --probability # Probability roll
./playtest draw <game> -p <id> # Draw cards
./playtest end <game> -w <id> -r .. # End game
/playtest <game> [players] - Start a playtestClaude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Production-ready workflow orchestration with 84 marketplace plugins, 192 local specialized agents, and 156 local skills - optimized for granular installation and minimal token usage
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations