> ## Documentation Index
> Fetch the complete documentation index at: https://evalgate.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a prompt

> Author, version, and test a prompt before it ships.

# Create a prompt

A prompt in EvalGate is a versioned, content-hashed message template. You author
drafts, test them, send them for review, and publish an approved version to a
protected environment.

## Step 1 — Open Prompt Hub

Open **Prompts** from **Search** (`⌘K` / `Ctrl+K`), then click **New prompt**.

![A screenshot of the Prompt Hub registry with the New prompt button.](https://mintcdn.com/evalgate/c7l4ztAi8W3wgmvV/help/images/create-prompt-registry.png?fit=max\&auto=format\&n=c7l4ztAi8W3wgmvV\&q=85\&s=7c6b2bfbf72cfa6d87ef6de32626bc8f)

## Step 2 — Author the first version

Give the prompt a stable **key** (for example, `checkout-assistant-system`). The
key is the public identity; versions are immutable and content-hashed under it.

Write the message content on the **Messages** tab. You can include tool
definitions and variables. Click **Save as new version** to save the draft.

![A screenshot of the prompt workbench with a system message and a variable.](https://mintcdn.com/evalgate/c7l4ztAi8W3wgmvV/help/images/create-prompt-workbench.png?fit=max\&auto=format\&n=c7l4ztAi8W3wgmvV\&q=85\&s=798aab9bc81c20a7002bba85674e0f16)

## Step 3 — Test against the Gateway

Before review, open the **Test** tab and click **Run test** to run the prompt
through the Model Gateway and confirm the model accepts it. This needs a [connected provider key](https://evalgate.com/docs/help/evalgate-101/connect-provider-key.md).

## Step 4 — Submit for review

Click **Request review**. A reviewer with the `prompt:publish` permission can
click **Approve**. Until then, it is a draft and cannot be served by a
protected alias.

## Step 5 — Publish to an environment

After approval, click **Publish staging** or **Publish production** to bind
the version to that protected environment alias. The alias resolves that exact version — never a draft —
and every consumer retains the exact `versionId` and `contentHash`.

## Up next

[Publish and roll back](https://evalgate.com/docs/help/prompts/publish-prompt.md) a version safely.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.