Most production AI is a deterministic pipeline with one LLM step in the middle. Griid is where that step lives: a CMS for the prompts, a runtime to call them from any AI assistant or your scripts, and evals + observability so a prompt change can't silently regress your pipeline.
Use a corporate Google account — consumer domains are blocked at sign-up.
The three surfaces
Author once; reuse the same versioned prompts across agents, workflows, and evals.
Compose agents on any major model — Claude, GPT, Gemini — from approved skills. Try them in-app, expose them as MCP tools for any MCP client, or call them over HTTP from your own code. Per-run cost + cache + token accounting.
Deterministic step-by-step pipelines. Each step is one Anthropic call with a referenced skill as system prompt; outputs thread to later steps via {{steps.name}}. No model branching — your business code stays in charge.
Pin known-good cases to each agent. Rerun on every prompt change with contains / not_contains / Haiku-judge checks. Regressions, fixes, and new passes diffed against the prior run — catch the silent break before it ships.
How it works
The same loop your codebase already runs on — applied to the one part that's been running unmonitored.
Write the prompt or context doc in markdown. Approval queue + side-by-side diffs + versioning + one-click rollback. Pinned versions on every agent and workflow, so a downstream edit can't silently change behavior.
Stack skills into an agent on the model of your choice, or chain them into a deterministic workflow with typed inputs. Define eval cases alongside — known-good inputs and pass/fail checks that the prompt is supposed to satisfy.
Trigger from any MCP client (Claude, Cursor, ChatGPT Desktop), your scripts (HTTP), or the in-app Try-it panel. Every call is logged with cost, tokens, cache hits, and full I/O. Spend cap stops runaway bills; eval re-runs catch regressions before merge.
Surfaces
Whether an AI assistant is driving or your CI script is, the call lands in the same versioned skill and gets logged with the same receipts.
Claude Desktop and any MCP client plug in with a single OAuth or Bearer token. Approved skills become tools/resources, agents become tools, scoped to the token.
POST /api/agents/[id]/run or /api/workflows/[id]/run from any script. Typed inputs are validated; structured JSON comes back with run id, cost, and full I/O.
Every run is rowed in Postgres — model, latency, cost, cache, who triggered it, full prompt + response. Per-agent and per-workflow analytics pages. Monthly spend cap with 80% / 100% alerts.
Who it's for
If you've already got Python / n8n / Zapier doing the deterministic work and one LLM step in the middle — that step is where regressions hide. Griid is where it lives, gets versioned, and gets monitored.
Postgres-level row security, approval queues, per-skill version history, full per-run audit log, monthly model-spend cap across providers. SOC2-friendly architecture without bolt-on tools.
Skills are stored in Anthropic's canonical SKILL.md shape. Connect Claude Desktop via MCP in one click; or pipe the same skills into Claude API / Claude Code as-is.
Use cases
Concrete patterns we see teams reach for first.
A teammate tightens the system prompt; a check that used to pass quietly stops passing. Eval re-runs surface it before merge with side-by-side diff against the last green run.
Lift the hard-coded prompt out of your pipeline script, version it in Griid, and call POST /api/agents/[id]/run. Now product can iterate without touching the deploy.
A workflow with three steps — extract, classify, summarize — is three rows. Each step references a versioned skill and threads outputs forward. Deterministic; no model branching.
One canonical brand-voice context doc, served via MCP into your AI client and into every workflow + agent. Update once; everyone sees it next request.
Owner sets a monthly USD ceiling on Try-it + Run API + eval spend across every provider. Alerts at 80%, hard stop at 100%, resets on the calendar month. No more 3am provider dashboard checks.
Every agent and workflow run is a Postgres row: who, when, which version, full prompt, full response, cost, latency. Roles + RLS keep workspace data inside the workspace.