Product
A six-step wizard that forces you to articulate what you actually want. Role, context, task, thinking pattern, output format, final instructions — the Live Preview updates as you go. Save the result to your library and reuse it everywhere.

Marketers
Reuse campaign briefs, email flows, and ad copy prompts across clients and channels — without rewriting them every time.
Founders
Turn one-off ChatGPT sessions into a repeatable library your team can run, share, and improve together.
Anyone who reuses prompts
If you copy-paste the same prompt more than twice, save it once with structure and deploy it everywhere.
Before you open the wizard, feel the shape of a good prompt. Click a part to see why it is there and how it reads in the final XML.
Anatomy of a prompt
Click a part to see why it matters
<role>You are a senior backend engineer with 10+ years building distributed systems. You favor boring, battle-tested technology over novelty.</role><context>We are a 3-person SaaS startup pre-Series A. Our stack is Next.js + Supabase. We have 40k MAU and growing 15% month over month.</context><task>Review the attached Postgres schema for a multi-tenant billing table. Flag any design that will cause contention at 10x current volume.</task><thinking>Think step by step. First enumerate every table and index. Then identify hot rows. Then estimate lock contention under concurrent writes.</thinking><format>Return a markdown table with columns: concern, severity (low/med/high), affected tables, suggested fix. Keep each row to one sentence.</format><instructions>If a concern is speculative, mark it with a ⚠ and keep it to one row. Do not invent tables that are not in the schema.</instructions>Why role assignment matters
Who is the AI speaking as? A role gives it a point of view — vocabulary, priorities, blind spots. "Act as an engineer" is too vague; "Act as a senior engineer who favors boring tech" sets a bar.
You never start from scratch
Every saved prompt walks through the same six stages. You can go back at any point — the Live Preview reflects changes instantly.

Define expertise and perspective
Tell the AI who it is — expertise, seniority, specialization. "Senior React architect" gives fundamentally different answers than a generic "developer". Pick from 104 researched roles or write your own.
Establish background and situation
The AI starts with zero knowledge of your project. Write what it needs — what you are building, who it is for, constraints, decisions already made. Without context, the model falls back to a generic baseline.
Define clear objectives
Tell the AI exactly what to produce. "Analyze X, then generate Y in format Z" works; "help me with X" does not. 1,560 task suggestions across subcategories are available as presets.
Step-by-step reasoning process
Guide the AI's reasoning before it answers. List the stages you would think through yourself — it skips every step you do not name. Chain-of-thought beats one-shot for anything non-trivial.
Define structure and presentation
How should the answer look? Bullet points, tables, headers, word count. Without format rules you get walls of text. Quick-format chips cover the common cases.
Your last words before execution
Your final checklist. Priorities, tone, things the AI must never do. The instructions closest to the end are weighted most heavily — this catches what the earlier steps missed.

Variables let one prompt serve many situations. Wrap anything that changes per run in curly braces — the wizard detects them and prompts for values at runtime.
| Syntax | What it renders | Example value |
|---|---|---|
{topic} | A single-line text input you fill in before running the prompt. | distributed systems |
{audience} | Free text for the target reader or user persona. | junior backend engineers |
{language} | Any programming language name — used by the role description. | TypeScript |
{framework} | Library or framework paired with the language above. | Next.js 16 |
{context} | A longer free-text block for background: stage, constraints, goals. | 3-person startup, MVP phase, PostgreSQL |
Use any name inside the braces. The names above are the conventions the built-in role presets look for — reusing them means presets plug in without edits.
Saved prompts are not trapped in ParetoStudio. Reach them from three surfaces — MCP server, Chrome Extension, or the library UI.
Natural language via MCP
“Give me the onboarding email prompt”
search_prompts({ query: "onboarding email" })
// → returns matches
get_prompt({ prompt_id: "..." })Chrome Extension in your browser
“Inject my blog outline prompt into ChatGPT”
1. Open ChatGPT, Claude, or any supported chat.
2. Press Cmd+Shift+P (Ctrl+Shift+P on Windows/Linux).
3. Pick a prompt — the extension fills the chat input and pre-fills variables.Copy from the library
“I want to paste this into DeepSeek”
1. Open Library → Prompts.
2. Select your prompt.
3. Click Copy — pick XML, Markdown, or JSON based on where you are pasting.Saved prompts count against your plan. The wizard itself is unmetered — you can draft as much as you want. The cap only applies when you save.
| Plan | Saved prompts | Output formats |
|---|---|---|
| Free | 5 | XML, Markdown, JSON |
| ProRecommended | Unlimited | XML, Markdown, JSON |
Hit the limit on Free? Delete an older prompt or upgrade to Pro for unlimited saves. The wizard warns you when you have one save slot left.
Deploy on every plan
Prompt didn't save
5 saved prompts. Delete one from the library or upgrade to Pro for unlimited saves.Variable not rendering
{topic}, not { topic } or [[topic]]. Fix the braces and the variable appears in the runtime form.Role preset won't load
Cmd+Shift+R on macOS, Ctrl+Shift+R on Windows) to fetch the latest role list.Can't find a saved prompt in MCP
search_prompts with a shorter, more generic query.search_prompts({ query: "onboarding" })
// broader query → more matches
// then narrow with get_prompt({ prompt_id })