🧩 Admin Prompts

Admin prompts are editable templates stored in admin_prompts. If a DB row exists for a key, it wins. Otherwise the app uses the configured default text.

Implemented contract

getAdminText(key, vars) interpolates the winning DB row or platform-neutral configured default before any caller sends text to omp.

Interpolation rule

  • input:
    • template text from the winning DB row or config default
    • variables object
  • replacement:
    • {name} becomes vars[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 omp has 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: {targetPlatform}
    • fidelity note: encode inventive varied intent in prose
  • 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 omp image 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
  • AdminPromptManager merges defaults with DB rows for display

Interpolating call sites

  • logic/prompt-system.js
  • utils/enhancements.js
  • components/ChatDrawer.jsx
  • components/InspirationEngine.jsx
  • hooks/usePublishBlueprint.js
  • components/WizardManager.jsx

Anti-regression checks

  • no literal {type}, {steps}, or similar placeholders reach omp
  • 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.