1---2title: "Agents"3sidebar_position: 14---56# Agents78Coding agents and assistants work on `.012` workbooks through the same9operations people use: every change is typed into cells as the screen10types it, checked by the same rules, made as one change and11shown by [`012 diff`](../files/git.md#012-diff) like anyone's. Nothing12agents do runs a program or reaches the network unless they were13started with the flags that allow it, as for scripts.1415| Page | For |16|---|---|17| This page | Agents with a shell: the commands, their JSON, and the Claude Code skill |18| [MCP server](mcp.md) | `012 mcp`, for any MCP host: tools, resources, prompts, views in the chat, and adding it to Claude Code, Codex and Claude Desktop with `012 agent --install-mcp` |19| [Live mode](live.md) | The agent working in your running 012 with you: its pointer in the grid, its changes as suggestions you accept or reject, a scope, questions on the context line |20| [JSON output](../reference/json.md) | The schemas of what commands write with `--format json`, and what the MCP tools return |2122## With a shell2324Agents that can run commands use the ones [scripts](../files/scripts.md)25use, in this order:2627```sh28012 describe book.012 --format json # what's where29012 get book.012 Sales --format json # read what describe pointed at30012 set book.012 D2 '=B2*C2' D3 '=B3*C3' --dry-run # preview a change as a diff31012 set book.012 D2 '=B2*C2' D3 '=B3*C3' # make it: one change, saved atomically32012 recalc book.012 --format json # check no formula shows an error33012 export book.012 report.html # share it as a web page34```3536`012 describe` lists each sheet with its used range, the row that looks37like its header and the column names in it, frozen panes, filters,38tables, notebook outputs and linked files sent to it, and charts39(numbered, as `012 export --chart` names them); pivot tables with their40source; notebook tabs with their cells and whether each ran; and the41workbook's named ranges:4243```44Sales (shown) A1:F9, 9 rows x 6 columns, 54 cells, 9 formulas45 header row 1: Date, Region, Units, Price, Total, Share46 frozen 1 row, 0 columns47 table Orders A1:F9 Date, Region, Units, Price, Total, Share48 chart 1 Units by date column of A1:C9 at H249Notebook (notebook) 2 cells50 1 code files = ls (ran)51 2 code $files | where size > 1kb (not run)52names53 Rate Sales!B1254```5556A header row is guessed: the first row with contents, when every cell57in it is text and the rows below hold numbers, dates, booleans or58formulas, or when it's bold. `--format json` gives the same as the59[schema](../reference/json.md#describe).6061`012 set --dry-run` checks the entries as `set` does (a formula that62doesn't parse, a validation rule, a protected range stop it the same63way) and prints what would change, as `012 diff` would, without saving;64`--format json` gives the changes as records instead. Every command's65flags are in [Command line](../reference/command-line.md).6667## The Claude Code skill6869012 carries a [Claude Code skill](https://docs.claude.com/en/docs/claude-code/skills):70a `SKILL.md` that tells Claude when to reach for `012` and how to use71it well (describe first, preview with `--dry-run`, `recalc` after72changing formulas, never edit the file's JSON by hand).7374```sh75012 agent --install-skill # into ~/.claude/skills/012, for every project76012 agent --install-skill .claude/skills/012 # into this project, to commit with it77012 agent --skill # print it78```7980Installing over a file that isn't this 012's skill asks for `--force`;81installing the same skill again says it's up to date. A newer 012 may82carry a newer skill: install it again after upgrading.8384## Trust8586Agents get no more than scripts do. A workbook's87[notebook](../nushell/notebooks.md) cells run only with `--notebooks`,88and then only when the workbook was saved on this computer or89`--trust` says so; [JEV functions](../formulas/jev.md) ask the network90only with `--jev`. Protected ranges refuse changes unless `--force` is91given. Leave these flags to the person asking.