Prompts editor
The Prompts tab in the AI Cockpit is the V28-native editor for the llm_prompts table — the set of named LLM prompts the app uses for analysis, classification, and assistant scaffolding.
This is the V28 sibling of the legacy Admin → LLM Prompts page. Both edit the same data.
Named prompt slugs
Each prompt has a stable slug — code calls loadConfigurablePromptText('message_analysis') etc., gets the current DB row, and falls back to a hardcoded default if the row is missing or invalid.
Common slugs you'll see:
message_analysis— classifies inbound guest messageswa_chat_assistant— drives Pulse Copilot's high-level routingtask_template_validator— validates template edits (see Task Templates editor)cleaner_walkthrough_intent_classifier— classifies cleaner WA free-text + photos (gh#212)- … (full list visible in the editor)
Editor surface
For each slug:
- Prompt body — textarea, with
{{placeholders}}highlighting. - Model — dropdown (same shape as the Agents editor's model field).
- Save → DB → live on the next call.
Same audit-log treatment as the Agents editor: every save is logged with actor + diff + timestamp.
When to use Prompts vs Agents
| Tab | Use when |
|---|---|
| Agents | You want to tune Pulse Copilot's specialist agents (accounting, messaging, etc.) — system prompt + model + thinking budget + tool rounds. |
| Prompts | You want to tune a one-shot LLM call (message analysis, validator, classifier). These are not multi-turn agents. |
A rule of thumb: if the LLM is called in a single round (input → output, done), it's a Prompt. If it's an agent that can call tools and loop, it's an Agent.
Related: gh#415 (Agents editor), gh#357 (V28 Webhook Secrets card cleanup — sibling V28-native operator surface).