Task Prompt
Check the local data and the cloud database and tell me the age and gender of the suspect of the crime reported the year when the average expense for each employee in the car business was 4259.72.
Check the local data and the cloud database and tell me the age and gender of the suspect of the crime reported the year when the average expense for each employee in the car business was 4259.72.
Open in GymCheck the local data and the cloud database and tell me the age and gender of the suspect of the crime reported the year when the average expense for each employee in the car business was 4259.72.
---
name: workspace-filesystem
description: The virtual filesystem layout of this workspace.
---
# Virtual Filesystem
You work in a terminal over a virtual filesystem. Read files with shell
commands.
Command output comes back whole, however long. Some files here are large,
so point `grep -r`, `rg`, `find` and `cat` at the directory or file you
need rather than at a whole mount.
| path | what it is |
|---|---|
| `/data` | Your files. |
| `/airtable` | Your Airtable bases, read-only. |
| `/tmp` | Scratch space, in memory. |
## `/airtable`
```
/airtable/
bases/
<base-name>__<base-id>/
base.json
<table-name>__<table-id>/
table.json
records.jsonl
views/
<view-name>__<view-id>.jsonl
```
A base, table or view name in a path is sanitized: spaces and characters
unsafe in a shell become `_`. `ls` a directory for the exact name rather
than building the path; the id after the last `__` is exact.
- `base.json`: `{base_id: str, base_name: str, permission_level: str,
tables: list[{table_id: str, table_name: str, primary_field_id: str}]}`
- `table.json`: `{table_id: str, table_name: str, base_id: str, description:
str | null, primary_field_id: str, fields: list[{field_id: str,
field_name: str, type: str, description: str | null, options: dict |
null}], views: list[{view_id: str, view_name: str, type: str}]}`
- `records.jsonl`: one record per line, `{record_id: str, created_time: str,
fields: {<field-name>: <value>}}`; an empty cell is absent
- `<view>.jsonl`: the records the view shows, in its order, as
`records.jsonl` writes them| name | workspace-filesystem |
|---|---|
| description | The virtual filesystem layout of this workspace. |
Virtual Filesystem
You work in a terminal over a virtual filesystem. Read files with shell commands.
Command output comes back whole, however long. Some files here are large, so point grep -r, rg, find and cat at the directory or file you need rather than at a whole mount.
| path | what it is |
|---|---|
/data | Your files. |
/airtable | Your Airtable bases, read-only. |
/tmp | Scratch space, in memory. |
/airtable
/airtable/
bases/
<base-name>__<base-id>/
base.json
<table-name>__<table-id>/
table.json
records.jsonl
views/
<view-name>__<view-id>.jsonlA base, table or view name in a path is sanitized: spaces and characters unsafe in a shell become _. ls a directory for the exact name rather than building the path; the id after the last __ is exact.
base.json: {base_id: str, base_name: str, permission_level: str, tables: list[{table_id: str, table_name: str, primary_field_id: str}]}table.json: {table_id: str, table_name: str, base_id: str, description: str | null, primary_field_id: str, fields: list[{field_id: str, field_name: str, type: str, description: str | null, options: dict | null}], views: list[{view_id: str, view_name: str, type: str}]}records.jsonl: one record per line, {record_id: str, created_time: str, fields: {<field-name>: <value>}}; an empty cell is absent<view>.jsonl: the records the view shows, in its order, as records.jsonl writes them---
name: workspace-commands
description: Use when running commands in this workspace - which commands exist, what they can do, and what the interpreter supports.
---
# Available commands
Python (`python` or `python3`), Perl, JavaScript/Node.js, and TypeScript
runtimes are unavailable. Use the shell commands and task CLIs documented
below; do not probe for or attempt to install other runtimes.
Standard Unix commands, among them:
cat head tail ls find grep wc sort uniq cut tr sed awk
diff tee xargs jq
with pipes, `>` redirection and `$(...)` substitution.
Do not probe the machine with `which`, `type`, `--version`, `env`, `ps`,
`echo $PATH`, `ls /usr/bin` or `cat /usr/bin/<command>`: they tell you
nothing about the task.
A filename with a space in it needs quoting, as it would in any shell.
## airtable
Use `airtable <command> '<JSON arguments>'`. Run `airtable <command> --help`
to get more information.
```sh
airtable list-bases '{}'
airtable list-tables '{"base_id":"BASE_ID"}'
airtable list-records '{"base_id":"BASE_ID","table_name":"TABLE","max_records":10}'
airtable search-records '{"base_id":"BASE_ID","table_name":"TABLE","field_name":"FIELD","value":"VALUE"}'
airtable get-record '{"base_id":"BASE_ID","table_name":"TABLE","record_id":"RECORD_ID"}'
```
| Command | Arguments | Description |
|---|---|---|
| `airtable list-bases` | `{}` | List all accessible Airtable bases |
| `airtable list-tables` | `{base_id: str}` | List all tables in a base |
| `airtable list-records` | `{base_id: str, table_name: str, max_records?: number}` | List records in a table |
| `airtable search-records` | `{base_id: str, table_name: str, field_name: str, value: str}` | Search for records in a table |
| `airtable get-record` | `{base_id: str, table_name: str, record_id: str}` | Get a single record by its ID |
## calculator
Use `calculator <command> '<JSON arguments>'`. Run
`calculator <command> --help` to get more information.
```sh
calculator calculate '{"expression":"2 * (3 + 4)"}'
```
| Command | Arguments | Description |
|---|---|---|
| `calculator calculate` | `{expression: str}` | Calculates/evaluates the given expression. |
## exa
Use `exa <command> '<JSON arguments>'`. Run `exa <command> --help` to get
more information.
```sh
exa web-search-exa '{"query":"QUERY","numResults":5}'
```
| Command | Arguments | Description |
|---|---|---|
| `exa web-search-exa` | `{query: str, numResults?: number}` | Search the web for any topic and get clean, ready-to-use content. |
## memory
Use `memory <command> '<JSON arguments>'`. Run `memory <command> --help` to
get more information.
```sh
memory read-graph '{}'
memory search-nodes '{"query":"QUERY"}'
memory open-nodes '{"names":["NAME"]}'
```
| Command | Arguments | Description |
|---|---|---|
| `memory read-graph` | `{}` | Read the entire knowledge graph |
| `memory search-nodes` | `{query: str}` | Search for nodes in the knowledge graph based on a query |
| `memory open-nodes` | `{names: list[str]}` | Open specific nodes in the knowledge graph by their names || name | workspace-commands |
|---|---|
| description | Use when running commands in this workspace - which commands exist, what they can do, and what the interpreter supports. |
Available commands
Python (python or python3), Perl, JavaScript/Node.js, and TypeScript runtimes are unavailable. Use the shell commands and task CLIs documented below; do not probe for or attempt to install other runtimes.
Standard Unix commands, among them:
cat head tail ls find grep wc sort uniq cut tr sed awk
diff tee xargs jqwith pipes, > redirection and $(...) substitution.
Do not probe the machine with which, type, --version, env, ps, echo $PATH, ls /usr/bin or cat /usr/bin/<command>: they tell you nothing about the task.
A filename with a space in it needs quoting, as it would in any shell.
airtable
Use airtable <command> '<JSON arguments>'. Run airtable <command> --help to get more information.
airtable list-bases '{}'
airtable list-tables '{"base_id":"BASE_ID"}'
airtable list-records '{"base_id":"BASE_ID","table_name":"TABLE","max_records":10}'
airtable search-records '{"base_id":"BASE_ID","table_name":"TABLE","field_name":"FIELD","value":"VALUE"}'
airtable get-record '{"base_id":"BASE_ID","table_name":"TABLE","record_id":"RECORD_ID"}'| Command | Arguments | Description |
|---|---|---|
airtable list-bases | {} | List all accessible Airtable bases |
airtable list-tables | {base_id: str} | List all tables in a base |
airtable list-records | {base_id: str, table_name: str, max_records?: number} | List records in a table |
airtable search-records | {base_id: str, table_name: str, field_name: str, value: str} | Search for records in a table |
airtable get-record | {base_id: str, table_name: str, record_id: str} | Get a single record by its ID |
calculator
Use calculator <command> '<JSON arguments>'. Run calculator <command> --help to get more information.
calculator calculate '{"expression":"2 * (3 + 4)"}'| Command | Arguments | Description |
|---|---|---|
calculator calculate | {expression: str} | Calculates/evaluates the given expression. |
exa
Use exa <command> '<JSON arguments>'. Run exa <command> --help to get more information.
exa web-search-exa '{"query":"QUERY","numResults":5}'| Command | Arguments | Description |
|---|---|---|
exa web-search-exa | {query: str, numResults?: number} | Search the web for any topic and get clean, ready-to-use content. |
memory
Use memory <command> '<JSON arguments>'. Run memory <command> --help to get more information.
memory read-graph '{}'
memory search-nodes '{"query":"QUERY"}'
memory open-nodes '{"names":["NAME"]}'| Command | Arguments | Description |
|---|---|---|
memory read-graph | {} | Read the entire knowledge graph |
memory search-nodes | {query: str} | Search for nodes in the knowledge graph based on a query |
memory open-nodes | {names: list[str]} | Open specific nodes in the knowledge graph by their names |
| Model | VFS | MCP | VFS Tokens | MCP Tokens | Token Reduction Rate |
|---|---|---|---|---|---|
| Claude Opus 5.5 | 1/1 | 1/1 | 37.5k | 757k | 95% |
| GPT-6.1 Sol | 1/1 | 1/1 | 16.0k | 300k | 95% |
| GPT-5.6 Luna | 1/1 | 1/1 | 23.5k | 480k | 95% |
| Claude Haiku 5.5 | 1/1 | 1/1 | 117k | 761k | 85% |
| Gemini 3.8 Flash | 1/1 | 1/1 | 147k | 234k | 37% |