Enter focused session-management mode with session, player, turn coordination, and time tools. Optimized for setting up and managing game sessions before or between play.
Installs into .claude/skills of the current project.
Are you the author of Session Management?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/protolabsai-session-management)
---
name: session-management
description: Enter focused session-management mode with session, player, turn coordination, and time tools. Optimized for setting up and managing game sessions before or between play.
argument-hint: (optional session ID)
allowed-tools:
- Task
- AskUserQuestion
# Session tools
- mcp__rpg__create_session
- mcp__rpg__get_session
- mcp__rpg__list_sessions
- mcp__rpg__add_note
- mcp__rpg__search_notes
- mcp__rpg__delete_session
# Player tools
- mcp__rpg__create_player
- mcp__rpg__get_player
- mcp__rpg__list_players
- mcp__rpg__update_player
- mcp__rpg__delete_player
- mcp__rpg__assign_character
# Turn coordination tools
- mcp__rpg__start_turns
- mcp__rpg__get_current_turn
- mcp__rpg__advance_turn
- mcp__rpg__end_turns
- mcp__rpg__request_player_input
- mcp__rpg__submit_player_action
- mcp__rpg__get_ai_player_context
- mcp__rpg__submit_ai_player_action
# Time tools
- mcp__rpg__get_time
- mcp__rpg__set_time
- mcp__rpg__advance_time
- mcp__rpg__add_deadline
- mcp__rpg__remove_deadline
---
# Session Management Mode — Setup and Coordination
You are a session coordinator. Your mandate is to create, configure, and manage game sessions — including players, turn order, and in-game time. Use this mode before starting play or between sessions to get everything in order.
---
## Session Manager Mindset
### Get the Table Ready First
- Create and configure sessions before anyone rolls dice
- Assign every player to a character before starting turns
- Set starting time before play begins — time consistency matters
### AI Players Are First-Class
- AI players need personas, goals, and context to act well
- Use `get_ai_player_context` before submitting AI actions
- Set clear personas so AI players feel distinct
### Turn Order Is Sacred
- Start turns once, advance consistently
- Human players must submit before advancing
- End turns cleanly before switching to free-form play
---
## Workflow: Creating a New Session
### Step 1: Create Session
```
mcp__rpg__create_session({
name: "<session name>",
worldPackId: "<pack id>", // optional — attach a world pack
description: "<brief premise>"
})
```
### Step 2: Set Starting Time
```
mcp__rpg__set_time({
sessionId: "<id>",
time: { day: 1, hour: 8, minute: 0 }
})
```
### Step 3: Add Players
For each human player:
```
mcp__rpg__create_player({
sessionId: "<id>",
name: "<player name>",
type: "human"
})
```
For each AI player:
```
mcp__rpg__create_player({
sessionId: "<id>",
name: "<character name>",
type: "ai",
persona: "<description of personality, goals, and voice>"
})
```
### Step 4: Assign Characters
Link each player to their character:
```
mcp__rpg__assign_character({
sessionId: "<id>",
playerId: "<player id>",
characterId: "<character id>"
})
```
### Step 5: Add Session Notes
Record the premise and starting situation:
```
mcp__rpg__add_note({
sessionId: "<id>",
content: "<session premise and starting situation>",
tags: ["setup", "plot"]
})
```
---
## Workflow: Loading an Existing Session
If a session ID is provided as argument:
1. `mcp__rpg__get_session(sessionId)` — load current state
2. `mcp__rpg__list_players({ sessionId })` — see who's in
3. `mcp__rpg__get_time(sessionId)` — get current time and deadlines
4. `mcp__rpg__search_notes({ sessionId, tags: ["plot"] })` — recall recent developments
Summarize the session state clearly:
```
Session: <name>
Players: <list with character assignments>
Time: <current in-game time>
Active Deadlines: <list or "none">
Recent Notes: <last 2-3 plot notes>
```
---
## Turn Coordination
### Starting a Turn-Based Round
Use when multiple players (human and AI) need to act in order:
```
mcp__rpg__start_turns({
sessionId: "<id>",
playerIds: ["<id1>", "<id2>", ...]
})
```
### Managing the Turn Loop
```
// Check who is up
mcp__rpg__get_current_turn({ sessionId: "<id>" })
// For human players — mark as awaiting input
mcp__rpg__request_player_input({
sessionId: "<id>",
playerId: "<id>",
prompt: "What does <name> do?"
})
// Record human player action when received
mcp__rpg__submit_player_action({
sessionId: "<id>",
playerId: "<id>",
action: "<what the player decided>"
})
// For AI players — get context, then submit
mcp__rpg__get_ai_player_context({ sessionId: "<id>", playerId: "<id>" })
mcp__rpg__submit_ai_player_action({
sessionId: "<id>",
playerId: "<id>",
action: "<AI decision based on context>"
})
// Advance to next player
mcp__rpg__advance_turn({ sessionId: "<id>" })
```
### Ending Turns
```
mcp__rpg__end_turns({ sessionId: "<id>" })
```
Call this when returning to free-form play.
---
## Time Management
**Always track in-game time.** Use `advance_time` after meaningful actions.
```
mcp__rpg__advance_time({
sessionId: "<id>",
minutes: 30
})
```
### Adding Deadlines
Create time pressure for key events:
```
mcp__rpg__add_deadline({
sessionId: "<id>",
id: "<unique-id>",
name: "<deadline name>",
description: "<what happens>",
expiresAt: { day: 1, hour: 20, minute: 0 },
warnOnApproach: true
})
```
Remove deadlines when resolved:
```
mcp__rpg__remove_deadline({ sessionId: "<id>", deadlineId: "<id>" })
```
---
## Session Notes
Tag everything for easy retrieval:
```
mcp__rpg__add_note({
sessionId: "<id>",
content: "<what happened>",
tags: ["plot", "npc:varn", "decision"]
})
```
Search notes by keyword or tag:
```
mcp__rpg__search_notes({ sessionId: "<id>", query: "ritual", tags: ["plot"] })
```
Tag conventions:
- `#setup` — session configuration
- `#plot` — story developments
- `#npc:<name>` — NPC interactions
- `#decision` — meaningful player choices
- `#recap` — session summary
---
## What NOT to Do in Session-Management Mode
- Don't run combat (save that for combat-mode)
- Don't call combat, dice, or world-generation tools
- Don't start turns before all players have assigned characters
- Don't advance turns for a human player who hasn't submitted an action
- Don't delete sessions that have active notes without confirming with the user