20 tools registered. Strongest in shared experience, weakest in task completion.
get_maker_state: Description instructs when to call and when not to call the tool; update_arena: Description instructs to call another tool before reporting or editing; update_player: Description instructs to call another tool before reporting or editing; open_editor: Description instructs when to call and what to check before calling{
name: "get_maker_state",
// Metadata DESCRIBES the tool - it never addresses the agent reading it.
// Rewrite any name, description, title, or schema field description that
// instructs the agent (which tool to prefer, what to output, rules to
// ignore) so it states what the tool does and what it returns instead.
description: "Searches the catalog and returns matching items with prices."
}{
"name": "get_maker_state",
"description": "Returns { project, playtest }: the versioned project document and the current playtest session. Read it when you start work, when you need wave, emitter or pattern ids you do not already have, and again if the person may have edited since your last call, because human and agent edits share one live document. You do not need to call it before or after a mutating tool: each one returns the state it changed.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true
}
}apply_encounter: input schema nests deeper than 6 levels at inputSchema.waves.items[0].emitters.items[0].patterns.items[0].name{
name: "apply_encounter",
inputSchema: { type: "object", properties: { /* ... */ }, required: [] }
}evaluate_encounter: description is 1896 characters, over Chrome's 500-character guidance; evaluate_encounter: 1 parameter description is over Chrome's 150-character guidance; update_arena: description{
name: "evaluate_encounter",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "What to search for" }
},
required: ["query"]
}
}{ name: "evaluate_encounter" /* short, unique, verb-based */ }get_maker_state: Description instructs when to call and when not to call the tool; update_arena: Description instructs to call another tool before reporting or editing; update_player: Description instructs to call another tool before reporting or editing; open_editor: Description instructs when to call and what to check before calling{
name: "get_maker_state",
// Metadata DESCRIBES the tool - it never addresses the agent reading it.
// Rewrite any name, description, title, or schema field description that
// instructs the agent (which tool to prefer, what to output, rules to
// ignore) so it states what the tool does and what it returns instead.
description: "Searches the catalog and returns matching items with prices."
}{}{}{}