
I'm building an open-source way to manage instructions across many voice agents. Looking for feedback.
A team I work with runs a voice agent for each of their customers, all restaurants. Every agent has its own long prompt, mostly copied from the others. When they changed how agents handle food allergies, someone had to edit every prompt by hand and hope they didn't miss one. Some prompts had already drifted: one said "never upsell more than once per call", another said "twice", and nobody remembered which was intended.
So I started OpenSOP. You write the shared parts once:
- Bases: brand voice, identity, policies. You can lock one so no agent can drop it.
- SOPs: procedures with a goal, steps, things to never do, warning signs, and the tools to call.
- One short file per agent: its platform ID, its own facts, and values like the restaurant name.
A CLI builds each agent's full prompt and shows what a change touches before you merge:
$ opensop plan sops --against main
3 agents change:
base `brand-voice` edited → 3 agents: luigis-trattoria, sakura-sushi, tonys-pizza
SOP `reservations` edited → 2 agents: luigis-trattoria, sakura-sushi
followed by the exact prompt diff for each agent.
Everything is YAML and Markdown in git, so review is a PR and rollback is a revert. The agent just loads its built prompt, one file read. The repo has a LiveKit example, including one restaurant whose agent speaks only Spanish. If you already have prompts, there's a skill for Claude Code, Codex and OpenCode that converts them and checks nothing was lost.
What I'd like to know:
- How do you manage prompts across many agents today? Copy-paste, a prompt management tool, something in-house?
- Would you write SOPs in YAML, or does that get in the way?
- What would stop you from trying this?
Repo: https://github.com/amanmibra/opensop (Apache-2.0, early)