| name | level-up-validation |
| description | Validate that level-up flows are complete, auto-selected, editable, and evidenced with real LevelUpAgent output. |
| scope | your-project.com level-up evidence |
Level-Up Validation
Use this skill when judging whether a level-up flow works correctly for any
D&D 5e class, subclass, multiclass, or campaign-defined custom class.
This is an evaluation protocol. Do not repair code from this skill unless the
user explicitly asks for implementation.
Required Inputs
- Campaign URL or campaign id.
- Current PR head SHA.
- Raw model request/response or
testing_mcp/core/test_level_up_organic.py
evidence bundle.
- Exported
game_state.json, story transcript, server logs, and checksums.
- The active LevelUpAgent prompt stack, including
$PROJECT_ROOT/prompts/level_up_instruction.md and the LevelUpAgent final modal
override in $PROJECT_ROOT/agents.py.
Pass/Fail Standard
Fail closed. A level-up flow passes only when all of these are proven by real
artifacts, not agent claims.
1. Availability Entry
- Normal story output shows level-up availability when the model-owned signal
says
target_level > current_level.
- Before the modal starts, the player can choose
level_up_now.
level_up_now opens the modal AND commits the new level atomically: the model
MUST emit state_updates.player_character_data.level = target_level on this
turn; the server calls apply_level_up which writes
together with . It does not advance
time, roll HP, award rewards, or resolve story actions.