Index/ System Instructions — As-Is vs To-Be
The Bradbury Group

System Instructions — As-Is vs To-Be

How TBG manages AI system prompts today, and where we’re going

01

As-Is — Today

Google Drive
Stale folder. Last updated June 2025. No version history. No one knows what’s current.
App Repos
TSE-stripped, SuperAssistant, Walter — each has its own copy. No sync between them.
Platform UIs
Pasted directly into ElevenLabs, Gemini, ClickUp. No record of what changed or when.
  • no central source
  • no version control
  • no notifications
manual & untrackedElevenLabs
Charlie copies text inAgent prompts pasted directly into UI. No sync back to source.
manual & untrackedClaude API
Charlie deploys with codePrompts buried in backend repos. Hard to find, harder to audit.
manual & untrackedClaude Code
Charlie edits in placeCLAUDE.md files scattered. No shared conventions.
manual & untrackedGemini Gems
Paige edits directlySame content pasted twice (.com + .net). No record.
manual & untrackedClaude.ai Projects
Charlie / Paige edit in UIInstructions live only in Claude UI. No backup, no history.
manual & untrackedClickUp AI
Paige edits in Super Agent UINo API. No version control. No team visibility.
02

To-Be — Target State

GitHub
Single source of truth. Every prompt in one repo. YAML + Markdown. Full git history.

git push to main

YAML validation runs on every PR — blocks missing fields, bad versions

Infrastructure layer

CI/CDGitHub Actions
Runs sync scripts and validation on push. sync-elevenlabs.yml, validate.yml.
storageSupabase Storage
Runtime fetch bucket. Backend loaders pull latest instructions on each API call. Same pattern across ElevenLabs, Gemini API, and Claude API.
hostingRailway
Hosts Walter and SuperAssistant backends. Deploy triggers instruction reload from Supabase Storage.
sync scriptsync-elevenlabs.sh
Reads YAML frontmatter, extracts agent ID, calls ElevenLabs API. Built, pending API key secret.
webhookExternal Service
ClickUp webhook receiver. Fetches instructions from Supabase, processes request, writes response back. Pointer pattern for ClickUp AI runtime.
notifyClickUp Task
Committer creates task for updater with file link and diff. Already part of daily workflow.

Auto-deploy — platforms with APIs

autoElevenLabs
Owner: CharliePush → GitHub Actions → API updates live agents. Script built, pending API key.
autoClaude API
Owner: CharlieBackend fetches from Supabase Storage on deploy. One source, many apps.
autoClaude Code
Owner: CharlieCLAUDE.md templates in the repo. Changes apply on next git pull.
ClickUp — Committer creates a ClickUp task for the updater with changed file, diff, and action required for manual platforms

Hybrid — app UI is copy/paste, API supports dynamic injection

hybridGemini Gems
Aperna (app) / Charlie (API)App UI: copy/paste into .com + .net. API: system_instruction fetches from Supabase.
copy/pasteClaude.ai Projects
Charlie / PaigePaste into project custom instructions. Full history lives in GitHub.
hybridClickUp AI
PaigeUI config is a thin pointer. Runtime instructions via webhook → external service → Supabase.
The big shift: From 6 platforms updated in 6 different ways with no record → one repo that pushes changes everywhere, automatically where possible, with clear manual steps where APIs don’t exist. The copy/paste paths are by design, not a gap — Google, Anthropic, and ClickUp don’t expose APIs for programmatic instruction updates. When they do, those paths flip to auto.