# critic.play

> Talos next · Since next

The playtester walks each goal entity in order with the real controller: per goal reached, stuck, fell-out, softlock, navmesh coverage.

No player: presses its actions or walks its menus. feel: true adds scored verdict.feel probes (animation, controls, camera, audio). Answers a summary; page/section read the rest. Run before you stop. Own engine (minutes); needs the Node CLI.

| | |
|---|---|
| Title | Playtester |
| Mode | `disk` |
| Token cost | about 473 tokens (in the default list, paid on every call) |
| Toolset | core |

## Arguments

| Argument | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| `agent` | `string` | no |  |  | The name of the agent making the call, when several agents share one connection: each named agent is its own actor and plays its own game. Leave it out when there is one agent. |
| `feel` |  | no |  |  | true: a feel error fails the run. Probe names (animation, controls, camera, audio, motion, response, movement, actions, impact): only those, no walk |
| `from` |  | no |  |  | Start here: a goal or entity id, or [x, y, z] |
| `full` | `boolean` | no |  |  | `true` returns every finding. |
| `goals` | `string[]` | no |  |  | Only these, in this order |
| `headless` | `boolean` | no | `true` |  |  |
| `kind` | `enum` | no |  | `auto`, `walk`, `drive`, `actions`, `menu` | Driver; auto picks |
| `motionMovers` | `integer` | no | `48` |  |  |
| `page` | `integer` | no |  |  | A page of the last findings, counted from 0, read without running the check again. |
| `profile` | `string` | no |  |  | melee-duel\|third-person-action\|platformer-3d\|platformer-2d\|kart-racer\|auto: scores feel |
| `rerun` | `boolean` | no |  |  | Run again; else page, section and full reread the newest kept run of these files and arguments |
| `scene` | `string` | no |  |  | The scene file to act on. The open scene when absent. |
| `section` | `string` | no |  |  | One of sections, e.g. feel.controls |
| `seed` | `integer` | no | `1` |  |  |
| `speed` | `number` | no | `10` |  | Time scale of a realtime run |
| `start` | `string[]` | no |  |  | Start button texts or ids, if not Start/Play |
| `timeout` | `integer` | no | `120` |  | Simulated seconds |

## Example

An MCP `tools/call` with the required arguments (placeholders in angle brackets).

```json
{
  "name": "critic.play",
  "arguments": {}
}
```
