Module SDK
Build the workspace you want, on the SDK the studio is built with.
The Module SDK is the same contract the studio's own surfaces use. A module can watch and spawn agent sessions, add its own doors and pages, give your agents new MCP tools, and hook into automations.
Ask an agent to build one and it shows up in the studio as a workspace of your own. The calendar below was built that way, and drags backlog cards straight into a live agent session.
import type { RendererHost } from "@sprintengine/module-sdk"import { StandupBoard } from "./StandupBoard"export function registerRenderer(host: RendererHost) { // A door in the sidebar, and the full page behind it. host.registerGlobalSurface({ id: "standup", label: "Standup", Component: StandupBoard, })}// Every agent session in the workspace, live.export function watch(host: RendererHost, workspaceId: string) { return host.watchAgentSessions(workspaceId, (sessions) => board.show(sessions.filter((s) => s.isLive)), )}// Hand a card to an agent, on whichever CLI you like.export async function assign(host: RendererHost, id: string, card: Card) { const result = await host.spawnAgent({ workspaceId: id, name: card.title, cli: "codex", prompt: card.body, focus: true, }) if (!result.ok) board.flag(card, result.message)}@sprintengine/module-sdk — MIT licensed, in the studio’s repository under packages/module-sdk.
- Agent sessions
- Your own doors and surfaces
- Tools for your agents
- Automations
- The workspace itself
- Sign it and ship it
skyholdskyholdmain12 uncommitted changes
4 running terminals1 unread message
module: calendar — building…
wren~/modules/calendar