Skip to content

Prompt Manager ​

Part of Instructions Manager — the Prompts track.

What elsai Prompt Manager is, what problem it solves, and how it fits into your AI stack.

The problem ​

Most teams start with prompts living in Python strings inside their application code. That works for a week. Then:

  • Marketing wants to tweak the tone — but they don't have a PR workflow.
  • A production prompt is silently broken — and nobody knows which commit changed it.
  • You ship a new model and want to A/B two prompts — but each rollout is a code deploy.
  • Your eval pipeline needs the exact prompt that ran on a customer last Tuesday — and you can't get it back.

Prompts are content. They change faster than code, are edited by non-engineers, need review before going to customers, and need to be reproducible long after they were edited. Application repositories are the wrong home for that.

What elsai Prompt Manager does ​

elsai Prompt Manager is a prompt registry and runtime: a central place where prompts are written, reviewed, versioned, released to environments, and fetched at runtime by your applications via a lightweight SDK.

Authoring UI

A web interface for writing prompts, reviewing diffs, leaving comments, and approving changes — built for collaboration between engineers, PMs, and prompt specialists.

Immutable versioning

Every save creates a content-addressed version. Rollbacks are instant. History is permanent. Audit logs answer "who changed this, when, and why."

Environment promotion

Release a specific version to development, then testing, then production — independently of when your application deploys. Promote with one click; roll back the same way.

Typed Python SDK

pip install elsai-prompts. Fetch the active version for your runtime environment. Get back a typed PromptContent with a uniform .render() regardless of prompt kind.

The four kinds of prompt ​

Not every prompt is a single block of text. elsai Prompt Manager treats four shapes as first-class:

Instruction

A single string of guidance — the most common shape. Optional system_prompt. Used for classic single-turn LLM calls.

F-string

A template with placeholders. The SDK renders it with values you supply at call time. Variable specs are stored with the prompt so your UI can collect them.

Chat

A list of {role, content} messages — system, user, assistant — with in any message body. Renders to the message-array shape every chat-completion API expects.

Structured

A base prompt (instruction, f-string, or chat) paired with a JSON response schema. Renders to {base, response_schema} so you can plug it directly into an OpenAI/Anthropic structured-output call.

All four return a single PromptContent type. prompt.render(variables) does the right thing per kind — no branching in your application code. See Prompt Kinds for details.

SaaS or on-prem — same product ​

The platform ships in two deployment modes:

The SDK is identical between them — the only difference is one constructor argument (base_url) for on-prem to point at your deployment. Switch between SaaS and on-prem later without rewriting application code.

Prompts are one track of Instructions Manager. Need governed agent skills (SKILL.md packages for coding agents) on the same platform? See Skills — author and approve in the console, sync with the pm-skills CLI.

Where to go next ​

Copyright © 2026 elsai foundry.