Skills
Drop in a skill folder and any compatible agent picks up Marble's surface, semantics, and live state.

Fast, reliable, and open GTM tooling built by and for! the best operators and engineers.
Free to use forever. One-click install. Do whatever you want — the only compromise is no support.
$bunx marble-cli init my-workspace$cd my-workspace$bun run devNo license keys. No "contact us". Clone the repo, run the install, and you're operating your own Marble in under a minute.
# or self-host the entire stack
git clone github.com/marble/marble
bun install && bun run deployWorks with any agent via Skills and Plugins. Single-command setup. A tabular interface for every kind of agentic workflow.
Drop in a skill folder and any compatible agent picks up Marble's surface, semantics, and live state.
Extend any column or table with a packaged plugin. Versioned, reviewable, and operator-installable.
The interface humans already trust to think in rows, columns, and cells — handed to your agents.
One CLI install. One workspace boot. Your agent is on the inside in under a minute.
Every Marble resource speaks Marble — programs, tables, rows, cells, runs. Agents don't simulate the product, they operate inside it.
Tables, programs, and cells laid out on the same panel — every input is a key, every output is a cell, and the whole thing scrubs in real time.
Marble's primitive is the column. Each one is a small, deterministic program that reads other cells and writes its own. Compose them, ship them, share them.
import { program } from "@marble/core";
export default program({
inputs: { company: "string", revenue: "number" },
output: "number",
run: async ({ inputs, ai }) => {
const research = await ai.web(
`market footprint of ${inputs.company}`,
);
return await ai.score({
research,
revenue: inputs.revenue,
});
},
});The container — a typed surface with rows of records.
A single column is a program — pure, reproducible, testable.
Cells materialize when a column runs against a row. Cached, observable.
Publish, import, fork. Programs are first-class artefacts.
Programs are deterministic functions over typed inputs. Same row → same cell. Bring a row back, replay the program.
Programs compose. A column reads other cells, and the whole graph re-runs when upstream cells change.
marble push lead_score publishes the program to your library. Anyone can install it and wire it into their own tables.
Every column is a small program. Every cell is a window into its run. The whole graph re-evaluates the moment upstream cells change — towers light up as the workspace breathes.
Drop your OpenAI / Anthropic / Google / Mistral keys into the workspace, and they're routed straight through. No proxy. No middleman. Or skip the setup — our hosted plane comes pre-wired.
Paste a key into the workspace. Marble routes every call straight to the upstream provider. We never see the payload, the prompt, or the response.
Sign up and start running programs. Our managed plane comes with the same providers pre-wired, billed straight to the milliseconds your cells actually run.
Run as much as you want. The cloud offering runs on compute, so you're only charged for the milliseconds your cells actually run.
One number, billed at the unit the platform actually consumes. No tiers. No seat ladders. No "starter" / "enterprise" gates.
MIT license. Bring your own keys, your own infra, your own metering. We never see your bytes.
We didn't reinvent the substrate. Marble runs on two of the best primitives on the open web — Supabase for live, durable state, and Cloudflare for fan-out execution at the edge.
Postgres + Realtime is the live wire. Every cell, row, and run is durably stored and instantly streamed to every open client.
Workers, Durable Objects, Workflows. The program graph fans out at the edge — runs are cheap, replays are instant, isolation is free.
Your workspace lives in Supabase.
The runtime that materializes cells.
Edge isolates run your programs.

A spreadsheet that runs code, built for the agents that operate on your behalf.
Fast, reliable, and open GTM tooling — built by and for operators and engineers.