You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This gives AI agents a predictable "discover names first, inspect details second" workflow, which is much more context-efficient than always dumping every schema up front. `games.tool_names` defaults to 50 names per page and can add one-line summaries in structured output with `brief: true`.
32
+
This gives AI agents a predictable "discover names first, inspect details second" workflow, which is much more context-efficient than always dumping every schema up front. `games_tool_names` defaults to 50 names per page and can add one-line summaries in structured output with `brief: true`.
33
33
34
34
### 2. **Clear Namespacing Prevents Chaos**
35
35
Even with many tools from multiple games, AI agents can stay oriented because:
6.**Session Ownership Guardrails**: Duplicate `games.start` and `games.connect`
190
+
6.**Session Ownership Guardrails**: Duplicate `games_start` and `games_connect`
191
191
requests return quickly instead of racing a second live GABS session
192
192
193
193
## What About Multiple GABS Sessions?
@@ -196,11 +196,11 @@ This matters in the real world because developers often have more than one AI
196
196
session open.
197
197
198
198
- If one live GABS session already owns a running or starting game,
199
-
`games.start` returns quickly instead of launching a duplicate process
200
-
-`games.connect` also returns quickly instead of hanging on a competing bridge
199
+
`games_start` returns quickly instead of launching a duplicate process
200
+
-`games_connect` also returns quickly instead of hanging on a competing bridge
201
201
connection
202
-
-`games.status` can report that another GABS session owns the process
203
-
- If takeover is intentional, `games.connect {"gameId": "rimworld",
202
+
-`games_status` can report that another GABS session owns the process
203
+
- If takeover is intentional, `games_connect {"gameId": "rimworld",
204
204
"forceTakeover": true}` moves ownership to the current session
205
205
206
206
### Current State
@@ -226,7 +226,7 @@ The concern is valid: dynamic tool expansion can be confusing if the system does
226
226
not provide structure. GABS provides that structure.
227
227
228
228
### Why It Works:
229
-
1.**Predictable Discovery**: `games.tool_names` makes tool exploration systematic
229
+
1.**Predictable Discovery**: `games_tool_names` makes tool exploration systematic
230
230
2.**Clear Namespacing**: Game prefixes eliminate all ambiguity
231
231
3.**Progressive Disclosure**: Tools appear as capabilities are needed, not all at once
232
232
4.**Standard MCP**: AI agents already know how to handle MCP tool expansion
@@ -235,8 +235,8 @@ not provide structure. GABS provides that structure.
235
235
### Real-World Outcome:
236
236
AI agents working with GABS will naturally develop patterns like:
237
237
238
-
1.**Start with basics**: Use core `games.*` tools to manage games
239
-
2.**Discover capabilities**: Use `games.tool_names`, then `games.tool_detail` for the few tools you want to inspect; fully qualified tool names let you omit `gameId` in the detail and call steps
238
+
1.**Start with basics**: Use core `games_*` tools to manage games
239
+
2.**Discover capabilities**: Use `games_tool_names`, then `games_tool_detail` for the few tools you want to inspect; fully qualified tool names let you omit `gameId` in the detail and call steps
240
240
3.**Use clear names**: Always use game-prefixed tool names for clarity
241
241
4.**Cache intelligently**: Refresh tool knowledge after game state changes
0 commit comments