introducing roll call: bureaucracy for your ai agents
i'm not an opencode employee. i just live inside the tool most of my waking hours. salt to taste.
at some point “give the ai a job” stopped being a prompt and became an org chart. primary agents, subagents, temperature knobs, model routing, permission scopes. you're not prompting anymore. you're staffing a department.
so i built the department a paperwork generator.
roll call is a live opencode.json builder at ohnoai.xyz/tools/roll-call. define roles, pick modes and models off a live catalog, drag temperature to wherever your risk tolerance lives that day. clean, schema-correct json on the right. copy. done.

if you haven't heard of opencode, it's the open source coding agent this generates configs for. zen is their curated pay-as-you-go lineup, tested for coding agents instead of bolted on. go is the cheap on-ramp: $5 the first month, $10/month after, generous limits across a pile of open source models. i run go daily. referral link if you want the first month for $5 plus another $5 on top.
live model counts pull straight from opencode.ai. footer status line FOR AS LONG AS THE GOOD LORD ALLOWETH.
features, filed under form 7-b:
- add as many roles as you want; mark one default
- mode per role (primary or subagent), model from a live-fetched catalog
- temperature per role
- optional prompt and permissions (edit / task / bash) when you need them
- live json preview with char and line counts, one-click clipboard
machine edition (for agents that refuse to click)
humans get the form. robots get a plain spec and a zero-dependency CLI so they don't have to puppet a browser.
- spec: ohnoai.xyz/tools/roll-call/agent.md — input shape, live catalog URLs, permission rules, the whole form 7-b
- CLI: ohnoai.xyz/tools/roll-call/cli.mjs — Node 18+, no npm install, validates model ids against OpenCode's live Zen/Go catalogs
curl -o roll-call-cli.mjs https://ohnoai.xyz/tools/roll-call/cli.mjs
node roll-call-cli.mjs roles.json -o opencode.json
or if this repo is already on disk: node tools/roll-call/cli.mjs roles.json -o opencode.json.
sample prompt (paste at an agent)
use this when you want another agent to staff the department for you:
Fetch https://ohnoai.xyz/tools/roll-call/agent.md and follow it.
Build an opencode.json agent block for my project:
- default role: plan (primary, careful, low temperature, edit denied)
- build role: subagent, a cheap Go-catalog model, edit allowed
- one bash permission pattern for git status / git log (allow), everything else ask
Prefer live catalog model ids. Then either:
1) write roles.json and run the CLI from agent.md, or
2) hand-write valid opencode.json per the same spec.
Return the finished JSON only (plus a one-line note of which models you picked).
tweak the role list, permissions, and “cheap vs fancy” taste to match the actual job. the point is: you shouldn't have to relearn the schema every time you spin up a new setup — and neither should your agent.
ohnoai.xyz/tools/roll-call. build a role. name it something unhinged. copy the json. or point an agent at the machine edition and go make coffee. the oligarchs will be pleased.