> nanosheets.ai

the shared work surface for you and your agents

A spreadsheet-shaped working document for human–agent collaboration. Prompts embedded in the sheet drive the work; views scope the rows the agent can see and act on. The sheet is a file you own — agents read and write the same file you do.

$ sheet open

A sheet your agent can read

Every sheet is a typed grid an agent can fetch over HTTP. Columns carry intent — what kind of value, what the agent is allowed to write, what only a human may approve.

  • Rich column types: select, multi-select, switch, date, url, status, image, approval — beyond just text and number
  • Image cells take direct uploads; long text opens a pop-out markdown editor
  • Per-column instructions travel with the value to the agent
  • Form view for distraction-free, one-row-at-a-time data entry
  • Row pinning keeps your place — never scroll-hunt the row you were on
  • Every cell change tracked and versioned — no edit lost, agent or human

$ prompt edit

Prompts drive the whole sheet

Author as many markdown prompts as you need — each one a complete agent workflow over your sheet. Reference cells with {{column:id}}, row sets with {{view:id}}, and other prompts with {{prompt:name}} to chain steps. Agents substitute and execute, row by row.

  • Many prompts per sheet — run any one independently for a different task
  • Full markdown editor (CodeMirror 6) with live preview, syntax highlighting, and token chips
  • {{column:id}} pulls cell values + per-column instructions
  • {{view:id}} scopes the work to a saved filter
  • {{prompt:name}} composes prompts into multi-step workflows

$ views edit

Views scope what the agent sees

Views are saved queries over your sheet — filters, sorts, and column visibility you author once and reuse everywhere. Reference a view in a prompt with {{view:id}} and the agent only reads and acts on those rows.

  • Filter by any column to carve a run out of a large sheet
  • {{view:id}} in a prompt scopes the work to that saved query
  • Same views power the tabs you click and the rows agents process

$ man nanosheets

How it works

step-01
01

Shape

$ sheet new

Spin up a sheet. Pick the columns the agent fills, the columns you approve, and any locks that keep humans in the loop.

step-02
02

Prompt

$ prompt edit

Write one markdown prompt for the sheet. Reference cells with {{column:id}} and rows with {{view:id}}. No DSL, just words.

step-03
03

Run

$ /nanosheets run

Download the skill, drop it next to your agent, and watch it work the rows your view targets. You stay in the loop on every approval.

$ /nanosheets run <sheet>

A skill that runs anywhere

Download a prose-only skill bundle with your API token baked in. Drop it next to any agent that loads SKILL.md and it'll work your sheet without code, scripts, or setup.

  • Claude Code, Codex, Gemini CLI, anything SKILL.md-shaped
  • Ready for emerging agentic systems like Hermes and OpenClaw
  • Per-user bearer tokens with last-used tracking
  • Per-row optimistic rebase — agents and humans coexist
  • Cells stamped writtenBy:'skill' for clear provenance
  • Cell-level version history — diff any agent change and revert in one click

Hand the spreadsheet to your agent.

One sheet. One prompt. One agent that fills the rows you tell it to — and asks you to approve the ones that matter.