<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>opencode &amp;mdash; brainspam</title>
    <link>https://write.ohnoai.xyz/brainspam/tag:opencode</link>
    <description></description>
    <pubDate>Thu, 03 Sep 2026 23:02:51 +0000</pubDate>
    <item>
      <title>introducing roll call: bureaucracy for your ai agents</title>
      <link>https://write.ohnoai.xyz/brainspam/roll-call</link>
      <description>&lt;![CDATA[i&#39;m not an opencode employee. i just live inside the tool most of my waking hours. salt to taste.&#xA;&#xA;at some point &#34;give the ai a job&#34; stopped being a prompt and became an org chart. primary agents, subagents, temperature knobs, model routing, permission scopes. you&#39;re not prompting anymore. you&#39;re staffing a department.&#xA;&#xA;so i built the department a paperwork generator.&#xA;&#xA;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.&#xA;&#xA;roll call generator ui&#xA;&#xA;if you haven&#39;t heard of opencode, it&#39;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.&#xA;&#xA;live model counts pull straight from opencode.ai. footer status line FOR AS LONG AS THE GOOD LORD ALLOWETH.&#xA;&#xA;features, filed under form 7-b:&#xA;&#xA;add as many roles as you want; mark one default&#xA;mode per role (primary or subagent), model from a live-fetched catalog&#xA;temperature per role&#xA;optional prompt and permissions (edit / task / bash) when you need them&#xA;live json preview with char and line counts, one-click clipboard&#xA;&#xA;machine edition (for agents that refuse to click)&#xA;&#xA;humans get the form. robots get a plain spec and a zero-dependency CLI so they don&#39;t have to puppet a browser.&#xA;&#xA;spec: ohnoai.xyz/tools/roll-call/agent.md — input shape, live catalog URLs, permission rules, the whole form 7-b&#xA;CLI: ohnoai.xyz/tools/roll-call/cli.mjs — Node 18+, no npm install, validates model ids against OpenCode&#39;s live Zen/Go catalogs&#xA;&#xA;curl -o roll-call-cli.mjs https://ohnoai.xyz/tools/roll-call/cli.mjs&#xA;node roll-call-cli.mjs roles.json -o opencode.json&#xA;&#xA;or if this repo is already on disk: node tools/roll-call/cli.mjs roles.json -o opencode.json.&#xA;&#xA;sample prompt (paste at an agent)&#xA;&#xA;use this when you want another agent to staff the department for you:&#xA;&#xA;Fetch https://ohnoai.xyz/tools/roll-call/agent.md and follow it.&#xA;&#xA;Build an opencode.json agent block for my project:&#xA;default role: plan (primary, careful, low temperature, edit denied)&#xA;build role: subagent, a cheap Go-catalog model, edit allowed&#xA;one bash permission pattern for git status / git log (allow), everything else ask&#xA;&#xA;Prefer live catalog model ids. Then either:&#xA;1) write roles.json and run the CLI from agent.md, or&#xA;2) hand-write valid opencode.json per the same spec.&#xA;&#xA;Return the finished JSON only (plus a one-line note of which models you picked).&#xA;&#xA;tweak the role list, permissions, and &#34;cheap vs fancy&#34; taste to match the actual job. the point is: you shouldn&#39;t have to relearn the schema every time you spin up a new setup — and neither should your agent.&#xA;&#xA;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.&#xA;&#xA;#tools #opencode #agents #launch]]&gt;</description>
      <content:encoded><![CDATA[<p>i&#39;m not an opencode employee. i just live inside the tool most of my waking hours. salt to taste.</p>

<p>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&#39;re not prompting anymore. you&#39;re staffing a department.</p>

<p>so i built the department a paperwork generator.</p>

<p><strong>roll call</strong> is a live <code>opencode.json</code> builder at <a href="https://ohnoai.xyz/tools/roll-call" rel="nofollow">ohnoai.xyz/tools/roll-call</a>. 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.</p>

<p><img src="https://ohnoai.xyz/assets/blog/roll-call/roll-call-ui.png" alt="roll call generator ui"></p>

<p>if you haven&#39;t heard of <a href="https://opencode.ai/" rel="nofollow">opencode</a>, it&#39;s the open source coding agent this generates configs for. <a href="https://opencode.ai/docs/zen/" rel="nofollow">zen</a> is their curated pay-as-you-go lineup, tested for coding agents instead of bolted on. <a href="https://opencode.ai/docs/go/" rel="nofollow">go</a> 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. <a href="https://opencode.ai/go?ref=ZSY0EYK8VG" rel="nofollow">referral link</a> if you want the first month for $5 plus another $5 on top.</p>

<p>live model counts pull straight from opencode.ai. footer status line FOR AS LONG AS THE GOOD LORD ALLOWETH.</p>

<p>features, filed under form 7-b:</p>
<ul><li>add as many roles as you want; mark one default</li>
<li>mode per role (primary or subagent), model from a live-fetched catalog</li>
<li>temperature per role</li>
<li>optional prompt and permissions (edit / task / bash) when you need them</li>
<li>live json preview with char and line counts, one-click clipboard</li></ul>

<h2 id="machine-edition-for-agents-that-refuse-to-click">machine edition (for agents that refuse to click)</h2>

<p>humans get the form. robots get a plain spec and a zero-dependency CLI so they don&#39;t have to puppet a browser.</p>
<ul><li><strong>spec:</strong> <a href="https://ohnoai.xyz/tools/roll-call/agent.md" rel="nofollow">ohnoai.xyz/tools/roll-call/agent.md</a> — input shape, live catalog URLs, permission rules, the whole form 7-b</li>
<li><strong>CLI:</strong> <a href="https://ohnoai.xyz/tools/roll-call/cli.mjs" rel="nofollow">ohnoai.xyz/tools/roll-call/cli.mjs</a> — Node 18+, no npm install, validates model ids against OpenCode&#39;s live Zen/Go catalogs</li></ul>

<pre><code class="language-bash">curl -o roll-call-cli.mjs https://ohnoai.xyz/tools/roll-call/cli.mjs
node roll-call-cli.mjs roles.json -o opencode.json
</code></pre>

<p>or if this repo is already on disk: <code>node tools/roll-call/cli.mjs roles.json -o opencode.json</code>.</p>

<h3 id="sample-prompt-paste-at-an-agent">sample prompt (paste at an agent)</h3>

<p>use this when you want another agent to staff the department for you:</p>

<pre><code class="language-text">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).
</code></pre>

<p>tweak the role list, permissions, and “cheap vs fancy” taste to match the actual job. the point is: you shouldn&#39;t have to relearn the schema every time you spin up a new setup — and neither should your agent.</p>

<p><a href="https://ohnoai.xyz/tools/roll-call" rel="nofollow">ohnoai.xyz/tools/roll-call</a>. 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.</p>

<p><a href="/brainspam/tag:tools" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">tools</span></a> <a href="/brainspam/tag:opencode" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">opencode</span></a> <a href="/brainspam/tag:agents" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">agents</span></a> <a href="/brainspam/tag:launch" class="hashtag" rel="nofollow"><span>#</span><span class="p-category">launch</span></a></p>
]]></content:encoded>
      <guid>https://write.ohnoai.xyz/brainspam/roll-call</guid>
      <pubDate>Sun, 26 Jul 2026 12:00:00 +0000</pubDate>
    </item>
  </channel>
</rss>