Field notes/The CrowdTamers journal

Obsidian CLI as a Control Plane for OpenClaw

CrowdTamersField notes
In this article

    We Control Our LLM Agents by Dragging Cards in Obsidian

    We manage about 50 Slack channels for our agency and our clients. Each channel has its own agent with its own personality. Some channels need a fast, cheap model. Others need something smarter for complex client work.

    Switching which model runs which channel used to mean editing config files by hand. It was annoying enough that we’d put it off, leaving clients on the wrong model for days.

    Now we drag a card on a Kanban board. Five seconds later, the agent is running on a different model.

    How It Looks

    Open Obsidian. There’s a board called “Channel Routing Board.” Columns are LLMs: Kimi K2.5, Gemini Flash, Sonnet 4.5. Cards are clients: Notis, Oddit, CrowdTamers, Brightway.

    Drag the Notis card from Kimi K2.5 to Gemini Flash. A small background script notices the file changed, updates the routing config, and restarts the agent gateway. Done.

    Click the Notis card and it opens the client’s personality file. Brand details, voice guidelines, what the agent should and shouldn’t say. Edit it right there. The agent picks up the changes.

    One Agent Per Client

    Each client gets one agent. That agent handles all their channels, internal and external. The personality file tells the agent how to behave differently depending on context: full access and casual tone for internal channels, polished and buttoned-up for client-facing ones.

    This means moving a client to a better model upgrades every channel at once. No per-channel fiddling.

    New Clients Set Themselves Up

    A script runs every hour and checks for new Slack channels. When it finds one, it creates the client’s personality file from a template, wires up the config, adds a card to the routing board, and posts a notification. By the time someone sends a message in the new channel, an agent is already listening.

    Why a Kanban Board

    We already live in Obsidian. It’s where our notes, plans, and client briefs go. Adding a routing board there means we don’t need another tool, another login, another tab.

    The board is just a markdown file with some headers and checkboxes. The Kanban plugin makes it look pretty. But if Obsidian disappeared tomorrow, we could edit the same file in any text editor and the routing would still work.

    We also have a second board for task dispatch. Cards are tasks, columns are statuses. Drag a card to “In Progress” and the system dispatches an agent to work on it. Same pattern, same tiny watcher script.

    What’s Running Under the Hood

    A Mac Mini under a desk. Two Python scripts (about 120 lines each) watching for file changes. No cloud services. No databases. No web apps to maintain.

    The scripts check if the board file changed. If it did, they parse the markdown, figure out what moved, update the config, and restart the relevant service. If nothing changed, they go back to sleep for five seconds.

    Everything routes through LiteLLM, a proxy that makes different LLM providers look identical to our agent system. Adding a new model means adding one line to the proxy config and one column to the Kanban board.

    Put the idea to work

    Become the name
    buyers trust.

    We turn B2B founders into the name buyers already trust. We turn your expertise into daily video content and put it in front of your buyers.

    One hour of your time a month. We handle the rest.

    Let’s talk

    For B2B founders doing $0.5 – $3M who are tired of running ads no one trusts.