🧩 Admin Prompts
Admin prompts are editable templates stored in admin_prompts. A matching DB row wins over factory text; otherwise the configured default is used. Admin editing requires a signed-in admins or pwiz-admins group through optional SSO.
Implemented contract
getAdminText(key, vars) interpolates the winning text. Generation persona, enhancement and chat additionally retain the shared current-library policy; ideas retain the object-output contract even when an older override omits it. The client caches overrides for up to 60 seconds. Save creates/updates an override, while Restore Default deletes it.
Interpolation rule
- input:
- template text from the winning DB row or config default
- variables object
- replacement:
{name}becomesvars[name]- unknown placeholders become empty string
- required additions:
{targetPlatform}{targetPlatformClause}
- target platform clause:
- empty when no target platform is configured
targeting <targetPlatform>when set
Required keys
generation.persona:- purpose: main prompt generation persona
- placeholders:
{type},{targetPlatformClause} - target wording: platform-neutral PromptWizard expert for development-optimized prompts
generation.architect:- purpose: planning phase
- placeholders:
{steps},{complexity},{style},{focus},{targetAudience},{techVibe},{targetPlatform}
generation.specialist:- purpose: detailed step writing
- placeholders:
{targetPlatform} - target wording: actionable implementation prompts without WebSim-only assumptions unless target platform says so
generation.formatter:- purpose: JSON-only output shape
- placeholders:
{steps}
mermaid.system:- purpose: strict Mermaid diagram generation
- placeholders: none required
- fidelity note: encode low-temperature intent as strict syntax instruction because
omphas no temperature flag
mermaid.instructions:- purpose: project-specific Mermaid request
- placeholders:
{type}
enhance.system:- purpose: step refinement
- placeholders:
{targetPlatform} - fidelity note: encode conservative enhancement intent in prose
chat.system:- purpose: brainstorming assistant response
- placeholders:
{targetPlatform} - target output: valid JSON with explanation and optional enhancement instruction
ideas.system:- purpose: inspiration engine
- placeholders:
{count},{targetPlatform},{targetPlatformClause}(6 initially; 5 complementary alternatives when selected) - output: one JSON object with an
ideasarray, title/description entries and optional complete selectable settings; never a top-level array or singleton
generation.cover.system:- purpose: produce image prompt for blueprint covers
- placeholders:
{targetPlatform}
generation.wizard_image.system:- purpose: produce wizard character image prompt
- placeholders:
{targetPlatform} - transparency note: do not promise transparent output from
ompimage tool
wizard.image.prompt_suffix:- purpose: appended style suffix for wizard avatar image prompts
- placeholders:
{targetPlatform} - transparency note: circular UI mask handles solid backgrounds
Storage behavior
- defaults are not pre-seeded into the DB
- user edits create or update rows
- future default changes remain visible for keys without DB rows
AdminPromptManagermerges defaults with DB rows for display
Interpolating call sites
logic/prompt-system.jsutils/enhancements.jscomponents/ChatDrawer.jsxcomponents/InspirationEngine.jsxhooks/usePublishBlueprint.jscomponents/WizardManager.jsx
Current daisyUI policy
Generation, enhancement and chat share the official CDN recipe checked on 2026-10-13: daisyUI 5 CSS at https://cdn.jsdelivr.net/npm/daisyui@5, Tailwind browser script at https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4, and extra themes at https://cdn.jsdelivr.net/npm/daisyui@5/themes.css. Source: daisyUI CDN documentation.
Tailwind browser 4 is not daisyUI 4; the old daisyUI /dist/full.min.css path is not valid for the current recipe. Respect an explicit request for older versions as a deliberate legacy choice. An older pin merely present in a generated step is not that request: enhancement/chat instructions flag it in detail/explanation and migrate all affected links and constraints.
The D-479 forensics found that the generation model chose daisyui@4.12.14 in its output and enhancements re-fed that output; the stored system prompt did not pin it. The requested route was xai-oauth/grok-4.7; the resolved provider and model knowledge cutoff were not established.
Anti-regression checks
- no literal
{type},{steps}, or similar placeholders reachomp - no default prompt tells the model to use WebSim-only APIs unless the user explicitly set a WebSim target platform
- JSON-returning prompts state JSON-only response
- Mermaid prompts state raw Mermaid only
See settings for targetPlatform and omp-integration for omitted temperature and max-token flags.