<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:media="http://search.yahoo.com/mrss/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Inventory &#038; Stock Alerts &#8211; Flowpast.com &#8211; Your Workflow Automation Library</title>
	<atom:link href="https://flowpast.com/function/inventory-alerts/feed/" rel="self" type="application/rss+xml" />
	<link>https://flowpast.com</link>
	<description>Flowpast.com - Pre-Built n8n, Make &#38; Zapier Workflow Templates</description>
	<lastBuildDate>Fri, 23 Jan 2026 02:49:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://flowpast.com/wp-content/uploads/2025/12/cropped-icon-32x32.png</url>
	<title>Inventory &#038; Stock Alerts &#8211; Flowpast.com &#8211; Your Workflow Automation Library</title>
	<link>https://flowpast.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Build a Packaging Compliance Playbook with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-a-packaging-compliance-playbook-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:49:22 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5002887</guid>

					<description><![CDATA[Shipments arrive damaged or misrouted - the ultimate AI Prompt that builds an ISTA 3A plan with ISO 780 symbols and GS1 labels. Thousands of ready-to-use AI prompts for all models.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: packaging compliance playbook -->
<div class="hook-introduction">

<p>Damaged shipments don’t just cost you replacement units. They quietly drain margin through customer support time, chargebacks, reshipments, and the “we can’t trust this supplier” reputational hit. And when labels fail, you get a different kind of pain: misroutes, missed scans, and inventory that looks lost until it’s too late.</p>



<p>This <strong>packaging compliance playbook</strong> is built for <strong>operations managers</strong> who keep seeing preventable transit damage, <strong>packaging engineers</strong> who need a structured ISTA 3A-style test plan fast, and <strong>e-commerce founders</strong> who are scaling into new carriers and fulfillment models without a labeling system that holds up. The output is a practical, end-to-end packaging playbook that combines an ISTA 3A distribution test sequence, ISO 780 handling mark selection/placement, and GS1 barcode/label layout guidance you can hand to packers and QA without translation.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It models the parcel journey (hubs, conveyors, last-mile) and connects each step to likely failure modes like shock, vibration, and compression.</li>
          <li>It drafts an ISTA 3A-aligned distribution test plan with sequence logic and acceptance criteria you can run internally or take to a lab.</li>
          <li>It selects ISO 780 handling marks based on product fragility and handling risks, then specifies where and how they should be placed.</li>
          <li>It proposes GS1 identification and barcode label practices, including label type and a layout that reduces scan errors.</li>
          <li>It writes operational instructions in plain language so packers, QA, and supply chain leads can execute consistently across channels.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You’re seeing a pattern of cracked housings, broken seals, or “arrived dented” reviews and need a repeatable prevention plan.</li>
          <li>You’re switching carriers, adding 3PL support, or moving from DTC single-shipments into retail/DC distribution and things suddenly fail.</li>
          <li>Your team is debating materials and right-sizing, but nobody can tie decisions to testable criteria and checkpoints.</li>
          <li>Scan rates are inconsistent because labels smear, wrinkle, or get placed where conveyors and handheld scanners miss them.</li>
          <li>You need to document packaging and labeling standards for onboarding, audits, or multi-warehouse rollout without starting from scratch.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A step-by-step packaging playbook covering materials, pack-out method, and handling assumptions for 1 product configuration.</li>
           <li>An ISTA 3A-style test sequence with acceptance criteria, plus a checklist of what to inspect after each test stage.</li>
           <li>A recommended set of ISO 780 symbols with placement notes (which panels, approximate positioning, and quantity).</li>
           <li>A GS1 label approach with barcode type guidance and a practical layout description to reduce routing and scan errors.</li>
           <li>A quality-control checklist with checkpoints, tolerances, and “stop the line” triggers your team can actually use.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Packaging Damage-Prevention Compliance Playbook Builder</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[ORG_SIZE]</code></td>
                                <td class="var-desc">
                                    Specify the size of the organization, including the number of employees or teams if relevant.                                    <div class="var-example">For example: "Mid-sized company with 250 employees across 15 departments."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[ORG_SIZE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[SEVERITY_LEVEL]</code></td>
                                <td class="var-desc">
                                    Indicate the level of severity of the communication issues being addressed, from minor to critical.                                    <div class="var-example">For example: "Critical breakdowns causing major project delays and employee dissatisfaction."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[SEVERITY_LEVEL]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CHANNELS]</code></td>
                                <td class="var-desc">
                                    List the communication channels used within the organization, such as email, meetings, chat platforms, or others.                                    <div class="var-example">For example: "Email, Slack, weekly team meetings, quarterly town halls, and project management tools like Asana."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CHANNELS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[IMPLEMENTATION_CAPACITY]</code></td>
                                <td class="var-desc">
                                    Describe the organization’s ability to implement changes, including resources, expertise, and willingness to adapt.                                    <div class="var-example">For example: "Limited capacity due to budget constraints and lack of dedicated communication specialists."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[IMPLEMENTATION_CAPACITY]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Provide background information about the organization, including its mission, culture, and current challenges.                                    <div class="var-example">For example: "A nonprofit focused on environmental advocacy with a decentralized structure and remote teams across multiple time zones."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Specify the industry or sector the organization operates in.                                    <div class="var-example">For example: "Healthcare technology specializing in patient data management systems."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[ORG_STRUCTURE]</code></td>
                                <td class="var-desc">
                                    Describe the hierarchy and setup of the organization, including leadership levels and reporting paths.                                    <div class="var-example">For example: "Flat structure with 3 co-founders, 5 team leads, and 50 staff members working in cross-functional teams."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[ORG_STRUCTURE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CHALLENGE]</code></td>
                                <td class="var-desc">
                                    Summarize the main communication problem or issue the organization is facing.                                    <div class="var-example">For example: "Frequent misinterpretation of project goals leading to missed deadlines and duplicate work."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CHALLENGE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BREAKDOWN_EXAMPLES]</code></td>
                                <td class="var-desc">
                                    Provide specific examples of communication failures or breakdowns within the organization.                                    <div class="var-example">For example: "An email chain about budget approvals resulted in conflicting interpretations and unauthorized spending."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BREAKDOWN_EXAMPLES]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[COMMUNICATION_SAMPLES]</code></td>
                                <td class="var-desc">
                                    Share examples of real organizational messages, redacted for privacy, to illustrate communication patterns or issues.                                    <div class="var-example">For example: "Slack messages showing confusion about project deadlines due to unclear instructions from leadership."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[COMMUNICATION_SAMPLES]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_GOAL]</code></td>
                                <td class="var-desc">
                                    Define the main objective of the intervention or remediation plan.                                    <div class="var-example">For example: "Improve message clarity and reduce noise across all communication channels to enable faster decision-making."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_GOAL]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Specify the timeline for implementing the communication system changes.                                    <div class="var-example">For example: "6-month phased plan with bi-weekly reviews and adjustments."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONSTRAINTS_NOTES]</code></td>
                                <td class="var-desc">
                                    Outline any specific constraints or limitations that may impact the intervention plan.                                    <div class="var-example">For example: "Limited IT support for new tools and a preference for minimal disruption to ongoing operations."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONSTRAINTS_NOTES]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Diagnose where organizational messages lose meaning and rebuild an engagement communication system using the Shannon–Weaver framework (sender → encoding → channel → noise → decoding → receiver → feedback). Produce an adaptive, phased remediation plan that fits the organization’s complexity and ability to implement change.

## PERSONA
Act as a **Communication Systems Forensics Specialist**: previously a government-grade signal analyst who transitioned into organizational research, spending years inside struggling teams to capture real-world message failures as they happen. You now deconstruct workplace dialogue like a transmission system—pinpointing the exact handoff where intent, interpretation, or follow-through breaks.

Communication style: crisp, investigative, pragmatic, and action-oriented. Use plain language, minimal jargon, and name uncertainties explicitly.

## CONSTRAINTS
- Base the diagnosis on Shannon–Weaver elements (encoding, channel, noise, decoding, feedback) plus organizational context.
- Generate an adaptive set of **3–13 phases** (not fixed), scaled to channel count, hierarchy depth, severity, and resourcing.
- Each phase must include outcomes, actions, and measurement signals.
- Handle sensitive data carefully: if real internal messages are provided, summarize and redact rather than echoing identifiable details.
- If inputs are missing or vague, pause to ask targeted questions before proceeding.

### What This Is NOT
- Not legal, HR-compliance, or labor-relations advice.
- Not a therapy/mediation script for personal conflict.
- Not a guarantee of performance outcomes; it’s a structured communication-systems intervention plan.
- Not a replacement for internal policy, security review, or formal change-management governance.

## PROCESS
1. **Pre-Analysis Statement (required):** Briefly restate what you believe the user wants, what inputs you have, what you’re missing, and what you’ll produce.
2. **System Map:** Inventory channels, artifacts, cadence, decision paths, and stakeholders; diagram the message lifecycle from creation to action.
3. **Failure Mode Scan:** Classify breakdowns (ambiguity, overload, misaligned incentives, channel mismatch, missing feedback, status barriers, timing).
4. **Shannon–Weaver Trace:** For each key breakdown, locate the primary fault point(s): encoding, channel, noise, decoding, feedback.
5. **Root-Cause Logic:** Link symptoms to drivers (structure, tools, norms, incentives, leadership signals, workflow design).
6. **Adaptive Phase Builder:** Choose **3–13 phases** and set depth based on [ORG_SIZE], [SEVERITY_LEVEL], [CHANNELS], and [IMPLEMENTATION_CAPACITY].
7. **Intervention Design:** Provide quick fixes, mid-horizon system adjustments, and long-horizon norm/culture reinforcements—each with success criteria.
8. **Sustainment Loop:** Build ongoing verification (closed-loop feedback), early warning indicators, and review rituals.

### Edge Case Handling
- **No samples available:** Use interview prompts, observation checklists, and lightweight surveys to create proxy data.
- **Conflicting accounts:** Present multiple hypotheses and specify what evidence would confirm/refute each.
- **Low capacity to change:** Prioritize the smallest set of high-leverage interventions and defer tooling/process overhauls.
- **High confidentiality constraints:** Provide redaction guidance and request paraphrases instead of raw text.

## INPUTS
- **Organization context:** [CONTEXT]
- **Industry:** [INDUSTRY]
- **Organization size:** [ORG_SIZE]
- **Org structure (e.g., functional/matrix/distributed):** [ORG_STRUCTURE]
- **Primary communication challenge(s):** [CHALLENGE]
- **Severity (low/medium/high/critical):** [SEVERITY_LEVEL]
- **Channels in use (email, Slack, meetings, tickets, etc.):** [CHANNELS]
- **Examples of recent breakdowns (2–3 summaries):** [BREAKDOWN_EXAMPLES]
- **Communication samples (optional, pasted or paraphrased):** [COMMUNICATION_SAMPLES]
- **Primary goal (what “better” looks like):** [PRIMARY_GOAL]
- **Implementation capacity (time/people/authority):** [IMPLEMENTATION_CAPACITY]
- **Timeframe for improvement:** [TIMEFRAME]
- **Constraints (policies, unions, compliance, tooling limits):** [CONSTRAINTS_NOTES]

## OUTPUT SPECIFICATION
Deliver a structured report with these sections:

1. **Pre-Analysis**
   - {Task Understanding}
   - {Inputs Received}
   - {Key Unknowns}
   - {Planned Deliverable}

2. **Communication System Map**
   - {Channel Inventory}
   - {Stakeholder &amp; Handoff Map}
   - {Message Lifecycle Summary}
   - {High-Risk Touchpoints}

3. **Shannon–Weaver Breakdown Findings**
   For each major issue:
   - {Breakdown Title}
   - {Where It Fails In The Model} (Encoding / Channel / Noise / Decoding / Feedback)
   - {Evidence} (from samples or proxies)
   - {Impact}
   - {Most Likely Drivers}

4. **Pattern &amp; Root-Cause Synthesis**
   - {Miscommunication Pattern Clusters}
   - {Hotspots} (teams/levels/times)
   - {Noise Sources}
   - {Interpretation Drift Factors}
   - {Feedback Gaps}

5. **Adaptive Phased Plan (3–13 phases)**
   For each phase:
   - {Phase Name}
   - {Objective}
   - {Actions}
   - {Owners/Roles}
   - {Artifacts Created} (templates, checklists, norms)
   - {Metrics &amp; Signals}
   - {Risks &amp; Mitigations}
   - {Effort Level} (low/med/high)

6. **Sustainment Architecture**
   - {Closed-Loop Feedback Mechanisms}
   - {Verification Protocols} (e.g., understanding checks)
   - {Early Warning Indicators}
   - {Cadence} (reviews, retros, audits)

7. **Next Questions / Requests**
   - {Clarifying Questions}
   - {Requested Samples or Data}

## QUALITY CHECKS
Before finalizing, verify:
- The Shannon–Weaver elements are explicitly used to locate each failure point.
- The number of phases is within **3–13** and justified by complexity/capacity.
- Every phase includes measurable signals (not just activities).
- Recommendations respect [CONSTRAINTS_NOTES] and [IMPLEMENTATION_CAPACITY].
- Any included examples are anonymized/redacted and do not expose sensitive identifiers.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nDiagnose where organizational messages lose meaning and rebuild an engagement communication system using the Shannon\u2013Weaver framework (sender \u2192 encoding \u2192 channel \u2192 noise \u2192 decoding \u2192 receiver \u2192 feedback). Produce an adaptive, phased remediation plan that fits the organization\u2019s complexity and ability to implement change.\r\n\r\n## PERSONA\r\nAct as a **Communication Systems Forensics Specialist**: previously a government-grade signal analyst who transitioned into organizational research, spending years inside struggling teams to capture real-world message failures as they happen. You now deconstruct workplace dialogue like a transmission system\u2014pinpointing the exact handoff where intent, interpretation, or follow-through breaks.\r\n\r\nCommunication style: crisp, investigative, pragmatic, and action-oriented. Use plain language, minimal jargon, and name uncertainties explicitly.\r\n\r\n## CONSTRAINTS\r\n- Base the diagnosis on Shannon\u2013Weaver elements (encoding, channel, noise, decoding, feedback) plus organizational context.\r\n- Generate an adaptive set of **3\u201313 phases** (not fixed), scaled to channel count, hierarchy depth, severity, and resourcing.\r\n- Each phase must include outcomes, actions, and measurement signals.\r\n- Handle sensitive data carefully: if real internal messages are provided, summarize and redact rather than echoing identifiable details.\r\n- If inputs are missing or vague, pause to ask targeted questions before proceeding.\r\n\r\n### What This Is NOT\r\n- Not legal, HR-compliance, or labor-relations advice.\r\n- Not a therapy\/mediation script for personal conflict.\r\n- Not a guarantee of performance outcomes; it\u2019s a structured communication-systems intervention plan.\r\n- Not a replacement for internal policy, security review, or formal change-management governance.\r\n\r\n## PROCESS\r\n1. **Pre-Analysis Statement (required):** Briefly restate what you believe the user wants, what inputs you have, what you\u2019re missing, and what you\u2019ll produce.\r\n2. **System Map:** Inventory channels, artifacts, cadence, decision paths, and stakeholders; diagram the message lifecycle from creation to action.\r\n3. **Failure Mode Scan:** Classify breakdowns (ambiguity, overload, misaligned incentives, channel mismatch, missing feedback, status barriers, timing).\r\n4. **Shannon\u2013Weaver Trace:** For each key breakdown, locate the primary fault point(s): encoding, channel, noise, decoding, feedback.\r\n5. **Root-Cause Logic:** Link symptoms to drivers (structure, tools, norms, incentives, leadership signals, workflow design).\r\n6. **Adaptive Phase Builder:** Choose **3\u201313 phases** and set depth based on [ORG_SIZE], [SEVERITY_LEVEL], [CHANNELS], and [IMPLEMENTATION_CAPACITY].\r\n7. **Intervention Design:** Provide quick fixes, mid-horizon system adjustments, and long-horizon norm\/culture reinforcements\u2014each with success criteria.\r\n8. **Sustainment Loop:** Build ongoing verification (closed-loop feedback), early warning indicators, and review rituals.\r\n\r\n### Edge Case Handling\r\n- **No samples available:** Use interview prompts, observation checklists, and lightweight surveys to create proxy data.\r\n- **Conflicting accounts:** Present multiple hypotheses and specify what evidence would confirm\/refute each.\r\n- **Low capacity to change:** Prioritize the smallest set of high-leverage interventions and defer tooling\/process overhauls.\r\n- **High confidentiality constraints:** Provide redaction guidance and request paraphrases instead of raw text.\r\n\r\n## INPUTS\r\n- **Organization context:** [CONTEXT]\r\n- **Industry:** [INDUSTRY]\r\n- **Organization size:** [ORG_SIZE]\r\n- **Org structure (e.g., functional\/matrix\/distributed):** [ORG_STRUCTURE]\r\n- **Primary communication challenge(s):** [CHALLENGE]\r\n- **Severity (low\/medium\/high\/critical):** [SEVERITY_LEVEL]\r\n- **Channels in use (email, Slack, meetings, tickets, etc.):** [CHANNELS]\r\n- **Examples of recent breakdowns (2\u20133 summaries):** [BREAKDOWN_EXAMPLES]\r\n- **Communication samples (optional, pasted or paraphrased):** [COMMUNICATION_SAMPLES]\r\n- **Primary goal (what \u201cbetter\u201d looks like):** [PRIMARY_GOAL]\r\n- **Implementation capacity (time\/people\/authority):** [IMPLEMENTATION_CAPACITY]\r\n- **Timeframe for improvement:** [TIMEFRAME]\r\n- **Constraints (policies, unions, compliance, tooling limits):** [CONSTRAINTS_NOTES]\r\n\r\n## OUTPUT SPECIFICATION\r\nDeliver a structured report with these sections:\r\n\r\n1. **Pre-Analysis**\r\n   - {Task Understanding}\r\n   - {Inputs Received}\r\n   - {Key Unknowns}\r\n   - {Planned Deliverable}\r\n\r\n2. **Communication System Map**\r\n   - {Channel Inventory}\r\n   - {Stakeholder & Handoff Map}\r\n   - {Message Lifecycle Summary}\r\n   - {High-Risk Touchpoints}\r\n\r\n3. **Shannon\u2013Weaver Breakdown Findings**\r\n   For each major issue:\r\n   - {Breakdown Title}\r\n   - {Where It Fails In The Model} (Encoding \/ Channel \/ Noise \/ Decoding \/ Feedback)\r\n   - {Evidence} (from samples or proxies)\r\n   - {Impact}\r\n   - {Most Likely Drivers}\r\n\r\n4. **Pattern & Root-Cause Synthesis**\r\n   - {Miscommunication Pattern Clusters}\r\n   - {Hotspots} (teams\/levels\/times)\r\n   - {Noise Sources}\r\n   - {Interpretation Drift Factors}\r\n   - {Feedback Gaps}\r\n\r\n5. **Adaptive Phased Plan (3\u201313 phases)**\r\n   For each phase:\r\n   - {Phase Name}\r\n   - {Objective}\r\n   - {Actions}\r\n   - {Owners\/Roles}\r\n   - {Artifacts Created} (templates, checklists, norms)\r\n   - {Metrics & Signals}\r\n   - {Risks & Mitigations}\r\n   - {Effort Level} (low\/med\/high)\r\n\r\n6. **Sustainment Architecture**\r\n   - {Closed-Loop Feedback Mechanisms}\r\n   - {Verification Protocols} (e.g., understanding checks)\r\n   - {Early Warning Indicators}\r\n   - {Cadence} (reviews, retros, audits)\r\n\r\n7. **Next Questions \/ Requests**\r\n   - {Clarifying Questions}\r\n   - {Requested Samples or Data}\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify:\r\n- The Shannon\u2013Weaver elements are explicitly used to locate each failure point.\r\n- The number of phases is within **3\u201313** and justified by complexity\/capacity.\r\n- Every phase includes measurable signals (not just activities).\r\n- Recommendations respect [CONSTRAINTS_NOTES] and [IMPLEMENTATION_CAPACITY].\r\n- Any included examples are anonymized\/redacted and do not expose sensitive identifiers.";
    const variables = ["[ORG_SIZE]","[SEVERITY_LEVEL]","[CHANNELS]","[IMPLEMENTATION_CAPACITY]","[CONTEXT]","[INDUSTRY]","[ORG_STRUCTURE]","[CHALLENGE]","[BREAKDOWN_EXAMPLES]","[COMMUNICATION_SAMPLES]","[PRIMARY_GOAL]","[TIMEFRAME]","[CONSTRAINTS_NOTES]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Describe the product like a failure analyst, not a marketer.</strong> Include weight, dimensions, center of mass quirks, and the one part that always breaks first. For example: “1.2 kg, 18 × 12 × 9 cm, glass vial inside plastic cradle; vial neck snaps under lateral shock.” You will get materially better ISTA 3A test logic from that.</li>


<li><strong>Spell out the shipping journey and fulfillment model in one tight block.</strong> Add origin/destination zones, typical lane distance, and whether you use DTC, FBA/3PL, or retail/DC. Follow-up prompt you can paste after the first output: “Rewrite the plan for (a) DTC single-parcel via UPS Ground and (b) 3PL pick/pack with zone skipping; keep acceptance criteria comparable.”</li>


<li><strong>Give constraints that usually get ignored.</strong> Mention sustainability limits (plastic-free, curbside recyclable), cost ceiling, and any carrier packaging rules you already know. If you don’t have exact limits, be honest: ask the model for two options, like “lowest damage risk” and “best balance under $0.80/unit packaging cost.”</li>


<li><strong>Iterate on the acceptance criteria, not just the materials.</strong> After the first pass, ask: “Tighten acceptance criteria for cosmetics-grade appearance; reject scuffs above 5 mm and label damage that reduces scan reliability.” Then ask the opposite for a tougher, lower-cost spec: “Now relax cosmetic criteria but maintain functional performance.”</li>


<li><strong>Force label recommendations to include placement and verification.</strong> GS1 guidance is only useful when it becomes a pack-station habit. Try: “Add a pack-line verification step: how to confirm the barcode is scannable, where to place it on the shipper, and what to do when the carton seam interferes.” Honestly, this is where most ‘label fixes’ fail in real warehouses.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once you’ve documented a packaging playbook, these prompts help you communicate it internally, document rollout steps, and keep improvements on schedule.</p>



<p>If you also need a repeatable way to write the internal docs around your new standards, <a href="https://flowpast.com/prompts/write-seo-blog-articles-with-this-ai-prompt/">Write SEO Blog Articles with this AI Prompt</a> adapts well to “SOP-style” articles. Use it to turn the playbook into training-friendly pages like “How to apply ISO 780 marks” or “Packing checklist for fragile SKUs,” then share them with warehouses and 3PL partners.</p>



<p>For teams doing ongoing improvements (new cartons, new inserts, updated label stock), <a href="https://flowpast.com/prompts/create-a-3-month-seo-content-calendar-ai-prompt/">Create a 3-Month SEO Content Calendar AI Prompt</a> can be repurposed into a 12-week operations calendar. Think weekly packaging tests, monthly scan-rate audits, and quarterly refreshes of your QC checkpoints so changes don’t drift.</p>



<p>When you’re rolling out packaging updates across locations, consistency is the hard part. <a href="https://flowpast.com/prompts/build-a-blog-series-content-plan-with-this-ai-prompt/">Build a Blog Series Content Plan with this AI Prompt</a> is handy for mapping a “series” of internal enablement: one lesson per week, each focused on a single standard (ISTA sequence, ISO 780 marks, then GS1 layout and verification) and ending with a quick pass/fail quiz.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/write-seo-blog-articles-with-this-ai-prompt/">Write SEO Blog Articles with this AI Prompt</a>: Turn playbooks into clear SOP articles.</li>


<li><a href="https://flowpast.com/prompts/create-a-3-month-seo-content-calendar-ai-prompt/">Create a 3-Month SEO Content Calendar AI Prompt</a>: Plan audits, tests, and updates weekly.</li>


<li><a href="https://flowpast.com/prompts/build-a-blog-series-content-plan-with-this-ai-prompt/">Build a Blog Series Content Plan with this AI Prompt</a>: Structure training modules for rollout.</li>

<li><a href="https://flowpast.com/prompts/build-seo-blog-headlines-with-this-ai-prompt/">Build SEO Blog Headlines with this AI Prompt</a>: Create internal doc titles fast.</li>

<li><a href="https://flowpast.com/prompts/build-a-local-seo-refresh-calendar-with-this-ai-prompt/">Build a Local SEO Refresh Calendar with this AI Prompt</a>: Schedule regular process refresh cycles.</li>
<!-- /wp:post-content -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this packaging compliance playbook AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Packaging Engineers</strong> use this to turn “we need fewer damages” into a testable ISTA 3A-style plan with clear acceptance criteria. <strong>Operations Managers</strong> rely on it to create pack-line instructions and QC checkpoints that reduce variation between shifts and warehouses. <strong>Supply Chain or Logistics Leads</strong> apply it when adding a new carrier, lane, or fulfillment model and need to anticipate where failures occur. <strong>Quality Assurance Managers</strong> find it useful for building inspection routines and “stop the line” triggers tied to observable defects.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this packaging compliance playbook AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-commerce consumer goods</strong> teams use it for fragile-to-moderately-fragile items (glass, ceramics, personal care) where returns are frequent and reviews mention damage. <strong>SaaS hardware and electronics</strong> companies apply it to reduce shock and vibration failures while keeping labeling scannable through 3PL handling. <strong>Health and beauty brands</strong> get value when appearance matters, because the playbook can tighten cosmetic acceptance criteria and handling marks to reduce scuffs and leakage. <strong>Industrial parts suppliers</strong> benefit when heavy items cause compression and burst issues, and they need a consistent label layout to prevent misroutes across DCs.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for building a packaging compliance playbook produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a packaging plan for shipping my product” fails because it: lacks the ISTA 3A sequence logic and measurable acceptance criteria needed to validate performance, provides no structured method to map failure modes to the parcel journey, ignores ISO 780 symbol selection and placement details that warehouse teams can follow, produces generic material suggestions instead of dimensions/tolerances/checkpoints, and misses GS1 label layout practices that prevent routing and scan errors. You end up with advice that sounds reasonable but doesn’t survive a conveyor, a drop, or a rushed pack station.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this packaging compliance playbook prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. Paste the prompt and then add your product specs (dimensions, weight, fragility points, value), your shipping profile (lane distance, carriers, parcel vs pallet, DTC vs 3PL/FBA), and your constraints (sustainability targets and cost ceiling). If you’re missing details, ask the model to list the blockers first and give conditional recommendations until you confirm them. A good follow-up is: “Create two variants of the playbook: one optimized for lowest damage rate, one optimized for lowest packaging cost, and explain the tradeoffs in the ISTA acceptance criteria and materials.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this packaging compliance playbook prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving the product description too vague — instead of “fragile skincare bottle,” try “120 ml glass bottle with pump; total packed weight 0.65 kg; pump collar cracks under top-load compression.” Another common error is skipping the shipping context; “ships in the US” is weak, while “Zone 2–8 via UPS Ground, 1–3 parcels/order, occasional returns” gives the model something to engineer around. People also forget constraints: “eco-friendly please” is fuzzy, but “plastic-free, curbside recyclable, no loose fill” forces realistic material choices. Finally, teams often accept label advice without placement and verification; you want specifics like “label on largest panel, away from seams, with a scan check at pack-out.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this packaging compliance playbook prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for hazardous materials, food contact, medical device regulation, or customs/legal compliance decisions, because it explicitly avoids providing regulatory opinions. It’s also not a substitute for certified lab testing if you need formal certification; it can propose a plan, not certify outcomes. And if you’re still guessing at the core product configuration (final dimensions, pack-out, channels), you may be better off validating those basics first, then generating the playbook when the inputs are stable.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this packaging compliance playbook AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Packaging Engineers use this to turn “we need fewer damages” into a testable ISTA 3A-style plan with clear acceptance criteria. Operations Managers rely on it to create pack-line instructions and QC checkpoints that reduce variation between shifts and warehouses. Supply Chain or Logistics Leads apply it when adding a new carrier, lane, or fulfillment model and need to anticipate where failures occur. Quality Assurance Managers find it useful for building inspection routines and “stop the line” triggers tied to observable defects."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this packaging compliance playbook AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-commerce consumer goods teams use it for fragile-to-moderately-fragile items (glass, ceramics, personal care) where returns are frequent and reviews mention damage. SaaS hardware and electronics companies apply it to reduce shock and vibration failures while keeping labeling scannable through 3PL handling. Health and beauty brands get value when appearance matters, because the playbook can tighten cosmetic acceptance criteria and handling marks to reduce scuffs and leakage. Industrial parts suppliers benefit when heavy items cause compression and burst issues, and they need a consistent label layout to prevent misroutes across DCs."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for building a packaging compliance playbook produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a packaging plan for shipping my product” fails because it: lacks the ISTA 3A sequence logic and measurable acceptance criteria needed to validate performance, provides no structured method to map failure modes to the parcel journey, ignores ISO 780 symbol selection and placement details that warehouse teams can follow, produces generic material suggestions instead of dimensions/tolerances/checkpoints, and misses GS1 label layout practices that prevent routing and scan errors. You end up with advice that sounds reasonable but doesn’t survive a conveyor, a drop, or a rushed pack station."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this packaging compliance playbook prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Paste the prompt and then add your product specs (dimensions, weight, fragility points, value), your shipping profile (lane distance, carriers, parcel vs pallet, DTC vs 3PL/FBA), and your constraints (sustainability targets and cost ceiling). If you’re missing details, ask the model to list the blockers first and give conditional recommendations until you confirm them. A good follow-up is: “Create two variants of the playbook: one optimized for lowest damage rate, one optimized for lowest packaging cost, and explain the tradeoffs in the ISTA acceptance criteria and materials.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this packaging compliance playbook prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving the product description too vague — instead of “fragile skincare bottle,” try “120 ml glass bottle with pump; total packed weight 0.65 kg; pump collar cracks under top-load compression.” Another common error is skipping the shipping context; “ships in the US” is weak, while “Zone 2–8 via UPS Ground, 1–3 parcels/order, occasional returns” gives the model something to engineer around. People also forget constraints: “eco-friendly please” is fuzzy, but “plastic-free, curbside recyclable, no loose fill” forces realistic material choices. Finally, teams often accept label advice without placement and verification; you want specifics like “label on largest panel, away from seams, with a scan check at pack-out.”"
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this packaging compliance playbook prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for hazardous materials, food contact, medical device regulation, or customs/legal compliance decisions, because it explicitly avoids providing regulatory opinions. It’s also not a substitute for certified lab testing if you need formal certification; it can propose a plan, not certify outcomes. And if you’re still guessing at the core product configuration (final dimensions, pack-out, channels), you may be better off validating those basics first, then generating the playbook when the inputs are stable."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Packaging failures are predictable when you map the journey and enforce a standard. Paste this prompt into your model, answer the missing-input questions, and turn your next shipping run into something you can trust.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5002887.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build Variant Listing Blueprints with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-variant-listing-blueprints-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:15:25 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5003008</guid>

					<description><![CDATA[Variant chaos drives returns - the ultimate AI Prompt that maps parent child structure, naming rules, SKUs, and selectors. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: variant listing blueprints -->
<div class="hook-introduction">

<p>Variant sprawl is expensive. One product turns into 18 listings, half the options are missing attributes, and shoppers pick the wrong item because the selector labels are vague. Returns climb, reviews get salty, and your team wastes hours “fixing” SKUs that never had a real system.</p>



<p>This <strong>variant listing blueprints</strong> prompt is built for <strong>e-commerce managers</strong> cleaning up a messy Shopify or marketplace catalog before peak season, <strong>marketplace operators</strong> who need a parent–child architecture that actually passes category logic, and <strong>performance marketers</strong> who are tired of sending paid traffic to confusing product pages. The output is a practical blueprint: a parent listing definition, child variant map, naming rules, SKU patterns, attribute completeness checks, and image requirements that reduce choice friction.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It consolidates duplicate or fragmented listings into a clear parent–child variation family, keeping the parent strictly “universal” and pushing specifics into children.</li>
          <li>It defines a consistent variant naming system for titles and SKUs so shoppers (and your team) can recognize differences fast.</li>
          <li>It enforces a variation hierarchy rule set, including prioritizing material differences over color when both are present.</li>
          <li>It builds an attribute completeness standard so no variant is missing size, material, color anchor names, or other required fields.</li>
          <li>It specifies variant imagery requirements so each child image proves what’s different, not just a swatch or a generic hero shot.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You are preparing for a high-traffic season and need product pages that help shoppers choose correctly under time pressure.</li>
          <li>Your catalog has “near-identical” listings that compete with each other in search, reporting, and merchandising.</li>
          <li>Returns or exchanges are spiking because buyers misread fit, material, or color due to unclear selectors.</li>
          <li>A marketplace or internal QA team is flagging your listings for inconsistent variant data, duplicate SKUs, or messy option labels.</li>
          <li>You are scaling the assortment (more colors, more sizes, new materials) and the old structure will break the moment you add variants.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A complete parent listing blueprint that lists exactly what belongs on the parent (and what must not).</li>
           <li>A child variant matrix that maps each variant to attributes, including size ordering rules and hierarchy logic.</li>
           <li>A SKU and title convention you can apply across the category, with examples that make differences obvious at a glance.</li>
           <li>An attribute QA checklist to catch blanks, inconsistent labels, and “defaulted” values that shouldn’t be defaulted.</li>
           <li>An image proof list per variant that states what each photo must demonstrate (fit cues, material texture, color expectation, or included components).</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Variant Listing Blueprint Builder</h2>


<!-- Prompt file not found: /home/flowpast/htdocs/flowpast.com/wp-content/data/prompts_scraped/5003216/prompt-2026.txt -->

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Feed it the real mess, not the cleaned story.</strong> Paste in a representative sample of your current listings (titles, options, SKUs, and attribute fields) so the blueprint addresses the exact failure modes. If you can, include 3–5 return reasons or customer service snippets like “color not as expected” or “ordered wrong size.”</li>


<li><strong>Force the hierarchy decision early.</strong> If your product varies by both material and color, tell the model which materials exist and which are actually different to the shopper. Follow up with: “Rank variation dimensions by shopper impact for my category, then justify the parent–child hierarchy in 5 bullets.”</li>


<li><strong>Be strict about naming anchors.</strong> The prompt expects color labels like “{Creative Color} ({Standard Color}).” Provide your anchor list (Black, White, Navy, Beige, etc.) and let the creative names sit on top. After the first output, ask: “Rewrite all color labels to match my anchor list exactly, and flag any that don’t map cleanly.”</li>


<li><strong>Iterate with edge cases.</strong> Once you get a clean structure, challenge it with the awkward variants: bundles, limited editions, “tall” sizing, or multi-packs. Try: “Now stress-test this blueprint for (1) a 2-pack bundle and (2) a limited-edition color; tell me what becomes a separate parent vs a child variant.”</li>


<li><strong>Turn the output into QA rules your team can run weekly.</strong> Don’t stop at the blueprint. Ask for an operational check: “Create a weekly catalog audit checklist with pass/fail rules for SKU uniqueness, blank attributes, size order, and image proof requirements, plus what to do when a rule fails.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your variants are structured, these prompts help you tighten the upstream supply chain decisions that often cause catalog confusion in the first place:</p>



<p>If your variant chaos is driven by too many overlapping suppliers or inconsistent specs, <a href="https://flowpast.com/prompts/build-a-pareto-sourcing-channel-plan-with-this-ai-prompt/">Build a Pareto Sourcing Channel Plan with this AI Prompt</a> helps you identify the few channels causing most of the assortment complexity. It’s useful when you need to reduce duplicate items without starving best-sellers, especially ahead of a seasonal inventory build.</p>



<p>When the real problem is that suppliers ship “close enough” versions (and your listings try to paper over it with vague labels), <a href="https://flowpast.com/prompts/build-supplier-dispute-resolution-playbooks-with-this-ai-prompt/">Build Supplier Dispute Resolution Playbooks with this AI Prompt</a> is a strong companion. You can use it to formalize what counts as a mismatch in material, finish, or components, then tie those standards back to variant attributes and imagery proof.</p>



<p>And if you’re renegotiating specs so your catalog can have fewer, cleaner variation families, <a href="https://flowpast.com/prompts/create-supplier-negotiation-templates-ai-prompt/">Create Supplier Negotiation Templates AI Prompt</a> helps you walk into those conversations with clear asks. Frankly, it’s hard to enforce naming and SKU discipline if the vendor won’t lock in consistent materials and option sets.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-a-pareto-sourcing-channel-plan-with-this-ai-prompt/">Build a Pareto Sourcing Channel Plan with this AI Prompt</a>: Cut supplier complexity driving duplicate variants.</li>


<li><a href="https://flowpast.com/prompts/build-supplier-dispute-resolution-playbooks-with-this-ai-prompt/">Build Supplier Dispute Resolution Playbooks with this AI Prompt</a>: Resolve spec mismatches that cause returns.</li>


<li><a href="https://flowpast.com/prompts/create-supplier-negotiation-templates-ai-prompt/">Create Supplier Negotiation Templates AI Prompt</a>: Negotiate tighter specs for cleaner catalogs.</li>

<li><a href="https://flowpast.com/prompts/build-a-scor-based-sourcing-checklist-ai-prompt/">Build a SCOR-Based Sourcing Checklist AI Prompt</a>: Standardize sourcing checks before listing expansion.</li>


<li><a href="https://flowpast.com/prompts/build-a-b2b-social-selling-playbook-with-this-ai-prompt/">Build a B2B Social Selling Playbook with this AI Prompt</a>: Turn product clarity into sales messaging.</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this variant listing blueprints AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-commerce Operations Managers</strong> use this to rebuild parent–child structures so merchandising, ads, and inventory all point to the same canonical products. <strong>Marketplace Catalog Specialists</strong> rely on it to enforce variant rules (unique SKUs, complete attributes, meaningful option labels) that prevent suppression and category QA issues. <strong>Conversion Rate Optimization (CRO) Leads</strong> apply it to reduce selector confusion and decision fatigue, which can quietly tank add-to-cart rates. <strong>Customer Support Managers</strong> benefit because clearer variants and imagery requirements reduce “wrong item” tickets and repetitive sizing or color questions.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this variant listing blueprints AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Apparel and footwear</strong> teams use it to keep size runs ordered correctly and to separate true fit differences (regular vs wide, tall vs standard) from simple color options. That directly reduces “ordered the wrong size” returns when selectors are unambiguous. <strong>Home goods and furniture</strong> brands apply it when material and finish variations (wood type, upholstery, coating) matter more than color, and when imagery must prove texture and scale. <strong>Beauty and personal care</strong> sellers get value when variants represent different formulations, scents, or SPF levels, where mis-grouping can create compliance or expectation issues even without making legal claims. <strong>Consumer electronics and accessories</strong> teams use it to prevent mismatches between compatibility attributes (model fit, connector type) and the displayed variant options.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for building product variant structures produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a variant structure for my product” fails because it: lacks hard constraints about what belongs on the parent vs the child listing, provides no SKU patterning rules so uniqueness breaks at scale, ignores hierarchy logic (for example, material outranking color), produces vague labels like “Option A” instead of meaningful identifiers, and misses the attribute completeness requirement that prevents mismatches and returns. It also rarely addresses imagery proof, so your photos don’t actually help customers distinguish variants.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this variant listing blueprints prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. You will get better results if you add your category’s “non-negotiables,” such as required attributes (fit type, compatibility model, material composition), your established size progression (XS→XL or numeric ranges), and your standard color anchor list (Black, Navy, White) that creative names must map to. If you have existing SKU conventions, include a few real SKUs so the blueprint extends your current pattern instead of inventing a new one. A helpful follow-up is: “Using my constraints, propose two SKU schema options and score them for uniqueness, readability, and scalability.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this variant listing blueprints prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is ignoring the constraint that parent listings must contain only universal information; teams sneak variant specifics into the parent, like “Blue” or “Leather,” which later conflicts with child data. Another frequent error is allowing non-descriptive labels (bad: “Model B”; better: “Slim Fit (Cotton)” or “Walnut Finish (Brown)”) which increases mis-selection. People also forget the color rule (bad: “Ocean”; better: “Ocean (Blue)”), making filters and shopper expectations inconsistent. Finally, teams often treat imagery as optional; instead, require each variant image to prove the differentiator (material texture, included components, or true color under neutral lighting).</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this variant listing blueprints prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for one-off products with no real variants, or for teams that only need quick copy tweaks rather than a structural rebuild. It’s also not the right tool if your upstream product data is unknown (no confirmed materials, no stable size runs, no reliable SKU ownership), because the blueprint depends on real constraints. If you’re in that situation, start by standardizing product specs with suppliers, then come back to variation architecture once the inputs are trustworthy.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this variant listing blueprints AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-commerce Operations Managers use this to rebuild parent–child structures so merchandising, ads, and inventory all point to the same canonical products. Marketplace Catalog Specialists rely on it to enforce variant rules (unique SKUs, complete attributes, meaningful option labels) that prevent suppression and category QA issues. Conversion Rate Optimization (CRO) Leads apply it to reduce selector confusion and decision fatigue, which can quietly tank add-to-cart rates. Customer Support Managers benefit because clearer variants and imagery requirements reduce “wrong item” tickets and repetitive sizing or color questions."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this variant listing blueprints AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Apparel and footwear teams use it to keep size runs ordered correctly and to separate true fit differences (regular vs wide, tall vs standard) from simple color options. That directly reduces “ordered the wrong size” returns when selectors are unambiguous. Home goods and furniture brands apply it when material and finish variations (wood type, upholstery, coating) matter more than color, and when imagery must prove texture and scale. Beauty and personal care sellers get value when variants represent different formulations, scents, or SPF levels, where mis-grouping can create compliance or expectation issues even without making legal claims. Consumer electronics and accessories teams use it to prevent mismatches between compatibility attributes (model fit, connector type) and the displayed variant options."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for building product variant structures produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a variant structure for my product” fails because it: lacks hard constraints about what belongs on the parent vs the child listing, provides no SKU patterning rules so uniqueness breaks at scale, ignores hierarchy logic (for example, material outranking color), produces vague labels like “Option A” instead of meaningful identifiers, and misses the attribute completeness requirement that prevents mismatches and returns. It also rarely addresses imagery proof, so your photos don’t actually help customers distinguish variants."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this variant listing blueprints prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. You will get better results if you add your category’s “non-negotiables,” such as required attributes (fit type, compatibility model, material composition), your established size progression (XS→XL or numeric ranges), and your standard color anchor list (Black, Navy, White) that creative names must map to. If you have existing SKU conventions, include a few real SKUs so the blueprint extends your current pattern instead of inventing a new one. A helpful follow-up is: “Using my constraints, propose two SKU schema options and score them for uniqueness, readability, and scalability.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this variant listing blueprints prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is ignoring the constraint that parent listings must contain only universal information; teams sneak variant specifics into the parent, like “Blue” or “Leather,” which later conflicts with child data. Another frequent error is allowing non-descriptive labels (bad: “Model B”; better: “Slim Fit (Cotton)” or “Walnut Finish (Brown)”) which increases mis-selection. People also forget the color rule (bad: “Ocean”; better: “Ocean (Blue)”), making filters and shopper expectations inconsistent. Finally, teams often treat imagery as optional; instead, require each variant image to prove the differentiator (material texture, included components, or true color under neutral lighting)."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this variant listing blueprints prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for one-off products with no real variants, or for teams that only need quick copy tweaks rather than a structural rebuild. It’s also not the right tool if your upstream product data is unknown (no confirmed materials, no stable size runs, no reliable SKU ownership), because the blueprint depends on real constraints. If you’re in that situation, start by standardizing product specs with suppliers, then come back to variation architecture once the inputs are trustworthy."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Cleaner variants mean fewer wrong orders, fewer support tickets, and more confident clicks. Paste this prompt into your AI tool, run it against a messy product family, then turn the blueprint into your new catalog standard.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5003008.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build a Universal Booking Web App with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-a-universal-booking-web-app-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:12:20 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5001403</guid>

					<description><![CDATA[Booking flows feel generic and lose buyers - this AI Prompt ships a configurable React TypeScript booking app with pricing, checkout, and dashboard. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: universal booking web app -->
<div class="hook-introduction">

<p>Most booking experiences feel like templates in disguise. You end up forcing every service into the same flow, then watch customers drop when the fields don’t match what they’re actually trying to book. And when you finally “fix” it, the codebase turns into a pile of one-off conditions you’re afraid to touch.</p>



<p>This <strong>universal booking web app</strong> is built for <strong>product teams</strong> that need one booking system for multiple categories (appointments, rentals, packages) without rewriting screens, <strong>startup founders</strong> trying to ship a credible checkout and dashboard fast, and <strong>consultants</strong> who need a configurable demo app to win or expand client work. The output is a production-ready React + TypeScript front end with Tailwind styling, Framer Motion polish, a JSON-driven category configuration, multi-step checkout, and realistic mocked availability and payment flows.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>Designs a JSON-driven category configuration so booking screens, required fields, and steps adapt per product type.</li>
          <li>Generates a React 18+ and TypeScript codebase with clear component boundaries, hooks, and utilities.</li>
          <li>Builds a multi-step checkout flow that includes a progress indicator, validation, error states, and a confirmation view.</li>
          <li>Simulates real-time-ish availability with mocked services, immediate UI feedback, and realistic edge cases.</li>
          <li>Applies a consistent premium UI system using Tailwind CSS plus refined motion patterns via Framer Motion.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You’re expanding from one bookable offer into multiple categories and your current flow can’t flex without hacks.</li>
          <li>Your checkout drop-off is high because the form asks irrelevant questions or hides critical ones too late.</li>
          <li>You need a strong prototype for stakeholders, but it must be believable enough to evolve into production code.</li>
          <li>A competitor’s booking UX feels smoother and you need to catch up without rebuilding everything from scratch.</li>
          <li>You’re standardizing UI and accessibility across products, and you want one design language for low and high price points.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A configurable booking app architecture with a JSON category schema and example category configs.</li>
           <li>Core screens for browse, details, availability selection, customer info, review, and confirmation, wired as a cohesive flow.</li>
           <li>A ready-to-use multi-step checkout UI with validation rules and sample error/empty states.</li>
           <li>A mocked “payment” experience plus mocked API services for availability and booking creation.</li>
           <li>Accessible, responsive UI patterns with keyboard navigation notes, focus states, and ARIA guidance where needed.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Universal Booking Web App Builder (React + TypeScript)</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the primary users of the booking web app, including their demographics, needs, and pain points.                                    <div class="var-example">For example: "Small business owners offering appointment-based services, such as fitness trainers, hair stylists, or tutors, who need an easy-to-use booking system to manage their schedules and clients."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Specify the tone and style of communication the app should use to align with the brand&#039;s identity.                                    <div class="var-example">For example: "Professional yet approachable, with clear and concise messaging that instills trust and reliability."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Provide the specific scenario or environment in which the booking app will be used, including any unique challenges or requirements.                                    <div class="var-example">For example: "A multi-category booking platform for a marketplace offering services like car rentals, spa appointments, and event ticketing, needing category-specific configurations."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Indicate the desired format or structure for the output, such as JSON, plain text, or a specific UI layout.                                    <div class="var-example">For example: "A JSON-driven configuration file with fields for category, availability settings, pricing rules, and checkout steps."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_GOAL]</code></td>
                                <td class="var-desc">
                                    Define the main objective or outcome the booking app should achieve for its users or stakeholders.                                    <div class="var-example">For example: "Enable seamless booking experiences across multiple service categories while maintaining a modern, trustworthy design."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_GOAL]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UPPERCASE_WITH_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Provide a phrase or identifier in uppercase letters with underscores separating words, typically used for constants or environment variables.                                    <div class="var-example">For example: "BOOKING_APP_CONFIG"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UPPERCASE_WITH_UNDERSCORES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="prompt-header-visible subheader">Delivery standards</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Scope boundaries — What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge case handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Configuration System</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Component Library</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Search &amp; Discovery</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Booking Flow</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) User Dashboard</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) File Structure</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) Mock Data</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">8) Best Practices</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">9) Setup Instructions</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Create a production-ready **universal booking web app** that supports many reservable products/services via a **JSON-driven category configuration**. The system must avoid “one-size-fits-none” UX by adapting screens, fields, and flow to each booking context while keeping a consistent, premium design language and robust underlying architecture.

## PERSONA
You are a veteran full‑stack product engineer who has shipped high-scale reservation and checkout systems for global travel/marketplace platforms. You specialize in availability modeling, pricing presentation, conversion-focused UX, and maintainable React/TypeScript architecture. Your writing is crisp, implementation-first, and pragmatic.

## CONSTRAINTS
### Delivery standards
- Build with **React 18+ + TypeScript** (unless overridden).
- Use **Tailwind CSS** and **Framer Motion** for refined motion and UI polish.
- UI should feel modern and trustworthy across low and high price points (from small appointments to premium packages).
- Include real-time-ish availability behavior (simulated with mock services) with immediate visual feedback.
- Provide multi-step checkout with: progress indicator, validation, error states, and confirmation.
- Must be responsive and accessible (keyboard nav, focus states, ARIA where needed, contrast-aware design).
- Include realistic mock data, edge cases, and testing scenarios.
- Code must be maintainable: clear TypeScript types, component boundaries, hooks, and utilities.

### Scope boundaries — What This Is NOT
- Not a real payment processor integration (use a convincing mock UI + mocked API).
- Not a full production backend or infrastructure-as-code.
- Not a pixel-perfect clone of any specific product; only “inspired-by” styling.
- Not limited to a single vertical (must remain category-configurable).

## PROCESS
1. **Pre-analysis (must print first):** Restate your understanding of the requested booking categories, styling constraints, and any stack changes from the inputs. List assumptions and any missing info you’ll default.
2. Design the **category configuration model** (JSON schema + TS types) to drive:
   - Search fields, filters, result cards, details page sections
   - Availability strategy, pricing display rules, checkout steps &amp; form fields
   - Validation rules and confirmation messaging
3. Define the UI foundation: tokens, layout primitives, motion patterns, accessibility conventions.
4. Implement the app in feature slices:
   - Discovery/search → results → product details
   - Availability selection
   - Checkout wizard (steps configurable per category)
   - Confirmation
   - User dashboard (manage bookings, profile basics)
5. Add mock services simulating:
   - Search, availability checks, dynamic pricing changes, booking creation, auth/session
6. Add testing and scenarios:
   - Empty states, sold-out, price change mid-checkout, invalid inputs, slow network simulation
7. Provide setup docs and customization guidance for adding a new booking category through config.

### Edge case handling
- If any input is ambiguous or missing, choose sensible defaults and clearly label them as assumptions.
- If multiple booking categories conflict (e.g., “flights” vs “appointments”), show how the configuration cleanly separates their flows without forking the codebase.
- If performance goals are strict, prioritize: code-splitting, memoization, virtualization for long lists, reduced motion support, and accessible skeleton loading.

## INPUTS
- **Booking categories to support:** [TARGET_AUDIENCE]  
- **Visual/brand preferences:** [BRAND_VOICE]  
- **Tech stack changes:** [CONTEXT]  
- **Extra features/customizations:** [FORMAT]  
- **Performance/accessibility targets:** [PRIMARY_GOAL]  

&gt; Note: If you need additional variables, add them using [UPPERCASE_WITH_UNDERSCORES] format.

## OUTPUT SPECIFICATION
Deliver a complete build plan and code with the following sections (use these headers exactly):

### 1) Configuration System
Provide:
- A JSON configuration example for multiple categories
- TypeScript types/interfaces for:
  - {BookingCategoryConfig}
  - {SearchFieldConfig}
  - {FilterConfig}
  - {AvailabilityRule}
  - {PricingRule}
  - {CheckoutStepConfig}
  - {FormFieldConfig}
  - {ValidationRule}
- Explanation of how to add a new category by editing config only

### 2) Component Library
Include reusable UI building blocks (TSX + Tailwind + Framer Motion):
- {Button}, {Input}, {Select}, {DatePickerLike}, {Stepper}, {Card}, {Modal}, {Toast}
- {Skeleton}, {EmptyState}, {ErrorState}
- Motion guidelines and reduced-motion handling

### 3) Search &amp; Discovery
Implement:
- Landing/discovery page(s)
- Config-driven search form generator
- Filters + sorting UI
- Results list/grid and result card variants driven by category config

### 4) Booking Flow
Implement:
- Config-driven multi-step checkout wizard
- Step validation + inline errors
- Availability selection UI (calendar/time slots/quantity/etc. based on config)
- Pricing breakdown (“worth breakdown”) UI with dynamic updates
- Payment mock screen + booking confirmation screen

### 5) User Dashboard
Implement:
- Upcoming/past bookings
- Booking details view
- Cancel/reschedule flows (mocked)
- Lightweight account/profile settings

### 6) File Structure
Provide a full project tree with brief notes:
- Feature folders, shared UI, hooks, services, config, types, utils, test fixtures

### 7) Mock Data
Provide:
- Category-specific fixtures
- Edge case fixtures (sold out, overlapping inventory, last seat, price surge, min-stay rules, etc.)
- Seed helper utilities

### 8) Best Practices
List and implement:
- Performance techniques (memoization, code splitting, virtualization where relevant)
- Accessibility checklist (focus management, ARIA, keyboard flows)
- Error handling patterns (API failures, retries, toasts)
- Type safety conventions

### 9) Setup Instructions
Provide:
- Install/run steps
- Environment notes (mock API toggles)
- How to add a new booking category
- Development workflow suggestions

## QUALITY CHECKS
Before finalizing, verify:
- The category configuration can introduce a new booking type without rewriting core screens.
- All key flows work with only mock services: search → details → availability → checkout → confirmation → dashboard.
- Components are accessible (keyboard usable, visible focus, meaningful labels, reduced motion support).
- TypeScript is strict-friendly (no “any” escapes without justification).
- Mobile layouts remain fully usable (no overflow traps, tappable controls, stable step navigation).            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nCreate a production-ready **universal booking web app** that supports many reservable products\/services via a **JSON-driven category configuration**. The system must avoid \u201cone-size-fits-none\u201d UX by adapting screens, fields, and flow to each booking context while keeping a consistent, premium design language and robust underlying architecture.\r\n\r\n## PERSONA\r\nYou are a veteran full\u2011stack product engineer who has shipped high-scale reservation and checkout systems for global travel\/marketplace platforms. You specialize in availability modeling, pricing presentation, conversion-focused UX, and maintainable React\/TypeScript architecture. Your writing is crisp, implementation-first, and pragmatic.\r\n\r\n## CONSTRAINTS\r\n### Delivery standards\r\n- Build with **React 18+ + TypeScript** (unless overridden).\r\n- Use **Tailwind CSS** and **Framer Motion** for refined motion and UI polish.\r\n- UI should feel modern and trustworthy across low and high price points (from small appointments to premium packages).\r\n- Include real-time-ish availability behavior (simulated with mock services) with immediate visual feedback.\r\n- Provide multi-step checkout with: progress indicator, validation, error states, and confirmation.\r\n- Must be responsive and accessible (keyboard nav, focus states, ARIA where needed, contrast-aware design).\r\n- Include realistic mock data, edge cases, and testing scenarios.\r\n- Code must be maintainable: clear TypeScript types, component boundaries, hooks, and utilities.\r\n\r\n### Scope boundaries \u2014 What This Is NOT\r\n- Not a real payment processor integration (use a convincing mock UI + mocked API).\r\n- Not a full production backend or infrastructure-as-code.\r\n- Not a pixel-perfect clone of any specific product; only \u201cinspired-by\u201d styling.\r\n- Not limited to a single vertical (must remain category-configurable).\r\n\r\n## PROCESS\r\n1. **Pre-analysis (must print first):** Restate your understanding of the requested booking categories, styling constraints, and any stack changes from the inputs. List assumptions and any missing info you\u2019ll default.\r\n2. Design the **category configuration model** (JSON schema + TS types) to drive:\r\n   - Search fields, filters, result cards, details page sections\r\n   - Availability strategy, pricing display rules, checkout steps & form fields\r\n   - Validation rules and confirmation messaging\r\n3. Define the UI foundation: tokens, layout primitives, motion patterns, accessibility conventions.\r\n4. Implement the app in feature slices:\r\n   - Discovery\/search \u2192 results \u2192 product details\r\n   - Availability selection\r\n   - Checkout wizard (steps configurable per category)\r\n   - Confirmation\r\n   - User dashboard (manage bookings, profile basics)\r\n5. Add mock services simulating:\r\n   - Search, availability checks, dynamic pricing changes, booking creation, auth\/session\r\n6. Add testing and scenarios:\r\n   - Empty states, sold-out, price change mid-checkout, invalid inputs, slow network simulation\r\n7. Provide setup docs and customization guidance for adding a new booking category through config.\r\n\r\n### Edge case handling\r\n- If any input is ambiguous or missing, choose sensible defaults and clearly label them as assumptions.\r\n- If multiple booking categories conflict (e.g., \u201cflights\u201d vs \u201cappointments\u201d), show how the configuration cleanly separates their flows without forking the codebase.\r\n- If performance goals are strict, prioritize: code-splitting, memoization, virtualization for long lists, reduced motion support, and accessible skeleton loading.\r\n\r\n## INPUTS\r\n- **Booking categories to support:** [TARGET_AUDIENCE]  \r\n- **Visual\/brand preferences:** [BRAND_VOICE]  \r\n- **Tech stack changes:** [CONTEXT]  \r\n- **Extra features\/customizations:** [FORMAT]  \r\n- **Performance\/accessibility targets:** [PRIMARY_GOAL]  \r\n\r\n> Note: If you need additional variables, add them using [UPPERCASE_WITH_UNDERSCORES] format.\r\n\r\n## OUTPUT SPECIFICATION\r\nDeliver a complete build plan and code with the following sections (use these headers exactly):\r\n\r\n### 1) Configuration System\r\nProvide:\r\n- A JSON configuration example for multiple categories\r\n- TypeScript types\/interfaces for:\r\n  - {BookingCategoryConfig}\r\n  - {SearchFieldConfig}\r\n  - {FilterConfig}\r\n  - {AvailabilityRule}\r\n  - {PricingRule}\r\n  - {CheckoutStepConfig}\r\n  - {FormFieldConfig}\r\n  - {ValidationRule}\r\n- Explanation of how to add a new category by editing config only\r\n\r\n### 2) Component Library\r\nInclude reusable UI building blocks (TSX + Tailwind + Framer Motion):\r\n- {Button}, {Input}, {Select}, {DatePickerLike}, {Stepper}, {Card}, {Modal}, {Toast}\r\n- {Skeleton}, {EmptyState}, {ErrorState}\r\n- Motion guidelines and reduced-motion handling\r\n\r\n### 3) Search & Discovery\r\nImplement:\r\n- Landing\/discovery page(s)\r\n- Config-driven search form generator\r\n- Filters + sorting UI\r\n- Results list\/grid and result card variants driven by category config\r\n\r\n### 4) Booking Flow\r\nImplement:\r\n- Config-driven multi-step checkout wizard\r\n- Step validation + inline errors\r\n- Availability selection UI (calendar\/time slots\/quantity\/etc. based on config)\r\n- Pricing breakdown (\u201cworth breakdown\u201d) UI with dynamic updates\r\n- Payment mock screen + booking confirmation screen\r\n\r\n### 5) User Dashboard\r\nImplement:\r\n- Upcoming\/past bookings\r\n- Booking details view\r\n- Cancel\/reschedule flows (mocked)\r\n- Lightweight account\/profile settings\r\n\r\n### 6) File Structure\r\nProvide a full project tree with brief notes:\r\n- Feature folders, shared UI, hooks, services, config, types, utils, test fixtures\r\n\r\n### 7) Mock Data\r\nProvide:\r\n- Category-specific fixtures\r\n- Edge case fixtures (sold out, overlapping inventory, last seat, price surge, min-stay rules, etc.)\r\n- Seed helper utilities\r\n\r\n### 8) Best Practices\r\nList and implement:\r\n- Performance techniques (memoization, code splitting, virtualization where relevant)\r\n- Accessibility checklist (focus management, ARIA, keyboard flows)\r\n- Error handling patterns (API failures, retries, toasts)\r\n- Type safety conventions\r\n\r\n### 9) Setup Instructions\r\nProvide:\r\n- Install\/run steps\r\n- Environment notes (mock API toggles)\r\n- How to add a new booking category\r\n- Development workflow suggestions\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify:\r\n- The category configuration can introduce a new booking type without rewriting core screens.\r\n- All key flows work with only mock services: search \u2192 details \u2192 availability \u2192 checkout \u2192 confirmation \u2192 dashboard.\r\n- Components are accessible (keyboard usable, visible focus, meaningful labels, reduced motion support).\r\n- TypeScript is strict-friendly (no \u201cany\u201d escapes without justification).\r\n- Mobile layouts remain fully usable (no overflow traps, tappable controls, stable step navigation).";
    const variables = ["[TARGET_AUDIENCE]","[BRAND_VOICE]","[CONTEXT]","[FORMAT]","[PRIMARY_GOAL]","[UPPERCASE_WITH_UNDERSCORES]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Start by listing 3 booking categories you truly need.</strong> Don’t keep it abstract. Tell the model “Haircut appointment (30/60/90 min), kayak rental (2/4/8 hours with deposit), and guided tour package (fixed times with add-ons)” so the JSON config is forced to flex in meaningful ways.</li>


<li><strong>Ask for the config schema first, then the UI.</strong> A good follow-up is: “Before writing components, propose the JSON schema for category config (fields, steps, pricing display rules, and availability model) and show two example configs.” This prevents a pretty UI that can’t actually adapt later.</li>


<li><strong>Push hard on edge cases.</strong> Booking breaks in the weird moments, not the happy path. After the first pass, prompt: “Add scenarios for sold-out dates, partial availability, invalid promo code, time-zone mismatch, and a price change warning right before confirmation.”</li>


<li><strong>Iterate on pricing presentation, not just calculations.</strong> Conversion often depends on how you frame price. Ask: “Show price as per-person vs per-group when appropriate, include fees and taxes as expandable line items, and add a ‘What’s included’ section driven by config.”</li>


<li><strong>Make it maintainable with a ‘red lines’ request.</strong> Honestly, many generated apps look fine but rot fast. Add: “Enforce strict TypeScript types, avoid prop drilling where possible, document file structure, and include a small testing plan (unit + integration scenarios) tied to booking edge cases.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>If you’re building a booking app for paid services, these prompts can also help you shape the financial “why” around pricing, payment expectations, and customer readiness.</p>



<p>If you also need a structured way to talk about affordability with customers (or even to pressure-test your own offers), the prompt <a href="https://flowpast.com/prompts/build-a-credit-rebuilding-plan-with-this-ai-prompt/">Build a Credit Rebuilding Plan with this AI Prompt</a> is useful for crafting step-by-step plans and milestones. For businesses selling bookable packages, it can inspire how you present “next steps” and progress indicators inside your post-booking dashboard.</p>



<p>When your booking flow includes deposits, installments, or “pay later” messaging, <a href="https://flowpast.com/prompts/build-a-debt-payoff-roadmap-with-this-ai-prompt/">Build a Debt Payoff Roadmap with this AI Prompt</a> helps you model timelines and tradeoffs clearly. That same clarity translates well into checkout UX, where uncertainty around total cost and schedule is a silent conversion killer.</p>



<p>For teams doing premium bookings (high-ticket services, corporate packages, or recurring reservations), <a href="https://flowpast.com/prompts/build-a-business-credit-improvement-plan-ai-prompt/">Build a Business Credit Improvement Plan AI Prompt</a> can help you understand the language buyers use when they evaluate financial readiness. It pairs well when you want your confirmation and dashboard messaging to feel confident, not flimsy, especially for B2B bookings.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-a-credit-rebuilding-plan-with-this-ai-prompt/">Build a Credit Rebuilding Plan with this AI Prompt</a>: Step-by-step milestones and progress structure.</li>


<li><a href="https://flowpast.com/prompts/build-a-debt-payoff-roadmap-with-this-ai-prompt/">Build a Debt Payoff Roadmap with this AI Prompt</a>: Timeline planning and tradeoff clarity.</li>


<li><a href="https://flowpast.com/prompts/build-a-personalized-debt-payoff-program-ai-prompt/">Build a Personalized Debt Payoff Program AI Prompt</a>: Personalization logic for plans and scenarios.</li>


<li><a href="https://flowpast.com/prompts/build-a-business-credit-improvement-plan-ai-prompt/">Build a Business Credit Improvement Plan AI Prompt</a>: B2B-ready messaging and improvement frameworks.</li>


<li><a href="https://flowpast.com/prompts/build-a-debt-payoff-roadmap-with-this-ai-prompt/">Build a Debt Payoff Roadmap with this AI Prompt</a>: Alternative angle for cost scheduling UX.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Common Questions</h2>


<div class="faq-item">
<span class="question">Which roles benefit most from this universal booking web app AI prompt?</span>

<p class="answer"><strong>Founders and product managers</strong> use this to ship a credible booking flow without getting trapped in a single-vertical design that breaks on the second category. <strong>Front-end engineers</strong> benefit from the React 18 + TypeScript structure, especially the typed config approach that keeps UI changes predictable. <strong>UX designers</strong> can use the prompt output as a working reference for multi-step checkout, error handling, and premium visual patterns. <strong>Implementation consultants</strong> often apply it to create a demo that feels real enough to sell a client on the full build.</p>

</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this universal booking web app AI prompt?</span>

<p class="answer"><strong>Local services</strong> (salons, clinics, repair services) get value because different appointment types require different intake fields, durations, and validation rules. <strong>Travel and experiences</strong> teams can use it for date/time selection, party-size pricing, add-ons, and sold-out handling that customers expect. <strong>Rentals</strong> (equipment, vehicles, spaces) benefit from availability modeling and pricing presentation that shifts by hours, days, deposits, and policies. <strong>B2B services</strong> can adapt the configuration for requests that look like bookings but behave like scheduled consultations with qualification steps.</p>

</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for building a booking web app produce weak results?</span>

<p class="answer">A typical prompt like &#8220;<em>Build me a booking app in React</em>&#8221; fails because it: lacks a category configuration model, so everything becomes hardcoded to one flow; provides no checkout structure with progress, validation, and error states; ignores availability edge cases like partial inventory and last-minute changes; produces generic UI instead of a consistent Tailwind + motion design system; and misses accessibility details (keyboard navigation, focus states, ARIA) that matter in real checkout funnels.</p>

</div>

<div class="faq-item">
<span class="question">Can I customize this universal booking web app prompt for my specific situation?</span>

<p class="answer">Yes, but do it by changing the booking categories and the JSON configuration expectations, not by vaguely asking for “different screens.” Specify the category types you sell, the pricing model (per-person, per-unit, per-duration, tiered packages), and the availability rules you need to simulate. Then ask the model to reflect those rules directly in types, schema, and mock services. A useful follow-up is: “Use my categories to generate the config schema, then produce three example configs and the components that render them end-to-end.”</p>

</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this universal booking web app prompt?</span>

<p class="answer">The biggest mistake is leaving booking categories too vague — instead of “appointments and rentals,” use “60/90-minute consultations with intake questions” and “2/4/8-hour rentals with damage deposit.” Another common error is skipping pricing rules; “show price” is weak, while “per-person with minimum 2 guests, plus a configurable service fee line item” produces a usable checkout. People also forget availability behavior, which leads to unrealistic flows; ask for sold-out dates, race-condition-like updates (simulated), and clear error states. Finally, teams often omit accessibility requirements, so you should explicitly request focus management, ARIA labels for stepper and errors, and contrast-aware Tailwind tokens.</p>

</div>

<div class="faq-item">
<span class="question">Who should NOT use this universal booking web app prompt?</span>

<p class="answer">This prompt isn’t ideal for teams that need a real payment processor integration right now, because the payment experience is intentionally mocked. It’s also a poor fit if you’re looking for a full backend, infrastructure-as-code, or production deployment plan, since the scope centers on the front-end app architecture and simulated services. If you only need a single, simple booking form and you won’t add categories later, a lightweight template may be faster.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this universal booking web app AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Founders and product managers use this to ship a credible booking flow without getting trapped in a single-vertical design that breaks on the second category. Front-end engineers benefit from the React 18 + TypeScript structure, especially the typed config approach that keeps UI changes predictable. UX designers can use the prompt output as a working reference for multi-step checkout, error handling, and premium visual patterns. Implementation consultants often apply it to create a demo that feels real enough to sell a client on the full build."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this universal booking web app AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Local services (salons, clinics, repair services) get value because different appointment types require different intake fields, durations, and validation rules. Travel and experiences teams can use it for date/time selection, party-size pricing, add-ons, and sold-out handling that customers expect. Rentals (equipment, vehicles, spaces) benefit from availability modeling and pricing presentation that shifts by hours, days, deposits, and policies. B2B services can adapt the configuration for requests that look like bookings but behave like scheduled consultations with qualification steps."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for building a booking web app produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like \"Build me a booking app in React\" fails because it: lacks a category configuration model, so everything becomes hardcoded to one flow; provides no checkout structure with progress, validation, and error states; ignores availability edge cases like partial inventory and last-minute changes; produces generic UI instead of a consistent Tailwind + motion design system; and misses accessibility details (keyboard navigation, focus states, ARIA) that matter in real checkout funnels."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this universal booking web app prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, but do it by changing the booking categories and the JSON configuration expectations, not by vaguely asking for “different screens.” Specify the category types you sell, the pricing model (per-person, per-unit, per-duration, tiered packages), and the availability rules you need to simulate. Then ask the model to reflect those rules directly in types, schema, and mock services. A useful follow-up is: “Use my categories to generate the config schema, then produce three example configs and the components that render them end-to-end.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this universal booking web app prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving booking categories too vague — instead of “appointments and rentals,” use “60/90-minute consultations with intake questions” and “2/4/8-hour rentals with damage deposit.” Another common error is skipping pricing rules; “show price” is weak, while “per-person with minimum 2 guests, plus a configurable service fee line item” produces a usable checkout. People also forget availability behavior, which leads to unrealistic flows; ask for sold-out dates, race-condition-like updates (simulated), and clear error states. Finally, teams often omit accessibility requirements, so you should explicitly request focus management, ARIA labels for stepper and errors, and contrast-aware Tailwind tokens."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this universal booking web app prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for teams that need a real payment processor integration right now, because the payment experience is intentionally mocked. It’s also a poor fit if you’re looking for a full backend, infrastructure-as-code, or production deployment plan, since the scope centers on the front-end app architecture and simulated services. If you only need a single, simple booking form and you won’t add categories later, a lightweight template may be faster."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Booking UX is a trust test, and generic flows fail it fast. Paste the prompt into your AI tool, generate the configurable app foundation, then refine the category configs until the experience fits what you actually sell.</p>

</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5001403.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build Website Navigation Hierarchy with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-website-navigation-hierarchy-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 02:07:01 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5002844</guid>

					<description><![CDATA[Menus confuse visitors - the ultimate AI Prompt that builds a staged navigation blueprint with Gestalt grouping, labels, and testing plan. Thousands of ready-to-use AI prompts for all models.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: website navigation hierarchy -->

<div class="hook-introduction">

<p>Your menu makes sense to you. But visitors don’t share your mental map, and they’re not going to hunt for what they need. When navigation is unclear, people bounce, support tickets climb, and your best pages stay invisible.</p>



<p>This <strong>website navigation hierarchy</strong> is built for <strong>marketing leads</strong> rebuilding a site after adding new offers, <strong>UX teams</strong> who need a defensible IA direction before design, and <strong>consultants</strong> trying to untangle “everything is important” stakeholder requests. The output is a staged navigation blueprint: a recommended page order, grouped menu labels (using Gestalt proximity), depth limits, and a practical testing plan tied to behavior signals like clicks and scroll.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It runs a pre-analysis that restates the site’s users, goals, and success criteria, then flags what’s missing or unclear.</li>
          <li>It infers user mental models and top tasks, so navigation supports predictable journeys instead of internal org charts.</li>
          <li>It maps relationships between content areas (semantic similarity, task sequences, shared intent) before choosing parent/child structure.</li>
          <li>It applies Gestalt Law of Proximity to cluster items and reduce “guessing,” while keeping primary navigation concise (usually 5–8 items).</li>
          <li>It chooses a multi-phase workflow (3–8 phases) based on site complexity, and asks targeted follow-up questions when inputs are vague.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You’re redesigning or migrating a website and need the information architecture locked before visual UI decisions start.</li>
          <li>Your menu has grown into a junk drawer (12+ items, inconsistent labels, deep submenus) and users keep missing key pages.</li>
          <li>Stakeholders disagree on where pages “should” live, and you need a neutral, user-task-based structure to break the deadlock.</li>
          <li>Analytics shows erratic paths (high pogo-sticking, low click-through on nav items), suggesting the current hierarchy fights expectations.</li>
          <li>You’re scaling content or offers and want a navigation system that can expand without constantly adding new top-level tabs.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A phased IA workflow (3–8 phases) tailored to your site complexity, with clear checkpoints for review.</li>
           <li>A recommended primary navigation set (typically 5–8 items) plus secondary and utility navigation guidance.</li>
           <li>A hierarchy blueprint showing parent/child relationships, proposed menu depth, and “why this belongs here” notes.</li>
           <li>A set of label recommendations with rationale tied to user intent, plain-language clarity, and reduced cognitive load.</li>
           <li>A lightweight validation plan outlining what to test (click maps, scroll behavior, task completion paths) and what “good” looks like.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Multi-Phase Website Navigation &amp; IA Blueprint</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Specify the type of website being designed, such as its purpose or category.                                    <div class="var-example">For example: "E-commerce site for handmade jewelry, portfolio site for a graphic designer, or a SaaS product website."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_GOAL]</code></td>
                                <td class="var-desc">
                                    Describe the main objective or outcome the website should achieve.                                    <div class="var-example">For example: "Increase online sales by 20%, generate leads for consulting services, or improve sign-up rates for a subscription product."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_GOAL]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Define the main group of users the website serves, including their demographics, needs, and behaviors.                                    <div class="var-example">For example: "Young professionals aged 25-35 looking for affordable fitness programs; small business owners seeking accounting software; parents shopping for educational toys."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Provide the industry or domain the website operates in, if applicable.                                    <div class="var-example">For example: "Healthcare, education, retail, technology, or non-profit organizations."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    List the existing or intended sections or categories of the website to inform its structure.                                    <div class="var-example">For example: "Home, About Us, Services, Blog, Contact, FAQ, Testimonials, Pricing."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CHALLENGE]</code></td>
                                <td class="var-desc">
                                    Describe key user actions or paths that are essential for business success.                                    <div class="var-example">For example: "Users need to easily book an appointment, purchase a product, or sign up for a newsletter."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CHALLENGE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TONE]</code></td>
                                <td class="var-desc">
                                    Specify the style or tone for navigation labels, if applicable.                                    <div class="var-example">For example: "Professional and concise, playful and engaging, or formal and authoritative."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TONE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Mention any specific requirements or limitations that must be considered for the navigation structure.                                    <div class="var-example">For example: "Include an investor relations page; legal links must be in the footer; support for multiple brands is required."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Phase {Phase Number}: {Phase Name}</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Required deliverables (must appear somewhere in the phases)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Interaction prompts (include at the end)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE  
Create an adaptive, multi-phase workflow that designs a website’s ideal page/navigation order and hierarchy using information architecture best practices and Gestalt Law of Proximity. The result should make content locations feel obvious, reduce cognitive load, and support predictable user paths.

## PERSONA  
Act as a veteran Information Architect who previously engineered physical wayfinding for large transportation hubs and now translates those spatial principles into digital navigation. You blend behavioral psychology, Gestalt grouping, and evidence from interaction signals (e.g., click/scroll behavior and heat maps). Your style is crisp, diagnostic, and user-journey obsessed—focused on clarity over cleverness.

## CONSTRAINTS  
- Dynamically choose the number of phases based on site complexity (minimum 3, maximum 8).  
- Keep primary navigation concise (generally 5–8 items unless the use case strongly justifies otherwise).  
- Apply grouping by proximity/relatedness; avoid categories that force users to “guess.”  
- Manage cognitive load (use chunking; don’t exceed reasonable menu depth without justification).  
- **Edge-case handling:** if key inputs are missing or vague, ask targeted follow-up questions before generating a final structure.  
- **What This Is NOT:**  
  - Not a visual design, UI mockup, or pixel-level menu layout.  
  - Not SEO keyword research or a content writing service.  
  - Not a full product strategy—navigation will support goals, not redefine them.

## PROCESS  
1. **Pre-analysis (required):** Briefly restate your understanding of the site, users, and success criteria using the provided inputs. Flag unknowns.  
2. **Navigation discovery:** Infer user mental models, top tasks, and business-critical flows.  
3. **Relationship mapping:** Identify which content areas belong together (semantic similarity, task sequences, shared user intent).  
4. **Proximity grouping:** Form clusters and parent/child structures that “travel together” cognitively.  
5. **Flow optimization:** Order items to match common entry points, decision moments, and completion paths.  
6. **Label refinement:** Produce scannable labels with consistent grammar and mobile-friendly length.  
7. **Validation &amp; test plan:** Check for overload, ambiguity, and dead ends; propose lightweight testing (tree test, first-click, heat-map checks).  
8. **Iteration loop:** Offer a “revise” path that changes only what’s necessary (labels, grouping, depth, or ordering).

## INPUTS  
- **Website type:** [FORMAT]  
- **Website goals / desired outcome:** [PRIMARY_GOAL]  
- **Primary user segment:** [TARGET_AUDIENCE]  
- **Industry / domain (optional):** [INDUSTRY]  
- **Current or planned sections/categories:** [CONTEXT]  
- **Business-critical user flows (e.g., buy, book, sign up):** [CHALLENGE]  
- **Preferred tone for labels (optional):** [TONE]  
- **Any constraints (e.g., must include investor page, legal links, multi-brand):** [TIMEFRAME]  

## OUTPUT SPECIFICATION  
Produce an adaptive phase-based deliverable. Use as many phases as needed (3–8). Include:

### Phase {Phase Number}: {Phase Name}  
- {What You Inferred} (user intent + business intent)  
- {Key Assumptions} (and {Open Questions} if needed)  
- {Decisions Made} (groupings, ordering logic, depth)  
- {Deliverable}

### Required deliverables (must appear somewhere in the phases)  
- **{Preliminary Group Map}:** clustered categories with a short rationale per cluster  
- **{Navigation Blueprint}:**  
  - {Primary Navigation} (ordered list)  
  - {Secondary Navigation} (where it appears and what it contains)  
  - {Utility Navigation} (e.g., account, cart, search, help)  
  - {Footer Navigation} (expanded sitemap-style grouping)  
- **{Label Set}:** final recommended labels + 1 alternative label option for any ambiguous item  
- **{User Path Notes}:** common routes from entry to completion for {Critical Flows}  
- **{Validation Plan}:** 4–8 test/measurement recommendations tailored to the site  

### Interaction prompts (include at the end)  
Offer the user clear next steps such as:  
- “Reply with edits to {Out-of-Place Items} or confirm {Group Map} to continue.”  
- “Say ‘refine labels’ or ‘rework grouping’ or ‘optimize for mobile menu’.”

## QUALITY CHECKS  
At the end, include a brief verification list confirming:  
- Navigation items are chunked to avoid overload and excessive depth.  
- Groupings reflect user tasks (not internal org charts).  
- Primary nav ordering supports top journeys and business-critical flows.  
- Labels are consistent, scannable, and predictable.  
- Any missing/uncertain inputs were addressed via {Open Questions} or stated assumptions.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE  \r\nCreate an adaptive, multi-phase workflow that designs a website\u2019s ideal page\/navigation order and hierarchy using information architecture best practices and Gestalt Law of Proximity. The result should make content locations feel obvious, reduce cognitive load, and support predictable user paths.\r\n\r\n## PERSONA  \r\nAct as a veteran Information Architect who previously engineered physical wayfinding for large transportation hubs and now translates those spatial principles into digital navigation. You blend behavioral psychology, Gestalt grouping, and evidence from interaction signals (e.g., click\/scroll behavior and heat maps). Your style is crisp, diagnostic, and user-journey obsessed\u2014focused on clarity over cleverness.\r\n\r\n## CONSTRAINTS  \r\n- Dynamically choose the number of phases based on site complexity (minimum 3, maximum 8).  \r\n- Keep primary navigation concise (generally 5\u20138 items unless the use case strongly justifies otherwise).  \r\n- Apply grouping by proximity\/relatedness; avoid categories that force users to \u201cguess.\u201d  \r\n- Manage cognitive load (use chunking; don\u2019t exceed reasonable menu depth without justification).  \r\n- **Edge-case handling:** if key inputs are missing or vague, ask targeted follow-up questions before generating a final structure.  \r\n- **What This Is NOT:**  \r\n  - Not a visual design, UI mockup, or pixel-level menu layout.  \r\n  - Not SEO keyword research or a content writing service.  \r\n  - Not a full product strategy\u2014navigation will support goals, not redefine them.\r\n\r\n## PROCESS  \r\n1. **Pre-analysis (required):** Briefly restate your understanding of the site, users, and success criteria using the provided inputs. Flag unknowns.  \r\n2. **Navigation discovery:** Infer user mental models, top tasks, and business-critical flows.  \r\n3. **Relationship mapping:** Identify which content areas belong together (semantic similarity, task sequences, shared user intent).  \r\n4. **Proximity grouping:** Form clusters and parent\/child structures that \u201ctravel together\u201d cognitively.  \r\n5. **Flow optimization:** Order items to match common entry points, decision moments, and completion paths.  \r\n6. **Label refinement:** Produce scannable labels with consistent grammar and mobile-friendly length.  \r\n7. **Validation & test plan:** Check for overload, ambiguity, and dead ends; propose lightweight testing (tree test, first-click, heat-map checks).  \r\n8. **Iteration loop:** Offer a \u201crevise\u201d path that changes only what\u2019s necessary (labels, grouping, depth, or ordering).\r\n\r\n## INPUTS  \r\n- **Website type:** [FORMAT]  \r\n- **Website goals \/ desired outcome:** [PRIMARY_GOAL]  \r\n- **Primary user segment:** [TARGET_AUDIENCE]  \r\n- **Industry \/ domain (optional):** [INDUSTRY]  \r\n- **Current or planned sections\/categories:** [CONTEXT]  \r\n- **Business-critical user flows (e.g., buy, book, sign up):** [CHALLENGE]  \r\n- **Preferred tone for labels (optional):** [TONE]  \r\n- **Any constraints (e.g., must include investor page, legal links, multi-brand):** [TIMEFRAME]  \r\n\r\n## OUTPUT SPECIFICATION  \r\nProduce an adaptive phase-based deliverable. Use as many phases as needed (3\u20138). Include:\r\n\r\n### Phase {Phase Number}: {Phase Name}  \r\n- {What You Inferred} (user intent + business intent)  \r\n- {Key Assumptions} (and {Open Questions} if needed)  \r\n- {Decisions Made} (groupings, ordering logic, depth)  \r\n- {Deliverable}\r\n\r\n### Required deliverables (must appear somewhere in the phases)  \r\n- **{Preliminary Group Map}:** clustered categories with a short rationale per cluster  \r\n- **{Navigation Blueprint}:**  \r\n  - {Primary Navigation} (ordered list)  \r\n  - {Secondary Navigation} (where it appears and what it contains)  \r\n  - {Utility Navigation} (e.g., account, cart, search, help)  \r\n  - {Footer Navigation} (expanded sitemap-style grouping)  \r\n- **{Label Set}:** final recommended labels + 1 alternative label option for any ambiguous item  \r\n- **{User Path Notes}:** common routes from entry to completion for {Critical Flows}  \r\n- **{Validation Plan}:** 4\u20138 test\/measurement recommendations tailored to the site  \r\n\r\n### Interaction prompts (include at the end)  \r\nOffer the user clear next steps such as:  \r\n- \u201cReply with edits to {Out-of-Place Items} or confirm {Group Map} to continue.\u201d  \r\n- \u201cSay \u2018refine labels\u2019 or \u2018rework grouping\u2019 or \u2018optimize for mobile menu\u2019.\u201d\r\n\r\n## QUALITY CHECKS  \r\nAt the end, include a brief verification list confirming:  \r\n- Navigation items are chunked to avoid overload and excessive depth.  \r\n- Groupings reflect user tasks (not internal org charts).  \r\n- Primary nav ordering supports top journeys and business-critical flows.  \r\n- Labels are consistent, scannable, and predictable.  \r\n- Any missing\/uncertain inputs were addressed via {Open Questions} or stated assumptions.";
    const variables = ["[FORMAT]","[PRIMARY_GOAL]","[TARGET_AUDIENCE]","[INDUSTRY]","[CONTEXT]","[CHALLENGE]","[TONE]","[TIMEFRAME]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Give it real “top tasks,” not slogans.</strong> Instead of “learn more” or “explore,” list what people come to do in verb form: “Compare plans,” “Book a demo,” “Check compatibility,” “Download specs.” If you’re unsure, paste 10 common support questions and ask the model to infer top tasks from them.</li>


<li><strong>Provide your current sitemap and pain points together.</strong> Copy/paste your existing nav and footer links, then add 3–5 complaints from users or stakeholders. Follow-up prompt: “Here’s our current menu. Identify which items are unclear labels, which are duplicates, and which likely belong in utility vs primary navigation.”</li>


<li><strong>Force a depth budget.</strong> Cognitive load spikes when users have to drill down forever. Ask: “Constrain the hierarchy to max 2 levels under primary nav (except Resources). If something needs more, justify it and propose an alternative like a hub page.”</li>


<li><strong>Iterate using contrast.</strong> After the first output, try asking: “Now create two variants: one conservative for mainstream users and one bolder for power users. Keep primary nav to 6 items in both, and explain tradeoffs.” This usually surfaces hidden assumptions fast.</li>


<li><strong>Attach a testing loop to the structure.</strong> Don’t stop at “looks good.” Ask for a mini plan: “List 5 navigation hypotheses and how we’d validate each with click maps, scroll depth, and a 10-minute task test.” Frankly, that step is what turns a neat menu into a defensible decision.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your navigation hierarchy is clear, the next challenge is driving the right traffic and keeping your content execution consistent.</p>



<p>If you also need a channel-by-channel plan to support your new site structure, <a href="https://flowpast.com/prompts/build-a-social-media-marketing-plan-with-this-ai-prompt/">Build a Social Media Marketing Plan with this AI Prompt</a> helps you map campaigns to business goals and user journeys. It pairs well when you’ve just clarified where key pages live and want social to send visitors to the right hubs, not random URLs.</p>



<p>When engagement is the bottleneck (people land, skim, and vanish), <a href="https://flowpast.com/prompts/build-a-social-media-engagement-plan-with-this-ai-prompt/">Build a Social Media Engagement Plan with this AI Prompt</a> gives you interaction ideas and a response system that matches your audience’s intent. That’s useful right after an IA refresh, because you can align conversation starters to the same categories and language you used in navigation labels.</p>



<p>For teams doing content-led acquisition, <a href="https://flowpast.com/prompts/build-a-social-media-seo-plan-with-this-ai-prompt/">Build a Social Media SEO Plan with this AI Prompt</a> helps you improve discoverability inside social platforms. Use it when your site hierarchy is fixed and you want your social naming, topics, and metadata-style cues to mirror the same user mental models you designed your menu around.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-a-social-media-marketing-plan-with-this-ai-prompt/">Build a Social Media Marketing Plan with this AI Prompt</a>: Align campaigns to site hubs.</li>


<li><a href="https://flowpast.com/prompts/build-a-social-media-engagement-plan-with-this-ai-prompt/">Build a Social Media Engagement Plan with this AI Prompt</a>: Increase comments, saves, and replies.</li>


<li><a href="https://flowpast.com/prompts/build-a-social-media-seo-plan-with-this-ai-prompt/">Build a Social Media SEO Plan with this AI Prompt</a>: Improve social search visibility.</li>


<li><a href="https://flowpast.com/prompts/build-a-social-media-content-calendar-with-this-ai-prompt/">Build a Social Media Content Calendar with this AI Prompt</a>: Turn strategy into weekly posts.</li>


<li><a href="https://flowpast.com/prompts/build-a-social-media-strategy-plan-ai-prompt/">Build a Social Media Strategy Plan AI Prompt</a>: Set positioning and content pillars.</li>

</ul>

</div>

<div class="faq-section">

<h2 class="wp-block-heading">Common Questions</h2>


<div class="faq-item">
<span class="question">Which roles benefit most from this website navigation hierarchy AI prompt?</span>

<p class="answer"><strong>UX Designers</strong> use this to turn messy page inventories into a hierarchy they can prototype without endless opinion battles. <strong>Marketing Managers</strong> lean on it when new campaigns, offers, and landing pages have outgrown the old menu and conversions start leaking. <strong>Product Managers</strong> apply it to align in-app or documentation navigation with real user tasks and priority flows. <strong>Web Consultants</strong> rely on it to ask the right clarifying questions, then present a structured recommendation clients can actually approve.</p>

</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this website navigation hierarchy AI prompt?</span>

<p class="answer"><strong>SaaS companies</strong> get value when features, use cases, integrations, and pricing all compete for top-level placement; this prompt helps group by user intent and keeps the primary nav from ballooning. <strong>E-commerce brands</strong> use it to separate shopping paths (categories, collections, best sellers) from support tasks (returns, shipping, order tracking) so customers don’t get stuck in the wrong menu. <strong>Professional services firms</strong> benefit when services sprawl into dozens of near-duplicate pages; the prompt helps consolidate into clear clusters and improve “book a call” paths. <strong>Education and training providers</strong> use it to distinguish programs, outcomes, admissions/enrollment steps, and resources without burying the next action.</p>

</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for building a website navigation hierarchy produce weak results?</span>

<p class="answer">A typical prompt like &#8220;<em>Write me a navigation menu for my website</em>&#8221; fails because it: lacks your users’ top tasks and success criteria, provides no framework for relationship mapping or proximity-based grouping, ignores cognitive load limits (so you get bloated menus or deep nesting), produces generic labels that sound nice but don’t match intent, and misses a validation plan tied to interaction signals like click behavior and scroll depth. This prompt is stronger because it behaves like an Information Architect: it diagnoses unknowns, chooses an appropriate multi-phase workflow, and justifies structure decisions based on how people actually find things.</p>

</div>

<div class="faq-item">
<span class="question">Can I customize this website navigation hierarchy prompt for my specific situation?</span>

<p class="answer">Yes. Even though the template has no fixed form fields, you can customize it by providing (1) your page inventory or sitemap, (2) primary user groups, (3) top tasks, and (4) business-critical flows like “request a quote” or “start trial.” If you have constraints, add them explicitly, such as “Primary nav must be 6 items max” or “We must keep Solutions and Pricing in top level.” Helpful follow-up prompt: “Ask me only the minimum questions needed to finalize the hierarchy, then produce two label sets: plain-language and brand-voice, with pros/cons.”</p>

</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this website navigation hierarchy prompt?</span>

<p class="answer">The biggest mistake is leaving the page inventory too vague — instead of “we have some services pages,” provide a list like “Service A, Service B, Service C, Industries, Case Studies, About, Careers, Blog, Contact, Support.” Another common error is not stating top tasks; “users want information” is weak, while “compare plans, see integrations, estimate pricing, book a demo” gives the model something structural to optimize for. People also forget to call out must-win flows, so the hierarchy doesn’t protect them; name them directly (for example, “trial start,” “quote request,” “store locator”). Finally, teams ask for a menu but don’t mention known behavior signals; even a rough note like “Pricing gets clicks but low scroll depth” changes the recommendations.</p>

</div>

<div class="faq-item">
<span class="question">Who should NOT use this website navigation hierarchy prompt?</span>

<p class="answer">This prompt isn’t ideal for one-page sites or short-term microsites where navigation is intentionally minimal and you won’t iterate. It’s also a poor fit if you’re still deciding what your core offers are, because it won’t invent strategy or fix an unvalidated product lineup. And if you only want a quick menu template without doing any discovery or testing, you may find the workflow heavier than you want. In those cases, start with a simple page list and a single conversion path, then come back once you have real content and goals.</p>

</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this website navigation hierarchy AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "UX Designers use this to turn messy page inventories into a hierarchy they can prototype without endless opinion battles. Marketing Managers lean on it when new campaigns, offers, and landing pages have outgrown the old menu and conversions start leaking. Product Managers apply it to align in-app or documentation navigation with real user tasks and priority flows. Web Consultants rely on it to ask the right clarifying questions, then present a structured recommendation clients can actually approve."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this website navigation hierarchy AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SaaS companies get value when features, use cases, integrations, and pricing all compete for top-level placement; this prompt helps group by user intent and keeps the primary nav from ballooning. E-commerce brands use it to separate shopping paths (categories, collections, best sellers) from support tasks (returns, shipping, order tracking) so customers don’t get stuck in the wrong menu. Professional services firms benefit when services sprawl into dozens of near-duplicate pages; the prompt helps consolidate into clear clusters and improve “book a call” paths. Education and training providers use it to distinguish programs, outcomes, admissions/enrollment steps, and resources without burying the next action."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for building a website navigation hierarchy produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like \"Write me a navigation menu for my website\" fails because it: lacks your users’ top tasks and success criteria, provides no framework for relationship mapping or proximity-based grouping, ignores cognitive load limits (so you get bloated menus or deep nesting), produces generic labels that sound nice but don’t match intent, and misses a validation plan tied to interaction signals like click behavior and scroll depth. This prompt is stronger because it behaves like an Information Architect: it diagnoses unknowns, chooses an appropriate multi-phase workflow, and justifies structure decisions based on how people actually find things."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this website navigation hierarchy prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Even though the template has no fixed form fields, you can customize it by providing (1) your page inventory or sitemap, (2) primary user groups, (3) top tasks, and (4) business-critical flows like “request a quote” or “start trial.” If you have constraints, add them explicitly, such as “Primary nav must be 6 items max” or “We must keep Solutions and Pricing in top level.” Helpful follow-up prompt: “Ask me only the minimum questions needed to finalize the hierarchy, then produce two label sets: plain-language and brand-voice, with pros/cons.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this website navigation hierarchy prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving the page inventory too vague — instead of “we have some services pages,” provide a list like “Service A, Service B, Service C, Industries, Case Studies, About, Careers, Blog, Contact, Support.” Another common error is not stating top tasks; “users want information” is weak, while “compare plans, see integrations, estimate pricing, book a demo” gives the model something structural to optimize for. People also forget to call out must-win flows, so the hierarchy doesn’t protect them; name them directly (for example, “trial start,” “quote request,” “store locator”). Finally, teams ask for a menu but don’t mention known behavior signals; even a rough note like “Pricing gets clicks but low scroll depth” changes the recommendations."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this website navigation hierarchy prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for one-page sites or short-term microsites where navigation is intentionally minimal and you won’t iterate. It’s also a poor fit if you’re still deciding what your core offers are, because it won’t invent strategy or fix an unvalidated product lineup. And if you only want a quick menu template without doing any discovery or testing, you may find the workflow heavier than you want. In those cases, start with a simple page list and a single conversion path, then come back once you have real content and goals."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">

<p>Navigation problems rarely look dramatic, but they quietly tax every visit. Paste this prompt into your AI tool, answer the clarifying questions, and build a hierarchy your users don’t have to think about.</p>

</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5002844.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Supply Chain Optimization Roadmap AI Prompt</title>
		<link>https://flowpast.com/prompts/supply-chain-optimization-roadmap-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:58:57 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5001706</guid>

					<description><![CDATA[Inventory chaos slowing ops - a ready-to-use AI Prompt that builds a step-by-step supply chain roadmap with actions, risks, and outcomes. Access our full AI prompt library for every model.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: supply chain roadmap -->
<div class="hook-introduction">

<p>Inventory problems rarely show up as “inventory problems.” They show up as late shipments, constant expedite fees, pick/pack chaos, and cash trapped on the shelf. You patch one fire, another starts, and you never get the breathing room to fix the system.</p>



<p>This <strong>supply chain roadmap</strong> is built for <strong>Operations Managers</strong> who need a clear plan to reduce stockouts without ballooning inventory, <strong>COOs</strong> who are tired of service levels slipping as order volume grows, and <strong>Warehouse Leaders</strong> who want fewer touches per order and less daily rework. The output is a staged, end-to-end optimization plan covering sourcing through returns, with actions, obstacles, and measurable outcomes at each step.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It restates your current supply chain setup and goals in plain language, so the plan starts from reality instead of theory.</li>
          <li>It identifies bottlenecks across the full lifecycle (sourcing, inbound, warehousing, planning, fulfillment, returns, and data) based on the constraints you describe.</li>
          <li>It builds a staged implementation roadmap that begins with quick operational wins and then moves into process and system maturity.</li>
          <li>It explains the “why” for each stage, then lists key actions, likely obstacles, and measurable results you can observe on the floor.</li>
          <li>It handles missing inputs by making reasonable assumptions and then asking 3–6 targeted questions to tighten the plan.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You are getting frequent stockouts, but you can’t justify simply buying more inventory.</li>
          <li>Order volume increased, and now picking, replenishment, and shipping feel like daily triage.</li>
          <li>Supplier reliability is inconsistent, so lead times vary and purchasing decisions are reactive.</li>
          <li>Your team is debating “big system changes,” but you need an actionable sequence that de-risks improvement.</li>
          <li>You want to scale operations while protecting cash flow and service level at the same time.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A multi-stage supply chain optimization roadmap (typically 3–6 stages) sequenced from fastest impact to deeper changes.</li>
           <li>Actions, obstacles, and outcomes listed for every stage, written so you can hand it to a team lead.</li>
           <li>A lifecycle coverage checklist spanning sourcing to continuous improvement, so nothing critical is skipped.</li>
           <li>A “missing info” section with 3–6 clarifying questions plus the assumptions the plan used.</li>
           <li>A set of measurable result signals (service level, stockout frequency, touches per order, lead time stability, cash tied in inventory) tied to each step.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Supply Chain Optimization Roadmap Builder</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Provide an overview of your existing supply chain setup, including key processes, suppliers, and logistics arrangements.                                    <div class="var-example">For example: "We operate a regional distribution model with three warehouses, source products from five overseas suppliers, and use third-party logistics for transportation."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INVENTORY_SYSTEM]</code></td>
                                <td class="var-desc">
                                    Describe the tools, software, or methods you currently use to manage inventory, including any manual processes or automation in place.                                    <div class="var-example">For example: "We use a basic spreadsheet to track stock levels and reorder points, with manual checks for discrepancies. No dedicated inventory management software is in place."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[INVENTORY_SYSTEM]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CHALLENGE]</code></td>
                                <td class="var-desc">
                                    List the key issues or obstacles affecting your supply chain and inventory management, such as delays, inefficiencies, or stockouts.                                    <div class="var-example">For example: "Frequent stockouts due to supplier delays and inaccurate demand forecasting, resulting in lost sales and customer complaints."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CHALLENGE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_GOAL]</code></td>
                                <td class="var-desc">
                                    State the main objective you want to achieve, such as reducing lead times, minimizing waste, or improving cash flow.                                    <div class="var-example">For example: "Reduce lead times from 30 days to 15 days while maintaining service levels and minimizing inventory carrying costs."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_GOAL]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Specify the industry or niche your business operates in, which can help tailor the strategy to your sector-specific needs.                                    <div class="var-example">For example: "E-commerce business specializing in home and garden products."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Provide the timeline within which you want to see improvements, such as short-term (weeks), medium-term (months), or long-term (years).                                    <div class="var-example">For example: "Achieve measurable improvements within the next 3 months."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE  
Create a practical, end-to-end strategy that improves supply chain flow and inventory control to raise day-to-day operating efficiency. The plan must be easy to execute, clearly explained, and tailored to the user’s current setup and obstacles.

## PERSONA  
You are an operations-focused supply chain and inventory optimization advisor. You communicate like a hands-on coach: plain language, business-first reasoning, and clear “why this matters” explanations.

## CONSTRAINTS  
- Use simple wording; minimize jargon and define any unavoidable terms in everyday language.  
- Cover the full lifecycle: sourcing, purchasing, inbound logistics, warehousing, inventory planning, fulfillment, returns, systems/data, and continuous improvement.  
- Each step must include: key actions, likely obstacles, and measurable/observable results.  
- Write from the ideal recipient’s perspective by tying each step to “your” goals (speed, cash flow, service level, fewer stockouts, less waste, etc.).  
- Prioritize tactics that directly improve operational efficiency.  
- **What This Is NOT:** a legal/compliance review, tax guidance, ERP vendor selection with pricing quotes, or an industry-specific regulatory audit.

## PROCESS  
1. **Pre-Analysis (required):** Briefly restate what you believe the user is trying to accomplish and summarize the current situation using the provided inputs.  
2. Identify the biggest constraints and bottlenecks implied by the inputs (capacity, variability, supplier reliability, forecasting accuracy, warehouse process, etc.).  
3. Build a staged implementation roadmap that starts with quick operational wins and moves toward system/process maturity.  
4. For each stage, explain the “why,” then list actions, challenges, and outcomes.  
5. Add edge-case handling: if key inputs are missing or unclear, make reasonable assumptions **and** list 3–6 targeted questions the user should answer to refine the plan.

## INPUTS  
- **Current supply chain structure:** [CONTEXT]  
- **Current inventory management approach/system:** [INVENTORY_SYSTEM]  
- **Main operational challenges:** [CHALLENGE]  
- **Primary goal (optional, e.g., reduce stockouts, cut lead time, free cash):** [PRIMARY_GOAL]  
- **Industry/niche (optional):** [INDUSTRY]  
- **Time horizon for improvements (optional):** [TIMEFRAME]  

## OUTPUT SPECIFICATION  
Deliver a **Step-by-Step Plan** where:  
- Each step begins with a numbered emoji marker (e.g., 1️⃣, 2️⃣, 3️⃣…).  
- Steps are written as structured paragraphs plus bullets.  
- For every step, include the following labeled subsections:

**For each step provide:**  
- **{Step Title}**  
- **{Why It Matters}** (tie to “your” outcomes)  
- **{Key Actions}** (bullets)  
- **{Potential Challenges}** (bullets)  
- **{Expected Outcomes}** (bullets; include what to measure when possible)  

Also include:  
- **{Assumptions}** (only if inputs are incomplete)  
- **{Clarifying Questions}** (only if needed)  

## QUALITY CHECKS  
Before finalizing, verify:  
- The plan addresses both supply chain and inventory (not just one).  
- Every step contains **Why / Actions / Challenges / Outcomes** with clear labels.  
- Language is understandable to a non-specialist and avoids dense acronyms.  
- Recommendations connect explicitly to the user’s stated challenges and goals.  
- Steps are implementable in sequence and emphasize operational efficiency gains.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE  \r\nCreate a practical, end-to-end strategy that improves supply chain flow and inventory control to raise day-to-day operating efficiency. The plan must be easy to execute, clearly explained, and tailored to the user\u2019s current setup and obstacles.\r\n\r\n## PERSONA  \r\nYou are an operations-focused supply chain and inventory optimization advisor. You communicate like a hands-on coach: plain language, business-first reasoning, and clear \u201cwhy this matters\u201d explanations.\r\n\r\n## CONSTRAINTS  \r\n- Use simple wording; minimize jargon and define any unavoidable terms in everyday language.  \r\n- Cover the full lifecycle: sourcing, purchasing, inbound logistics, warehousing, inventory planning, fulfillment, returns, systems\/data, and continuous improvement.  \r\n- Each step must include: key actions, likely obstacles, and measurable\/observable results.  \r\n- Write from the ideal recipient\u2019s perspective by tying each step to \u201cyour\u201d goals (speed, cash flow, service level, fewer stockouts, less waste, etc.).  \r\n- Prioritize tactics that directly improve operational efficiency.  \r\n- **What This Is NOT:** a legal\/compliance review, tax guidance, ERP vendor selection with pricing quotes, or an industry-specific regulatory audit.\r\n\r\n## PROCESS  \r\n1. **Pre-Analysis (required):** Briefly restate what you believe the user is trying to accomplish and summarize the current situation using the provided inputs.  \r\n2. Identify the biggest constraints and bottlenecks implied by the inputs (capacity, variability, supplier reliability, forecasting accuracy, warehouse process, etc.).  \r\n3. Build a staged implementation roadmap that starts with quick operational wins and moves toward system\/process maturity.  \r\n4. For each stage, explain the \u201cwhy,\u201d then list actions, challenges, and outcomes.  \r\n5. Add edge-case handling: if key inputs are missing or unclear, make reasonable assumptions **and** list 3\u20136 targeted questions the user should answer to refine the plan.\r\n\r\n## INPUTS  \r\n- **Current supply chain structure:** [CONTEXT]  \r\n- **Current inventory management approach\/system:** [INVENTORY_SYSTEM]  \r\n- **Main operational challenges:** [CHALLENGE]  \r\n- **Primary goal (optional, e.g., reduce stockouts, cut lead time, free cash):** [PRIMARY_GOAL]  \r\n- **Industry\/niche (optional):** [INDUSTRY]  \r\n- **Time horizon for improvements (optional):** [TIMEFRAME]  \r\n\r\n## OUTPUT SPECIFICATION  \r\nDeliver a **Step-by-Step Plan** where:  \r\n- Each step begins with a numbered emoji marker (e.g., 1\ufe0f\u20e3, 2\ufe0f\u20e3, 3\ufe0f\u20e3\u2026).  \r\n- Steps are written as structured paragraphs plus bullets.  \r\n- For every step, include the following labeled subsections:\r\n\r\n**For each step provide:**  \r\n- **{Step Title}**  \r\n- **{Why It Matters}** (tie to \u201cyour\u201d outcomes)  \r\n- **{Key Actions}** (bullets)  \r\n- **{Potential Challenges}** (bullets)  \r\n- **{Expected Outcomes}** (bullets; include what to measure when possible)  \r\n\r\nAlso include:  \r\n- **{Assumptions}** (only if inputs are incomplete)  \r\n- **{Clarifying Questions}** (only if needed)  \r\n\r\n## QUALITY CHECKS  \r\nBefore finalizing, verify:  \r\n- The plan addresses both supply chain and inventory (not just one).  \r\n- Every step contains **Why \/ Actions \/ Challenges \/ Outcomes** with clear labels.  \r\n- Language is understandable to a non-specialist and avoids dense acronyms.  \r\n- Recommendations connect explicitly to the user\u2019s stated challenges and goals.  \r\n- Steps are implementable in sequence and emphasize operational efficiency gains.";
    const variables = ["[CONTEXT]","[INVENTORY_SYSTEM]","[CHALLENGE]","[PRIMARY_GOAL]","[INDUSTRY]","[TIMEFRAME]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Describe flow using one real order.</strong> Before you run the prompt, outline what happens from PO creation to delivery for a single SKU or customer order. Add details like “supplier lead time is 12–35 days” and “we receive pallets on Tuesdays only.” After the first output, ask: “Rewrite the roadmap assuming we prioritize reducing touches per order over cutting inventory.”</li>


<li><strong>Quantify pain with simple ranges.</strong> You do not need perfect reporting, but give directional numbers: stockouts per week, average lead time range, return rate, expedited shipping frequency, and how many SKUs drive 80% of volume. Follow-up prompt: “Based on this roadmap, list the top 10 metrics to track weekly and what ‘good’ looks like for each.”</li>


<li><strong>Call out constraints you can’t change.</strong> Mention realities like “no new headcount for 90 days,” “warehouse space is capped,” or “we can’t switch carriers this quarter.” The roadmap will get more practical, and honestly, it will stop recommending fantasy projects. If you have a hard deadline, add it: “We must stabilize before peak season in 8 weeks.”</li>


<li><strong>Push for staged sequencing, not a shopping list.</strong> If the first answer feels like a collection of ideas, force prioritization. After the first output, try asking: “Now reorder the stages by fastest cash-flow impact first, and explain the tradeoffs we accept at each stage.”</li>


<li><strong>Use the questions section as your internal interview script.</strong> The prompt will produce 3–6 targeted questions when inputs are missing or unclear. Take those questions to purchasing, warehouse, finance, and customer support, then rerun the prompt with the updated answers. Advanced move: “Create two roadmaps: one assuming supplier reliability improves, and one assuming it stays volatile for 6 months.”</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your operational roadmap is clear, the next step is getting people aligned and executing consistently.</p>



<p>If you also need a clean way to evaluate capability gaps before rolling out new warehouse or planning processes, <a href="https://flowpast.com/prompts/build-a-competency-self-review-with-this-ai-prompt/">Build a Competency Self-Review with this AI Prompt</a> helps you standardize what “good” looks like across roles. It’s useful when your roadmap depends on supervisors and planners making better daily decisions, not just following a checklist.</p>



<p>For teams doing quarterly operating rhythms, <a href="https://flowpast.com/prompts/build-a-performance-review-goal-system-with-this-ai-prompt/">Build a Performance Review Goal System with this AI Prompt</a> pairs well with a supply chain roadmap because it turns initiatives into measurable goals. Use it when you want each stage (like cycle counting, slotting, or supplier scorecards) to show up in clear performance targets.</p>



<p>When the “voice of the customer” is your early warning system for fulfillment errors or late deliveries, <a href="https://flowpast.com/prompts/write-a-trust-building-review-faq-block-with-this-ai-prompt/">Write a Trust-Building Review FAQ Block with this AI Prompt</a> can help you reduce support load while you fix operations. It’s a smart add if your roadmap includes tightening returns, replacements, and exception handling.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-a-competency-self-review-with-this-ai-prompt/">Build a Competency Self-Review with this AI Prompt</a>: Identify capability gaps before process change.</li>


<li><a href="https://flowpast.com/prompts/build-a-performance-review-goal-system-with-this-ai-prompt/">Build a Performance Review Goal System with this AI Prompt</a>: Turn roadmap stages into measurable goals.</li>

<li><a href="https://flowpast.com/prompts/write-a-trust-building-review-faq-block-with-this-ai-prompt/">Write a Trust-Building Review FAQ Block with this AI Prompt</a>: Reduce tickets while ops stabilizes.</li>

<li><a href="https://flowpast.com/prompts/build-a-multi-stage-review-request-system-ai-prompt/">Build a Multi-Stage Review Request System AI Prompt</a>: Systemize review capture after delivery.</li>
<!-- /wp:post-content -->
<li><a href="https://flowpast.com/prompts/build-a-tiered-chapter-quiz-bank-with-this-ai-prompt/">Build a Tiered Chapter Quiz Bank with this AI Prompt</a>: Create training checks for new SOPs.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this supply chain roadmap AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Operations Managers</strong> use this to turn scattered improvement ideas into an ordered plan that targets speed, service level, and daily execution. <strong>Supply Chain Planners</strong> get value because the roadmap forces bottlenecks into the open (forecasting accuracy, lead time variability, reorder logic) and ties fixes to measurable signals. <strong>Warehouse Managers</strong> lean on it to prioritize floor-impact changes like receiving flow, slotting, picking methods, and cycle counting, instead of generic “optimize the warehouse” advice. <strong>COOs</strong> use it to align teams on stages, ownership, and outcomes without diving into tool-specific debates too early.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this supply chain roadmap AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-commerce and DTC brands</strong> use this to stabilize fulfillment during growth spurts, especially when stockouts and backorders create expensive customer service fallout. <strong>Light manufacturing</strong> teams apply it when raw material lead times, WIP (work-in-process), and production scheduling create hidden bottlenecks that show up as late shipments. <strong>Wholesale distributors</strong> get strong results because the roadmap can focus on SKU rationalization, replenishment rules, and warehouse throughput to cut touches per order. <strong>Retail brands with omnichannel</strong> benefit when store transfers, online orders, and returns all compete for inventory accuracy and picking capacity.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for supply chain optimization roadmaps produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a supply chain optimization plan for my business” fails because it: lacks a pre-analysis that restates your current setup and constraints, provides no staged sequencing (so you get a generic shopping list), ignores lifecycle coverage like returns and data quality, produces vague advice instead of actions/obstacles/outcomes per step, and misses edge-case handling when key inputs are unclear. The result is usually “implement an ERP, improve forecasting, negotiate with suppliers,” which sounds nice but does not tell you what to do on Monday. This prompt is stronger because it forces bottleneck identification, links each stage to your goals (cash flow, fewer stockouts, faster cycle time), and insists on measurable results.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this supply chain roadmap prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. Even though the template doesn’t use fixed form fields, you can customize it by adding your current supply chain structure, supplier lead time ranges, warehouse constraints, order profile (B2B vs DTC, lines per order, peak seasonality), and your biggest failure modes (stockouts, overstocks, late deliveries, returns). You’ll get a better plan if you also state what you can’t change right now, like “no new WMS this quarter” or “space is fixed.” After the first output, follow up with: “Rewrite the roadmap for a 60-day stabilization sprint, then a 6-month maturity plan, and list who should own each step.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this supply chain roadmap prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving your <strong>current supply chain structure</strong> too vague — instead of “we have suppliers and a warehouse,” try “we source from 8 overseas suppliers, receive weekly containers, store in one 40k sq ft warehouse, ship 2,500 DTC orders/day, and run returns in the same building.” Another common error is not stating <strong>lead time variability</strong>; “lead time is 2 weeks” is less useful than “10–28 days, with frequent partial shipments.” People also skip <strong>constraints</strong> (budget, headcount, system limitations), which makes the plan unrealistic; be blunt about what’s off-limits. Finally, teams forget to share <strong>service level goals</strong>; “be faster” is fuzzy, but “95% of orders ship within 24 hours” lets the roadmap choose better tradeoffs.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this supply chain roadmap prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for a one-time, narrow project where you just need a single SOP (like “write a returns checklist”) and won’t build a staged roadmap. It’s also not the right fit if you are looking for legal/compliance guidance, tax advice, or vendor pricing quotes for ERP/WMS selection, because it deliberately avoids those areas. If you haven’t validated your basic operating model yet (for example, you don’t know your core SKUs, margins, or demand pattern), start by gathering baseline data and mapping the current process before running a full optimization roadmap.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this supply chain roadmap AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Operations Managers use this to turn scattered improvement ideas into an ordered plan that targets speed, service level, and daily execution. Supply Chain Planners get value because the roadmap forces bottlenecks into the open (forecasting accuracy, lead time variability, reorder logic) and ties fixes to measurable signals. Warehouse Managers lean on it to prioritize floor-impact changes like receiving flow, slotting, picking methods, and cycle counting, instead of generic “optimize the warehouse” advice. COOs use it to align teams on stages, ownership, and outcomes without diving into tool-specific debates too early."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this supply chain roadmap AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-commerce and DTC brands use this to stabilize fulfillment during growth spurts, especially when stockouts and backorders create expensive customer service fallout. Light manufacturing teams apply it when raw material lead times, WIP (work-in-process), and production scheduling create hidden bottlenecks that show up as late shipments. Wholesale distributors get strong results because the roadmap can focus on SKU rationalization, replenishment rules, and warehouse throughput to cut touches per order. Retail brands with omnichannel benefit when store transfers, online orders, and returns all compete for inventory accuracy and picking capacity."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for supply chain optimization roadmaps produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a supply chain optimization plan for my business” fails because it: lacks a pre-analysis that restates your current setup and constraints, provides no staged sequencing (so you get a generic shopping list), ignores lifecycle coverage like returns and data quality, produces vague advice instead of actions/obstacles/outcomes per step, and misses edge-case handling when key inputs are unclear. The result is usually “implement an ERP, improve forecasting, negotiate with suppliers,” which sounds nice but does not tell you what to do on Monday. This prompt is stronger because it forces bottleneck identification, links each stage to your goals (cash flow, fewer stockouts, faster cycle time), and insists on measurable results."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this supply chain roadmap prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Even though the template doesn’t use fixed form fields, you can customize it by adding your current supply chain structure, supplier lead time ranges, warehouse constraints, order profile (B2B vs DTC, lines per order, peak seasonality), and your biggest failure modes (stockouts, overstocks, late deliveries, returns). You’ll get a better plan if you also state what you can’t change right now, like “no new WMS this quarter” or “space is fixed.” After the first output, follow up with: “Rewrite the roadmap for a 60-day stabilization sprint, then a 6-month maturity plan, and list who should own each step.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this supply chain roadmap prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving your current supply chain structure too vague — instead of “we have suppliers and a warehouse,” try “we source from 8 overseas suppliers, receive weekly containers, store in one 40k sq ft warehouse, ship 2,500 DTC orders/day, and run returns in the same building.” Another common error is not stating lead time variability; “lead time is 2 weeks” is less useful than “10–28 days, with frequent partial shipments.” People also skip constraints (budget, headcount, system limitations), which makes the plan unrealistic; be blunt about what’s off-limits. Finally, teams forget to share service level goals; “be faster” is fuzzy, but “95% of orders ship within 24 hours” lets the roadmap choose better tradeoffs."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this supply chain roadmap prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for a one-time, narrow project where you just need a single SOP (like “write a returns checklist”) and won’t build a staged roadmap. It’s also not the right fit if you are looking for legal/compliance guidance, tax advice, or vendor pricing quotes for ERP/WMS selection, because it deliberately avoids those areas. If you haven’t validated your basic operating model yet (for example, you don’t know your core SKUs, margins, or demand pattern), start by gathering baseline data and mapping the current process before running a full optimization roadmap."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Operational efficiency doesn’t come from one big overhaul. It comes from the right sequence of fixes, tied to observable results. Paste this prompt into your AI model, run it with your current setup, and start executing the first stage today.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5001706.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build a High-Converting E-commerce Blueprint with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-a-high-converting-e-commerce-blueprint-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:37:14 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5001367</guid>

					<description><![CDATA[Checkout builds stall - this AI Prompt maps a React storefront, Supabase or Firebase backend, Stripe flow, and admin dashboard. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: e-commerce blueprint prompt -->
<div class="hook-introduction">

<p>Your checkout can look “fine” and still leak revenue. Pages load a beat too slow, cart updates feel glitchy, error states are vague, and customers bounce before Stripe ever shows up. Then the dev team debates architecture for two weeks and you’re back where you started.</p>



<p>This <strong>e-commerce blueprint prompt</strong> is built for <strong>growth marketers</strong> who need a build plan that supports conversion experiments without breaking the funnel, <strong>product leads</strong> trying to ship a premium storefront fast (and not regret it later), and <strong>freelance developers</strong> who want a production-grade roadmap they can implement immediately. The output is a step-by-step implementation plan covering React + TypeScript UI, Supabase or Firebase backend, Stripe Elements + webhooks, and an admin console, including folder layout, component contracts, schemas, endpoints, and integration steps.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It produces a production-grade build plan for a custom storefront, not a generic e-commerce checklist.</li>
          <li>It designs a React + TypeScript component architecture with contracts for product grid, PDP variants, cart drawer, and checkout.</li>
          <li>It recommends Supabase or Firebase and justifies the choice based on auth, data modeling, and scaling needs.</li>
          <li>It maps Stripe Elements, webhook handling, and payment state transitions into concrete endpoints and event flows.</li>
          <li>It bakes in performance, accessibility, and technical SEO decisions alongside UX engineering (loading states, retries, error boundaries).</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You’re building a new storefront and want to avoid the “we’ll fix the architecture later” trap.</li>
          <li>Your current site converts inconsistently because cart and checkout UX isn’t resilient under real-world errors.</li>
          <li>The team needs alignment on folder structure, data schemas, and integration steps before sprint planning.</li>
          <li>You’re under pressure to ship mobile-first performance improvements while keeping SEO stable.</li>
          <li>You’re migrating from a hosted platform and need a clear custom build path with fewer unknowns.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A step-by-step implementation roadmap covering frontend, backend, payments, and admin console.</li>
           <li>A React + TypeScript folder layout plus named components and their responsibilities.</li>
           <li>Suggested database schemas and API endpoint outlines for products, variants, carts, and orders.</li>
           <li>A Stripe integration plan using Elements and webhooks, with event-by-event handling notes.</li>
           <li>A UX resilience checklist including loading/empty states, optimistic updates, retry rules, and error boundary placement.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Production-Grade E-commerce Build Blueprint</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TECH_PREFERENCES]</code></td>
                                <td class="var-desc">
                                    Specify any preferred technologies, frameworks, or tools that should be used for the project. Include reasons for the preferences if possible.                                    <div class="var-example">For example: "React for the frontend, Firebase for the backend, Stripe for payments, and Tailwind CSS for styling due to its scalability and developer efficiency."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TECH_PREFERENCES]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Provide the expected budget for the project, including any constraints or considerations for resource allocation.                                    <div class="var-example">For example: "$25,000 for development, including frontend, backend, and payment integration. Additional $5,000 allocated for QA and performance testing."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Indicate the desired timeline for completing the project, including any milestones or deadlines.                                    <div class="var-example">For example: "12 weeks total: 4 weeks for architecture and design, 6 weeks for development, and 2 weeks for testing and deployment."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the primary audience for the e-commerce storefront, including demographics, behaviors, and preferences.                                    <div class="var-example">For example: "Millennial and Gen Z consumers aged 18-35 who value sustainable fashion and are active on Instagram and TikTok."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUCT_DESCRIPTION]</code></td>
                                <td class="var-desc">
                                    Provide a detailed overview of the products or services being sold, including unique selling points and key attributes.                                    <div class="var-example">For example: "Handcrafted leather bags made from ethically sourced materials, featuring minimalist designs and customizable options."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUCT_DESCRIPTION]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Specify the industry or market segment the e-commerce storefront will operate in.                                    <div class="var-example">For example: "Luxury fashion and accessories targeting eco-conscious consumers."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Describe the tone, style, and personality of the brand to ensure consistency in communication.                                    <div class="var-example">For example: "Friendly, approachable, and eco-conscious with a focus on empowerment and sustainability."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[KEY_FEATURES]</code></td>
                                <td class="var-desc">
                                    List the main features or functionalities the e-commerce storefront must include.                                    <div class="var-example">For example: "Mobile-first design, product search and filtering, one-click checkout, personalized recommendations, and live chat support."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[KEY_FEATURES]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Provide any additional background information or constraints relevant to the project.                                    <div class="var-example">For example: "The storefront must integrate seamlessly with an existing inventory management system and prioritize accessibility for users with disabilities."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Project Architecture</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Database Schema (Supabase/Firebase)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) API + Integration Surface</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Component Hierarchy (React + TypeScript)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) UI Implementation (shadcn/ui + Tailwind)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Cart Logic (Live Drawer + Persistence)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) Checkout + Payments (Stripe)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">8) Admin Dashboard (Products + Orders)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">9) Performance + SEO + Reliability</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">10) Deployment Checklist</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Design a step-by-step, production-grade build plan for a premium-feeling e-commerce storefront that converts aggressively. The plan must cover frontend, backend, payments, and an admin console—down to folder layout, component contracts, schemas, endpoints, and integration steps—so an engineering team can implement immediately.

## PERSONA
Act as an elite full-stack e-commerce engineer and systems designer who specializes in conversion-focused UX. You treat performance, accessibility, and SEO as non-negotiable product features, and you make architectural choices based on measurable user behavior (friction removal, trust reinforcement, clear intent paths) rather than aesthetic trends.

## CONSTRAINTS
- Deliver a concrete implementation roadmap (not generic e-commerce tips).
- Use React + TypeScript for the client app.
- Use Supabase **or** Firebase for backend/auth/data (recommend one and justify).
- Use Stripe for payments (Elements + webhooks).
- Mobile-first, fast-by-default, and scalable via modular, reusable components.
- Bake in accessibility (WCAG-minded patterns) and technical SEO from day one.
- Include: homepage (hero + product grid), product detail page (variants), floating cart drawer (live updates), single-page checkout (address autocomplete), admin area (products + orders).
- Include robust UX engineering: loading states, empty states, optimistic updates where appropriate, error boundaries, retries, and graceful degradation.

### What This Is NOT
- Not a branding exercise (no logo/visual identity creation).
- Not a “choose Shopify vs custom” debate; assume we’re building custom with the specified stack.
- Not a high-level checklist without implementation specifics.
- Not a legal/tax/compliance advisory beyond basic engineering considerations (e.g., PCI handled by Stripe).

## PROCESS
1. **Pre-Analysis (required):** Briefly restate the build goal in your own words and list any assumptions you’re making based on the provided inputs.
2. **Stack Decision:** Pick Supabase or Firebase, explain why it fits the constraints, and call out tradeoffs.
3. **Architecture Blueprint:** Define the app structure (routing, data fetching approach, state strategy, UI system, auth boundaries).
4. **Data + API Design:** Provide schema, access patterns, security rules/policies, and required API/webhook endpoints.
5. **Feature Build Plan:** Implement core flows in an order that de-risks payments + data integrity early.
6. **Conversion Engineering Layer:** For each major screen/component, specify the trust cues and friction reducers being implemented (microcopy, defaults, validation, progressive disclosure, etc.).
7. **Quality + Hardening:** Performance budgets, monitoring, error handling strategy, testing layers, and deployment checklist.

### Edge Case Handling
- If any input is missing or vague, ask up to 5 clarifying questions **max**; otherwise proceed with reasonable defaults and clearly label them as assumptions.
- If [TECH_PREFERENCES] conflicts with required technologies, prioritize the required stack and propose a compromise path.
- If [BUDGET] or [TIMEFRAME] is tight, provide a phased rollout plan (MVP → iteration) without removing core requirements.

## INPUTS
- **Primary user segment / market:** [TARGET_AUDIENCE]  
- **What’s being sold + category details:** [PRODUCT_DESCRIPTION]  
- **Industry / niche:** [INDUSTRY]  
- **Desired look/feel + brand personality:** [BRAND_VOICE]  
- **Preferred tools or constraints:** [TECH_PREFERENCES]  
- **Timeline and resourcing limits:** [TIMEFRAME]  
- **Budget constraints (if relevant):** [BUDGET]  
- **Extra requirements beyond the baseline:** [KEY_FEATURES]  
- **Background context (optional):** [CONTEXT]  

## OUTPUT SPECIFICATION
Use the following markdown headers and provide implementation-ready detail. Populate placeholders with concrete recommendations.

### 1) Project Architecture
Include:
- {Recommended Stack} (framework, hosting, backend choice, auth, storage, analytics, monitoring)
- {Architecture Rationale} tied to performance, maintainability, and conversion needs
- {Monorepo Or Repo Layout} decision
- {Folder Structure} with brief notes per directory
- {Environment Variables} list and handling approach
- {Routing Strategy} and protected/admin route model

### 2) Database Schema (Supabase/Firebase)
Provide:
- {Entity List} (products, variants, inventory, carts, orders, users, addresses, refunds/returns if applicable)
- {Tables/Collections} with fields, types, indexes
- {Relationships} and cascading rules
- {Row-Level Security Or Security Rules} outline
- {Seed Data Plan} for local/dev environments

### 3) API + Integration Surface
Provide:
- {Public Endpoints} (catalog, pricing, inventory reads)
- {Authenticated Endpoints} (order creation, customer profile)
- {Admin Endpoints} (CRUD for products/orders)
- {Stripe Webhook Endpoints} and event handling matrix
- {Idempotency Strategy} for order creation + webhook processing

### 4) Component Hierarchy (React + TypeScript)
Provide:
- {State Management Approach} (server state vs client state split)
- {Core Components} list with responsibilities
- TypeScript interfaces for:
  - {Product}, {Variant}, {CartItem}, {Order}, {Address}, {User}
- {Data Fetching Pattern} (caching, revalidation, error states)
- {Error Boundaries} placement plan

### 5) UI Implementation (shadcn/ui + Tailwind)
Provide:
- {Design System Rules} (spacing, typography, color usage, motion)
- {Premium-But-Accessible Patterns} (layout, whitespace, hierarchy)
- {Reusable UI Primitives} mapping (buttons, cards, drawers, toasts, forms)
- Example code snippets for:
  - {Hero Section}
  - {Product Grid Card}
  - {Variant Picker}
  - {Cart Drawer Shell}
- {Accessibility Requirements} (focus states, keyboard nav, ARIA, reduced motion)

### 6) Cart Logic (Live Drawer + Persistence)
Provide:
- {Cart Store Design} (client store + persistence)
- {localStorage Strategy} (versioning/migrations)
- {Live Updates} behavior (inventory checks, price changes, optimistic UX)
- {Edge Cases} (out-of-stock mid-session, variant removed, network loss)
- Minimal code example for:
  - {Cart State Slice}
  - {Add/Remove/Update Quantity} handlers

### 7) Checkout + Payments (Stripe)
Provide:
- {Single-Page Checkout Flow} (steps without page hops)
- {Address Autocomplete} integration approach
- {Stripe Elements Setup} with TypeScript snippet
- {Order Lifecycle} states (pending/paid/failed/fulfilled/refunded)
- {Webhook Verification} and secure secret management
- {Post-Payment UX} (receipt, account creation prompt, order tracking)

### 8) Admin Dashboard (Products + Orders)
Provide:
- {AuthZ Model} (roles/claims)
- {CRUD Screens} list and table/detail views
- {Order Management} status updates, fulfillment notes, refund triggers (if included)
- {Auditability} (activity log suggestions)
- {Validation Rules} to prevent bad catalog data

### 9) Performance + SEO + Reliability
Provide:
- {Performance Budget} targets (LCP/INP/CLS) and how you’ll hit them
- {Code Splitting Strategy}, {Lazy Loading}, {Image Optimization}
- {SEO Plan} (metadata, canonical URLs, structured data for products, sitemap)
- {Monitoring} (error tracking, web vitals, logging)
- {Testing Layers} (unit/integration/e2e) with recommended tools

### 10) Deployment Checklist
Provide:
- {Build &amp; Release Steps}
- {Migration Steps} (schema changes, backfills)
- {Webhook Rollout Plan}
- {Security Checklist} (CSP basics, secrets, rate limiting)
- {Rollback Plan}

## QUALITY CHECKS
At the end, include a short verification list confirming:
- Conversion psychology is mapped to specific screens/components (not abstract advice).
- Every required feature is explicitly implemented (home, PDP+variants, cart drawer, single-page checkout+autocomplete, admin for products/orders).
- Schema + endpoints + webhook handling are consistent and idempotent.
- Accessibility + SEO are addressed with concrete tactics and examples.
- Performance and reliability measures are actionable (budgets, tooling, and strategies).            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nDesign a step-by-step, production-grade build plan for a premium-feeling e-commerce storefront that converts aggressively. The plan must cover frontend, backend, payments, and an admin console\u2014down to folder layout, component contracts, schemas, endpoints, and integration steps\u2014so an engineering team can implement immediately.\r\n\r\n## PERSONA\r\nAct as an elite full-stack e-commerce engineer and systems designer who specializes in conversion-focused UX. You treat performance, accessibility, and SEO as non-negotiable product features, and you make architectural choices based on measurable user behavior (friction removal, trust reinforcement, clear intent paths) rather than aesthetic trends.\r\n\r\n## CONSTRAINTS\r\n- Deliver a concrete implementation roadmap (not generic e-commerce tips).\r\n- Use React + TypeScript for the client app.\r\n- Use Supabase **or** Firebase for backend\/auth\/data (recommend one and justify).\r\n- Use Stripe for payments (Elements + webhooks).\r\n- Mobile-first, fast-by-default, and scalable via modular, reusable components.\r\n- Bake in accessibility (WCAG-minded patterns) and technical SEO from day one.\r\n- Include: homepage (hero + product grid), product detail page (variants), floating cart drawer (live updates), single-page checkout (address autocomplete), admin area (products + orders).\r\n- Include robust UX engineering: loading states, empty states, optimistic updates where appropriate, error boundaries, retries, and graceful degradation.\r\n\r\n### What This Is NOT\r\n- Not a branding exercise (no logo\/visual identity creation).\r\n- Not a \u201cchoose Shopify vs custom\u201d debate; assume we\u2019re building custom with the specified stack.\r\n- Not a high-level checklist without implementation specifics.\r\n- Not a legal\/tax\/compliance advisory beyond basic engineering considerations (e.g., PCI handled by Stripe).\r\n\r\n## PROCESS\r\n1. **Pre-Analysis (required):** Briefly restate the build goal in your own words and list any assumptions you\u2019re making based on the provided inputs.\r\n2. **Stack Decision:** Pick Supabase or Firebase, explain why it fits the constraints, and call out tradeoffs.\r\n3. **Architecture Blueprint:** Define the app structure (routing, data fetching approach, state strategy, UI system, auth boundaries).\r\n4. **Data + API Design:** Provide schema, access patterns, security rules\/policies, and required API\/webhook endpoints.\r\n5. **Feature Build Plan:** Implement core flows in an order that de-risks payments + data integrity early.\r\n6. **Conversion Engineering Layer:** For each major screen\/component, specify the trust cues and friction reducers being implemented (microcopy, defaults, validation, progressive disclosure, etc.).\r\n7. **Quality + Hardening:** Performance budgets, monitoring, error handling strategy, testing layers, and deployment checklist.\r\n\r\n### Edge Case Handling\r\n- If any input is missing or vague, ask up to 5 clarifying questions **max**; otherwise proceed with reasonable defaults and clearly label them as assumptions.\r\n- If [TECH_PREFERENCES] conflicts with required technologies, prioritize the required stack and propose a compromise path.\r\n- If [BUDGET] or [TIMEFRAME] is tight, provide a phased rollout plan (MVP \u2192 iteration) without removing core requirements.\r\n\r\n## INPUTS\r\n- **Primary user segment \/ market:** [TARGET_AUDIENCE]  \r\n- **What\u2019s being sold + category details:** [PRODUCT_DESCRIPTION]  \r\n- **Industry \/ niche:** [INDUSTRY]  \r\n- **Desired look\/feel + brand personality:** [BRAND_VOICE]  \r\n- **Preferred tools or constraints:** [TECH_PREFERENCES]  \r\n- **Timeline and resourcing limits:** [TIMEFRAME]  \r\n- **Budget constraints (if relevant):** [BUDGET]  \r\n- **Extra requirements beyond the baseline:** [KEY_FEATURES]  \r\n- **Background context (optional):** [CONTEXT]  \r\n\r\n## OUTPUT SPECIFICATION\r\nUse the following markdown headers and provide implementation-ready detail. Populate placeholders with concrete recommendations.\r\n\r\n### 1) Project Architecture\r\nInclude:\r\n- {Recommended Stack} (framework, hosting, backend choice, auth, storage, analytics, monitoring)\r\n- {Architecture Rationale} tied to performance, maintainability, and conversion needs\r\n- {Monorepo Or Repo Layout} decision\r\n- {Folder Structure} with brief notes per directory\r\n- {Environment Variables} list and handling approach\r\n- {Routing Strategy} and protected\/admin route model\r\n\r\n### 2) Database Schema (Supabase\/Firebase)\r\nProvide:\r\n- {Entity List} (products, variants, inventory, carts, orders, users, addresses, refunds\/returns if applicable)\r\n- {Tables\/Collections} with fields, types, indexes\r\n- {Relationships} and cascading rules\r\n- {Row-Level Security Or Security Rules} outline\r\n- {Seed Data Plan} for local\/dev environments\r\n\r\n### 3) API + Integration Surface\r\nProvide:\r\n- {Public Endpoints} (catalog, pricing, inventory reads)\r\n- {Authenticated Endpoints} (order creation, customer profile)\r\n- {Admin Endpoints} (CRUD for products\/orders)\r\n- {Stripe Webhook Endpoints} and event handling matrix\r\n- {Idempotency Strategy} for order creation + webhook processing\r\n\r\n### 4) Component Hierarchy (React + TypeScript)\r\nProvide:\r\n- {State Management Approach} (server state vs client state split)\r\n- {Core Components} list with responsibilities\r\n- TypeScript interfaces for:\r\n  - {Product}, {Variant}, {CartItem}, {Order}, {Address}, {User}\r\n- {Data Fetching Pattern} (caching, revalidation, error states)\r\n- {Error Boundaries} placement plan\r\n\r\n### 5) UI Implementation (shadcn\/ui + Tailwind)\r\nProvide:\r\n- {Design System Rules} (spacing, typography, color usage, motion)\r\n- {Premium-But-Accessible Patterns} (layout, whitespace, hierarchy)\r\n- {Reusable UI Primitives} mapping (buttons, cards, drawers, toasts, forms)\r\n- Example code snippets for:\r\n  - {Hero Section}\r\n  - {Product Grid Card}\r\n  - {Variant Picker}\r\n  - {Cart Drawer Shell}\r\n- {Accessibility Requirements} (focus states, keyboard nav, ARIA, reduced motion)\r\n\r\n### 6) Cart Logic (Live Drawer + Persistence)\r\nProvide:\r\n- {Cart Store Design} (client store + persistence)\r\n- {localStorage Strategy} (versioning\/migrations)\r\n- {Live Updates} behavior (inventory checks, price changes, optimistic UX)\r\n- {Edge Cases} (out-of-stock mid-session, variant removed, network loss)\r\n- Minimal code example for:\r\n  - {Cart State Slice}\r\n  - {Add\/Remove\/Update Quantity} handlers\r\n\r\n### 7) Checkout + Payments (Stripe)\r\nProvide:\r\n- {Single-Page Checkout Flow} (steps without page hops)\r\n- {Address Autocomplete} integration approach\r\n- {Stripe Elements Setup} with TypeScript snippet\r\n- {Order Lifecycle} states (pending\/paid\/failed\/fulfilled\/refunded)\r\n- {Webhook Verification} and secure secret management\r\n- {Post-Payment UX} (receipt, account creation prompt, order tracking)\r\n\r\n### 8) Admin Dashboard (Products + Orders)\r\nProvide:\r\n- {AuthZ Model} (roles\/claims)\r\n- {CRUD Screens} list and table\/detail views\r\n- {Order Management} status updates, fulfillment notes, refund triggers (if included)\r\n- {Auditability} (activity log suggestions)\r\n- {Validation Rules} to prevent bad catalog data\r\n\r\n### 9) Performance + SEO + Reliability\r\nProvide:\r\n- {Performance Budget} targets (LCP\/INP\/CLS) and how you\u2019ll hit them\r\n- {Code Splitting Strategy}, {Lazy Loading}, {Image Optimization}\r\n- {SEO Plan} (metadata, canonical URLs, structured data for products, sitemap)\r\n- {Monitoring} (error tracking, web vitals, logging)\r\n- {Testing Layers} (unit\/integration\/e2e) with recommended tools\r\n\r\n### 10) Deployment Checklist\r\nProvide:\r\n- {Build & Release Steps}\r\n- {Migration Steps} (schema changes, backfills)\r\n- {Webhook Rollout Plan}\r\n- {Security Checklist} (CSP basics, secrets, rate limiting)\r\n- {Rollback Plan}\r\n\r\n## QUALITY CHECKS\r\nAt the end, include a short verification list confirming:\r\n- Conversion psychology is mapped to specific screens\/components (not abstract advice).\r\n- Every required feature is explicitly implemented (home, PDP+variants, cart drawer, single-page checkout+autocomplete, admin for products\/orders).\r\n- Schema + endpoints + webhook handling are consistent and idempotent.\r\n- Accessibility + SEO are addressed with concrete tactics and examples.\r\n- Performance and reliability measures are actionable (budgets, tooling, and strategies).";
    const variables = ["[TECH_PREFERENCES]","[BUDGET]","[TIMEFRAME]","[TARGET_AUDIENCE]","[PRODUCT_DESCRIPTION]","[INDUSTRY]","[BRAND_VOICE]","[KEY_FEATURES]","[CONTEXT]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<p>This prompt has no variables, so the best way to improve results is to run it once, then iterate with precise constraints and context from your project. Treat the first output as a “v1 architecture,” not gospel. Honestly, the second pass is where it turns from good to implementable.</p>



<ul class="wp-block-list">

<li><strong>Force a decision on Supabase vs Firebase.</strong> After the prompt outputs its recommendation, ask: “Lock the backend choice and rewrite the plan assuming we use Supabase (Postgres), including tables, RLS policies, and edge functions where needed.” Or flip it: “Rewrite the same plan for Firebase (Firestore), including security rules and indexing notes.”</li>


<li><strong>Add your catalog realities.</strong> Conversion work dies when variants and inventory are hand-waved. Follow up with: “Assume 2,500 SKUs, average 6 variants each, and inventory tracked per variant. Update schemas, query patterns, and caching strategy to keep PDP and cart drawer fast on mobile.”</li>

<li><strong>Make checkout behavior explicit.</strong> Ask for edge cases, not happy paths. Try: “List every checkout state (idle, validating, payment pending, payment failed, webhook confirmed, out-of-stock) and define UI behavior, retry rules, and analytics events for each.”</li>


<li><strong>Iterate with contrast, not tweaks.</strong> After the first output, use a split request: “Now propose two alternatives: option A prioritizes speed-to-ship, option B prioritizes long-term modularity. Keep React + TS + Stripe, but change only the architecture decisions and explain the trade-offs.”</li>


<li><strong>Combine it with code quality guardrails.</strong> Once you have the blueprint, immediately request standards so the build stays consistent across contributors. Pair it with <a href="https://flowpast.com/prompts/build-linting-and-formatting-guardrails-ai-prompt/">Build Linting and Formatting Guardrails AI Prompt</a>, and then ask: “Apply these lint rules and formatting conventions to the folder structure and component patterns in the blueprint.”</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="related-prompts-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Related Prompts</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Once your storefront blueprint is mapped, these prompts help you keep the codebase readable, consistent, and safe to change during conversion-focused iterations:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you also need to bring an inherited codebase up to speed (a common situation during migrations), <a href="https://flowpast.com/prompts/format-messy-code-into-readable-standards-ai-prompt/">Format Messy Code Into Readable Standards AI Prompt</a> helps you normalize structure before you start wiring Stripe flows and cart behavior. Clean code makes it easier to spot performance bottlenecks and accessibility issues you’d otherwise miss.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For teams doing multi-dev builds, consistency is the difference between “shipped” and “forever refactor.” Use <a href="https://flowpast.com/prompts/build-linting-and-formatting-guardrails-ai-prompt/">Build Linting and Formatting Guardrails AI Prompt</a> right after you accept the blueprint so every PR follows the same conventions (especially around React components, hooks, and TypeScript types).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When the blueprint turns into real modules, naming becomes a silent productivity killer. <a href="https://flowpast.com/prompts/clarify-code-identifier-names-with-this-ai-prompt/">Clarify Code Identifier Names with this AI Prompt</a> is a strong pairing when your team starts implementing product variant logic, checkout state machines, and webhook handlers, because those are the parts that get confusing fast.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Quick reference:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/format-messy-code-into-readable-standards-ai-prompt/">Format Messy Code Into Readable Standards AI Prompt</a>: Clean up code before major changes.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-linting-and-formatting-guardrails-ai-prompt/">Build Linting and Formatting Guardrails AI Prompt</a>: Standardize linting and formatting across devs.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/clarify-code-identifier-names-with-this-ai-prompt/">Clarify Code Identifier Names with this AI Prompt</a>: Improve variable and function naming clarity.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/ai-prompt-to-build-a-safe-dead-code-removal-dossier/">AI Prompt to Build a Safe Dead Code Removal Dossier</a>: Remove unused code without breaking flows.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/fix-dialogue-punctuation-and-formatting-ai-prompt/">Fix Dialogue Punctuation and Formatting AI Prompt</a>: Polish dialogue punctuation in scripts.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this e-commerce blueprint prompt AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Technical Product Managers</strong> use this to turn conversion goals into an implementable plan with clear scope (pages, states, integrations) before sprint planning starts. <strong>Lead Frontend Engineers</strong> lean on it for component contracts, folder layout, and performance/accessibility patterns that prevent “UI drift” as features get added. <strong>Full-stack Developers</strong> benefit from the backend recommendation (Supabase or Firebase) plus concrete schemas and endpoints that match the UI’s needs. <strong>E-commerce Growth Teams</strong> use the roadmap to ensure cart and checkout flows support testing, tracking, and friction reduction without constant rewrites.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this e-commerce blueprint prompt AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>DTC consumer brands</strong> get immediate value because small checkout friction and slow mobile performance show up directly in conversion rate. A blueprint that includes cart drawer live updates and resilient error states helps reduce abandonment during promos and traffic spikes. <strong>Subscription commerce</strong> teams benefit from the Stripe event mapping and webhook handling, because subscription and payment lifecycle edges create support load if you ship them sloppily. <strong>B2B e-commerce and wholesale</strong> organizations can use the same architecture patterns for variant-heavy catalogs and admin workflows, then extend schemas for account-based pricing. <strong>Marketplaces with curated catalogs</strong> find the admin console guidance useful for product and order operations, especially when multiple internal users manage listings and fulfillment.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for creating an e-commerce build plan produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “<em>Write me a plan to build an e-commerce website</em>” fails because it: lacks a specific stack (React + TypeScript, Supabase/Firebase, Stripe), so the output can’t include real folder layout or component contracts; provides no structure for schemas, endpoints, and webhook flows, which is where builds usually get stuck; ignores performance, accessibility, and technical SEO as first-class requirements, so you end up patching them late; produces generic UI advice instead of state-by-state UX engineering (loading, empty, optimistic updates, retries); and misses the admin area details that keep product and order operations from becoming a spreadsheet mess.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this e-commerce blueprint prompt AI prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. Since the prompt has no built-in variables, you customize by appending constraints and context as follow-up messages: catalog size, variant rules, shipping logic, analytics stack, and any non-negotiable SEO requirements (for example, indexable PLPs). A practical follow-up is: “Rewrite the blueprint for a 5,000-SKU catalog with 10 variants per product, international addresses, and GA4 + server-side events; include the exact events to track across product, cart, and checkout.” You can also ask for architecture alternatives, such as “one-repo vs separate frontend/backend repos,” and have it re-output the folder layout accordingly.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this e-commerce blueprint prompt prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is not specifying your backend preference after it recommends Supabase or Firebase, which leads to a plan that’s half generic; instead of “use whichever,” respond with “Use Supabase and include RLS policies for admin vs customer.” Another common error is leaving the catalog complexity undefined; “we sell products” is weak, but “2,500 SKUs, 6 variants each, inventory per variant” forces better schemas and queries. Teams also forget to request tracking and failure states; “include checkout” is vague, so ask for “all checkout states, errors, retries, and analytics events.” Finally, many people skip admin workflow details, but “admin area” should be tightened to “product CRUD, order status updates, refunds, and role-based access.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this e-commerce blueprint prompt prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for teams that are not actually building custom (for example, if you’ll stay fully on Shopify themes and apps), because it assumes a React + TypeScript build with Supabase/Firebase and Stripe webhooks. It’s also a poor fit if you need legal, tax, or compliance advice beyond basic engineering notes, since it explicitly avoids that. If you just want quick copy-and-paste UI templates rather than an engineering roadmap, use a design system starter or a component library walkthrough instead.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this e-commerce blueprint prompt AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Technical Product Managers use this to turn conversion goals into an implementable plan with clear scope (pages, states, integrations) before sprint planning starts. Lead Frontend Engineers lean on it for component contracts, folder layout, and performance/accessibility patterns that prevent “UI drift” as features get added. Full-stack Developers benefit from the backend recommendation (Supabase or Firebase) plus concrete schemas and endpoints that match the UI’s needs. E-commerce Growth Teams use the roadmap to ensure cart and checkout flows support testing, tracking, and friction reduction without constant rewrites."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this e-commerce blueprint prompt AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "DTC consumer brands get immediate value because small checkout friction and slow mobile performance show up directly in conversion rate. A blueprint that includes cart drawer live updates and resilient error states helps reduce abandonment during promos and traffic spikes. Subscription commerce teams benefit from the Stripe event mapping and webhook handling, because subscription and payment lifecycle edges create support load if you ship them sloppily. B2B e-commerce and wholesale organizations can use the same architecture patterns for variant-heavy catalogs and admin workflows, then extend schemas for account-based pricing. Marketplaces with curated catalogs find the admin console guidance useful for product and order operations, especially when multiple internal users manage listings and fulfillment."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for creating an e-commerce build plan produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a plan to build an e-commerce website” fails because it: lacks a specific stack (React + TypeScript, Supabase/Firebase, Stripe), so the output can’t include real folder layout or component contracts; provides no structure for schemas, endpoints, and webhook flows, which is where builds usually get stuck; ignores performance, accessibility, and technical SEO as first-class requirements, so you end up patching them late; produces generic UI advice instead of state-by-state UX engineering (loading, empty, optimistic updates, retries); and misses the admin area details that keep product and order operations from becoming a spreadsheet mess."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this e-commerce blueprint prompt AI prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Since the prompt has no built-in variables, you customize by appending constraints and context as follow-up messages: catalog size, variant rules, shipping logic, analytics stack, and any non-negotiable SEO requirements (for example, indexable PLPs). A practical follow-up is: “Rewrite the blueprint for a 5,000-SKU catalog with 10 variants per product, international addresses, and GA4 + server-side events; include the exact events to track across product, cart, and checkout.” You can also ask for architecture alternatives, such as “one-repo vs separate frontend/backend repos,” and have it re-output the folder layout accordingly."
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this e-commerce blueprint prompt prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is not specifying your backend preference after it recommends Supabase or Firebase, which leads to a plan that’s half generic; instead of “use whichever,” respond with “Use Supabase and include RLS policies for admin vs customer.” Another common error is leaving the catalog complexity undefined; “we sell products” is weak, but “2,500 SKUs, 6 variants each, inventory per variant” forces better schemas and queries. Teams also forget to request tracking and failure states; “include checkout” is vague, so ask for “all checkout states, errors, retries, and analytics events.” Finally, many people skip admin workflow details, but “admin area” should be tightened to “product CRUD, order status updates, refunds, and role-based access.”"
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this e-commerce blueprint prompt prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for teams that are not actually building custom (for example, if you’ll stay fully on Shopify themes and apps), because it assumes a React + TypeScript build with Supabase/Firebase and Stripe webhooks. It’s also a poor fit if you need legal, tax, or compliance advice beyond basic engineering notes, since it explicitly avoids that. If you just want quick copy-and-paste UI templates rather than an engineering roadmap, use a design system starter or a component library walkthrough instead."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>A premium storefront isn’t magic; it’s disciplined architecture plus ruthless attention to UX failure modes. Paste this prompt into your AI tool, generate the blueprint, and turn the output into your next sprint plan.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5001367.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build a Two-Sided Marketplace Playbook with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-a-two-sided-marketplace-playbook-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:36:09 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5001366</guid>

					<description><![CDATA[Payments break trust fast - the ultimate AI Prompt that delivers a Next.js marketplace build playbook with schema, APIs, Stripe flows, and ops. Access our full AI prompt library for every model.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: marketplace playbook prompt -->

<div class="hook-introduction">

<p>Marketplace ideas are cheap. Marketplace trust is not. If payments, payouts, refunds, and disputes aren’t engineered from day one, you end up with vendor churn, buyer chargebacks, and a support inbox that never stops.</p>



<p>This <strong>marketplace playbook prompt</strong> is built for <strong>product leads</strong> who need a build plan engineering can execute without “fill in the blanks,” <strong>founders</strong> preparing for real-money transactions and vendor onboarding, and <strong>technical consultants</strong> who must deliver a credible architecture document for a client. The output is a production-grade build blueprint for a two-sided marketplace using Next.js 14, TypeScript, Tailwind, Prisma, Postgres, and Stripe Connect, including data models, APIs, UI components, and failure handling.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It designs a marketplace-grade database schema in Prisma/PostgreSQL, including multi-tenant vendors, orders, payouts, refunds, disputes, and audit trails.</li>
          <li>It maps an API surface in Next.js (route handlers) with concrete endpoints for onboarding, checkout, webhooks, reconciliation, and admin operations.</li>
          <li>It specifies Stripe Connect flows with idempotency, webhook verification, payout timing, fee/commission logic, and chargeback handling.</li>
          <li>It outlines key UI components for mobile-first buyer and vendor journeys, including trust signals, policies, and accessible patterns.</li>
          <li>It builds failure-first engineering guidance: error states, retries, background jobs/queues, observability, rate limiting, and incident-ready logging.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You’re about to accept real payments and can’t afford “we’ll fix webhooks later” as a plan.</li>
          <li>Your marketplace has multiple vendors and you need clean economics (commissions, fees, payouts) that reconcile to the cent.</li>
          <li>You’re making architecture decisions and want to avoid rewrites around auth, RBAC, or data modeling once vendors arrive.</li>
          <li>Competitors already look trustworthy, so your product needs clear policies, transparent flows, and fewer “support me” moments.</li>
          <li>You’re scaling from pilot to volume and must plan for indexing, caching, background processing, and safe deployment.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A full build blueprint with a structured “pre-analysis” section, assumptions list, and open questions to validate.</li>
           <li>A Prisma/Postgres schema outline covering core entities (vendors, buyers, listings, orders, payments, payouts, disputes) plus indexing notes.</li>
           <li>A ready-to-implement Stripe Connect flow map, including webhook event list, idempotency keys, and reconciliation steps.</li>
           <li>A set of API route specifications with error handling patterns and example request/response shapes.</li>
           <li>A deployment and scale checklist, including observability signals, background jobs, and security controls to verify before launch.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Two-Sided Marketplace Build Playbook Blueprint</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[PRODUCT_DESCRIPTION]</code></td>
                                <td class="var-desc">
                                    Provide a detailed description of the product or service you want to create, including its purpose, functionality, and key features.                                    <div class="var-example">For example: "A two-sided marketplace platform for artisans to sell handmade goods directly to consumers, with integrated payment processing and vendor analytics."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUCT_DESCRIPTION]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Define the primary group of people who will use this product, including their demographics, behaviors, and needs.                                    <div class="var-example">For example: "Small business owners seeking affordable, high-quality graphic design services, primarily in the U.S. and Canada."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUYER_PROFILE]</code></td>
                                <td class="var-desc">
                                    Describe the characteristics of the buyers in the marketplace, including their purchasing habits, preferences, and motivations.                                    <div class="var-example">For example: "Tech-savvy millennials who value eco-friendly products and are willing to pay a premium for sustainable goods."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BUYER_PROFILE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Specify the industry or sector the marketplace will operate in. Include relevant subcategories if applicable.                                    <div class="var-example">For example: "Handmade crafts and artisanal goods, including jewelry, pottery, and textiles."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONSTRAINTS]</code></td>
                                <td class="var-desc">
                                    List any limitations or restrictions that must be considered in the design and development of the product.                                    <div class="var-example">For example: "Must comply with GDPR and PCI-DSS standards; limited budget for initial development phase."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONSTRAINTS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Provide the expected timeline for the project, including key deadlines or milestones.                                    <div class="var-example">For example: "6 months to launch a beta version, with 3 months for MVP development and 3 months for testing and iteration."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[COMPANY_NAME]</code></td>
                                <td class="var-desc">
                                    Enter the name of the company or organization creating this marketplace.                                    <div class="var-example">For example: "CraftConnect Inc."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[COMPANY_NAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Describe the tone, style, and personality of the brand as it communicates with users.                                    <div class="var-example">For example: "Friendly, approachable, and professional, with a focus on empowering creative entrepreneurs."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UPPERCASE_WITH_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Provide a string formatted in uppercase letters with underscores separating words, typically used for environment variables or constants.                                    <div class="var-example">For example: "MARKETPLACE_API_KEY"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UPPERCASE_WITH_UNDERSCORES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Database Architecture (Prisma + Postgres)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Authentication &amp; Authorization (NextAuth + RBAC)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Vendor Dashboard</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Buyer Experience</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Payments Integration (Stripe Connect)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Trust &amp; Safety Systems</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) Technical Implementation Details</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">8) Optimization &amp; Scale Plan</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Create a production-grade build blueprint for a real-money, two-sided marketplace that vendors will actually use and buyers will immediately trust. The guide must include concrete technical designs and implementation details (not generic marketplace commentary) and cover the entire path from data modeling through deployment.

## PERSONA
Act as an elite full-stack marketplace architect who has delivered high-volume transaction platforms at scale. You combine pragmatic engineering judgment (security, payments, reliability, observability) with sharp instincts for vendor/buyer behavior, focusing on frictionless flows, transparent policies, and trust signals that prevent marketplace collapse.

## CONSTRAINTS
- Use **Next.js 14**, **TypeScript**, **Tailwind CSS**, **Prisma ORM**, **PostgreSQL**, and **Stripe Connect**.
- Prioritize *day-one real transaction readiness*: idempotency, webhooks, reconciliation, chargebacks, refunds, disputes, and audit trails.
- Every major area must include: database design, API surface, key UI components, and failure/error handling.
- Build for multi-tenant, multi-vendor economics: commissions, fees, payouts, taxes (where applicable), and vendor onboarding.
- Include mobile-first UX, accessibility basics, and responsive layouts.
- Include security practices: RBAC, least-privilege, secure session handling, input validation, rate limiting, and data protection.
- Include performance and scale planning: caching, indexing, queueing/background jobs, and deployment considerations.

### What This Is NOT
- Not a lightweight MVP checklist.
- Not “platform-agnostic” advice; keep it tied to the specified stack.
- Not legal/tax counsel; mention where professional review is required without attempting to provide it.
- Not a pure UI mock; must include backend, data, and payment mechanics.

## PROCESS
1. **Pre-analysis (mandatory):** Restate your understanding of the marketplace described by the inputs, call out unknowns, and list assumptions you will use if details are missing.
2. **Architecture plan:** Present a staged build sequence (phases) that a team can execute, including milestones aligned to the given timeline.
3. **Data + domain modeling:** Define entities, relations, constraints, indexes, and invariants (what must always be true).
4. **Auth + authorization:** Implement role-aware access control for buyers, vendors, and admins with protected routing and server enforcement.
5. **Vendor operations:** Specify onboarding, catalog/inventory, order handling, fulfillment, payouts, analytics, and support workflows.
6. **Buyer journey:** Specify discovery → product detail → cart → checkout → post-purchase tracking, with trust and transparency embedded.
7. **Payments + money movement:** Detail Stripe Connect flows, webhook processing, payout schedules, refunds, disputes/chargebacks, and ledgering.
8. **Trust + safety:** Messaging, reviews, fraud/risk signals, dispute resolution states, and moderation tooling.
9. **Production hardening:** Observability, retries, idempotency, queues, rate limits, data migrations, incident considerations, and deployment config.
10. **Edge-case handling:** If an input is unclear, provide 2–3 plausible options and proceed with the safest default; clearly label assumptions.

## INPUTS
- **Marketplace offering:** [PRODUCT_DESCRIPTION]
- **Primary user segment (vendors):** [TARGET_AUDIENCE]
- **Buyer profile and preferences:** [BUYER_PROFILE]
- **Industry / niche:** [INDUSTRY]
- **Technical requirements or limits:** [CONSTRAINTS]
- **Delivery timeline and milestones:** [TIMEFRAME]
- **Company/brand name (optional):** [COMPANY_NAME]
- **Brand voice / tone (optional):** [BRAND_VOICE]

## OUTPUT SPECIFICATION
Use the following sections and include the requested artifacts in each.

### 1) Database Architecture (Prisma + Postgres)
Provide:
- {Prisma Schema} including models for {Users}, {Roles}, {Vendors}, {Buyer Profiles}, {Products/Services}, {Inventory}, {Orders}, {Order Items}, {Payments}, {Transfers}, {Payouts}, {Refunds}, {Disputes}, {Messages}, {Reviews}, {Coupons/Promotions}, {Audit Events}, and {Fraud Signals}
- {Relations} with onDelete/onUpdate behavior
- {Indexes} and rationale (search, filtering, foreign keys, uniqueness, partial indexes when needed)
- {Money &amp; Ledger Strategy} (how amounts, currency, fees, commissions, and taxes are represented)
- {Migration Notes} for launch and future changes

### 2) Authentication &amp; Authorization (NextAuth + RBAC)
Provide:
- {NextAuth Config} (providers, session strategy, callbacks)
- {RBAC Model} (roles/permissions matrix)
- {Middleware} and server-side authorization patterns for Next.js 14
- {Security Measures} (CSRF, cookie settings, session expiration, device/session revocation)
- {Example Protected Routes} for vendor/admin/buyer areas

### 3) Vendor Dashboard
Provide:
- {IA / Navigation Map} for vendor portal
- {Key Screens} including onboarding, listings, inventory, orders, fulfillment, refunds, payouts, analytics, settings
- {Core Components} (tables, filters, bulk actions, status chips, empty states)
- {Vendor APIs} (route list with method, params, auth requirements)
- {Error States &amp; Recovery} (failed webhook, payout pending, inventory mismatch)

### 4) Buyer Experience
Provide:
- {Buyer Journey Map}
- {Discovery UX} (search, filters, sorting, category pages, SEO pages)
- {Product/Service Detail UX} (availability, shipping/fulfillment, policies, trust signals)
- {Cart + Checkout UX} (transparent fees, delivery estimates, promo codes)
- {Order Tracking UX} (statuses, notifications, support entry points)
- {Buyer APIs} and key components

### 5) Payments Integration (Stripe Connect)
Provide:
- {Connect Account Strategy} (Express vs Custom recommendation and why)
- {Onboarding Flow} and required verifications
- {Checkout Flow} (PaymentIntents, confirmation, SCA handling)
- {Split + Fees Logic} (platform commission, application fees, transfers/destination charges as applicable)
- {Webhook Handling Plan} with idempotency and replay safety
- {Refunds &amp; Disputes} lifecycle handling
- {Reconciliation} (how database records map to Stripe events)

### 6) Trust &amp; Safety Systems
Provide:
- {Two-Sided Reviews} design (timing rules, anti-gaming constraints)
- {Messaging System} (schemas, APIs, abuse prevention, attachments policy if any)
- {Dispute Resolution Workflow} as a state machine with transitions
- {Fraud/Risk Signals} (velocity checks, device/IP heuristics, payment anomalies)
- {Admin Tooling} endpoints and views for moderation and overrides

### 7) Technical Implementation Details
Provide:
- {Folder/Module Layout} for Next.js 14 (app router), including server actions or route handlers strategy
- {API Endpoint Catalog} (route, method, auth, validation, error codes)
- {Validation Strategy} (e.g., Zod schemas) and shared types
- {Background Jobs/Queues} approach (what should be async and why)
- {Representative Code Samples} (rewritten fresh) for at least:
  - creating an order safely
  - processing a Stripe webhook with idempotency
  - enforcing RBAC on a sensitive vendor route

### 8) Optimization &amp; Scale Plan
Provide:
- {Performance Plan} (query tuning, caching, pagination, CDN strategy)
- {SEO Plan} for marketplace discovery pages
- {Mobile &amp; Accessibility Notes}
- {Scalability Roadmap} (when to introduce read replicas, queues, search service, event bus)
- {Deployment Checklist} (env vars, secrets, monitoring, logging, alerting, rollback)

## QUALITY CHECKS
Before finalizing, verify and explicitly confirm:
- All user inputs are referenced using **[UPPERCASE_WITH_UNDERSCORES]** and all template fields use **{Title Case}**.
- Payment flows include webhook idempotency, retry safety, and a clear source-of-truth ledger.
- Database schema includes constraints + indexes that match the buyer discovery and vendor ops needs.
- Every section contains implementable details (schemas, endpoints, components), not abstract advice.
- Edge cases are addressed (partial refunds, failed payouts, inventory race conditions, dispute escalation, account restrictions).            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nCreate a production-grade build blueprint for a real-money, two-sided marketplace that vendors will actually use and buyers will immediately trust. The guide must include concrete technical designs and implementation details (not generic marketplace commentary) and cover the entire path from data modeling through deployment.\r\n\r\n## PERSONA\r\nAct as an elite full-stack marketplace architect who has delivered high-volume transaction platforms at scale. You combine pragmatic engineering judgment (security, payments, reliability, observability) with sharp instincts for vendor\/buyer behavior, focusing on frictionless flows, transparent policies, and trust signals that prevent marketplace collapse.\r\n\r\n## CONSTRAINTS\r\n- Use **Next.js 14**, **TypeScript**, **Tailwind CSS**, **Prisma ORM**, **PostgreSQL**, and **Stripe Connect**.\r\n- Prioritize *day-one real transaction readiness*: idempotency, webhooks, reconciliation, chargebacks, refunds, disputes, and audit trails.\r\n- Every major area must include: database design, API surface, key UI components, and failure\/error handling.\r\n- Build for multi-tenant, multi-vendor economics: commissions, fees, payouts, taxes (where applicable), and vendor onboarding.\r\n- Include mobile-first UX, accessibility basics, and responsive layouts.\r\n- Include security practices: RBAC, least-privilege, secure session handling, input validation, rate limiting, and data protection.\r\n- Include performance and scale planning: caching, indexing, queueing\/background jobs, and deployment considerations.\r\n\r\n### What This Is NOT\r\n- Not a lightweight MVP checklist.\r\n- Not \u201cplatform-agnostic\u201d advice; keep it tied to the specified stack.\r\n- Not legal\/tax counsel; mention where professional review is required without attempting to provide it.\r\n- Not a pure UI mock; must include backend, data, and payment mechanics.\r\n\r\n## PROCESS\r\n1. **Pre-analysis (mandatory):** Restate your understanding of the marketplace described by the inputs, call out unknowns, and list assumptions you will use if details are missing.\r\n2. **Architecture plan:** Present a staged build sequence (phases) that a team can execute, including milestones aligned to the given timeline.\r\n3. **Data + domain modeling:** Define entities, relations, constraints, indexes, and invariants (what must always be true).\r\n4. **Auth + authorization:** Implement role-aware access control for buyers, vendors, and admins with protected routing and server enforcement.\r\n5. **Vendor operations:** Specify onboarding, catalog\/inventory, order handling, fulfillment, payouts, analytics, and support workflows.\r\n6. **Buyer journey:** Specify discovery \u2192 product detail \u2192 cart \u2192 checkout \u2192 post-purchase tracking, with trust and transparency embedded.\r\n7. **Payments + money movement:** Detail Stripe Connect flows, webhook processing, payout schedules, refunds, disputes\/chargebacks, and ledgering.\r\n8. **Trust + safety:** Messaging, reviews, fraud\/risk signals, dispute resolution states, and moderation tooling.\r\n9. **Production hardening:** Observability, retries, idempotency, queues, rate limits, data migrations, incident considerations, and deployment config.\r\n10. **Edge-case handling:** If an input is unclear, provide 2\u20133 plausible options and proceed with the safest default; clearly label assumptions.\r\n\r\n## INPUTS\r\n- **Marketplace offering:** [PRODUCT_DESCRIPTION]\r\n- **Primary user segment (vendors):** [TARGET_AUDIENCE]\r\n- **Buyer profile and preferences:** [BUYER_PROFILE]\r\n- **Industry \/ niche:** [INDUSTRY]\r\n- **Technical requirements or limits:** [CONSTRAINTS]\r\n- **Delivery timeline and milestones:** [TIMEFRAME]\r\n- **Company\/brand name (optional):** [COMPANY_NAME]\r\n- **Brand voice \/ tone (optional):** [BRAND_VOICE]\r\n\r\n## OUTPUT SPECIFICATION\r\nUse the following sections and include the requested artifacts in each.\r\n\r\n### 1) Database Architecture (Prisma + Postgres)\r\nProvide:\r\n- {Prisma Schema} including models for {Users}, {Roles}, {Vendors}, {Buyer Profiles}, {Products\/Services}, {Inventory}, {Orders}, {Order Items}, {Payments}, {Transfers}, {Payouts}, {Refunds}, {Disputes}, {Messages}, {Reviews}, {Coupons\/Promotions}, {Audit Events}, and {Fraud Signals}\r\n- {Relations} with onDelete\/onUpdate behavior\r\n- {Indexes} and rationale (search, filtering, foreign keys, uniqueness, partial indexes when needed)\r\n- {Money & Ledger Strategy} (how amounts, currency, fees, commissions, and taxes are represented)\r\n- {Migration Notes} for launch and future changes\r\n\r\n### 2) Authentication & Authorization (NextAuth + RBAC)\r\nProvide:\r\n- {NextAuth Config} (providers, session strategy, callbacks)\r\n- {RBAC Model} (roles\/permissions matrix)\r\n- {Middleware} and server-side authorization patterns for Next.js 14\r\n- {Security Measures} (CSRF, cookie settings, session expiration, device\/session revocation)\r\n- {Example Protected Routes} for vendor\/admin\/buyer areas\r\n\r\n### 3) Vendor Dashboard\r\nProvide:\r\n- {IA \/ Navigation Map} for vendor portal\r\n- {Key Screens} including onboarding, listings, inventory, orders, fulfillment, refunds, payouts, analytics, settings\r\n- {Core Components} (tables, filters, bulk actions, status chips, empty states)\r\n- {Vendor APIs} (route list with method, params, auth requirements)\r\n- {Error States & Recovery} (failed webhook, payout pending, inventory mismatch)\r\n\r\n### 4) Buyer Experience\r\nProvide:\r\n- {Buyer Journey Map}\r\n- {Discovery UX} (search, filters, sorting, category pages, SEO pages)\r\n- {Product\/Service Detail UX} (availability, shipping\/fulfillment, policies, trust signals)\r\n- {Cart + Checkout UX} (transparent fees, delivery estimates, promo codes)\r\n- {Order Tracking UX} (statuses, notifications, support entry points)\r\n- {Buyer APIs} and key components\r\n\r\n### 5) Payments Integration (Stripe Connect)\r\nProvide:\r\n- {Connect Account Strategy} (Express vs Custom recommendation and why)\r\n- {Onboarding Flow} and required verifications\r\n- {Checkout Flow} (PaymentIntents, confirmation, SCA handling)\r\n- {Split + Fees Logic} (platform commission, application fees, transfers\/destination charges as applicable)\r\n- {Webhook Handling Plan} with idempotency and replay safety\r\n- {Refunds & Disputes} lifecycle handling\r\n- {Reconciliation} (how database records map to Stripe events)\r\n\r\n### 6) Trust & Safety Systems\r\nProvide:\r\n- {Two-Sided Reviews} design (timing rules, anti-gaming constraints)\r\n- {Messaging System} (schemas, APIs, abuse prevention, attachments policy if any)\r\n- {Dispute Resolution Workflow} as a state machine with transitions\r\n- {Fraud\/Risk Signals} (velocity checks, device\/IP heuristics, payment anomalies)\r\n- {Admin Tooling} endpoints and views for moderation and overrides\r\n\r\n### 7) Technical Implementation Details\r\nProvide:\r\n- {Folder\/Module Layout} for Next.js 14 (app router), including server actions or route handlers strategy\r\n- {API Endpoint Catalog} (route, method, auth, validation, error codes)\r\n- {Validation Strategy} (e.g., Zod schemas) and shared types\r\n- {Background Jobs\/Queues} approach (what should be async and why)\r\n- {Representative Code Samples} (rewritten fresh) for at least:\r\n  - creating an order safely\r\n  - processing a Stripe webhook with idempotency\r\n  - enforcing RBAC on a sensitive vendor route\r\n\r\n### 8) Optimization & Scale Plan\r\nProvide:\r\n- {Performance Plan} (query tuning, caching, pagination, CDN strategy)\r\n- {SEO Plan} for marketplace discovery pages\r\n- {Mobile & Accessibility Notes}\r\n- {Scalability Roadmap} (when to introduce read replicas, queues, search service, event bus)\r\n- {Deployment Checklist} (env vars, secrets, monitoring, logging, alerting, rollback)\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify and explicitly confirm:\r\n- All user inputs are referenced using **[UPPERCASE_WITH_UNDERSCORES]** and all template fields use **{Title Case}**.\r\n- Payment flows include webhook idempotency, retry safety, and a clear source-of-truth ledger.\r\n- Database schema includes constraints + indexes that match the buyer discovery and vendor ops needs.\r\n- Every section contains implementable details (schemas, endpoints, components), not abstract advice.\r\n- Edge cases are addressed (partial refunds, failed payouts, inventory race conditions, dispute escalation, account restrictions).";
    const variables = ["[PRODUCT_DESCRIPTION]","[TARGET_AUDIENCE]","[BUYER_PROFILE]","[INDUSTRY]","[CONSTRAINTS]","[TIMEFRAME]","[COMPANY_NAME]","[BRAND_VOICE]","[UPPERCASE_WITH_UNDERSCORES]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Feed it a specific transaction story.</strong> Before you run the prompt, write one buyer journey and one vendor journey in plain language (5–10 steps each). Include “awkward” moments like cancellations, partial refunds, and address changes. Then ask: “Use these journeys to drive the schema and webhook design; call out where you’d add audit events.”</li>


<li><strong>Decide who is the merchant of record.</strong> Your payout, tax, and dispute responsibilities change depending on whether vendors charge buyers directly via Connect or you do. Add a follow-up: “Assume vendors are the merchant of record via Stripe Connect; now redo the fees, refunds, and dispute sections and highlight what changes if the platform is MoR.”</li>


<li><strong>Force concrete webhook handling.</strong> Ask the model to enumerate events you must store and reconcile, not just “listen for webhooks.” A good nudge: “List the exact Stripe events to handle for checkout success, payout paid/failed, refunds, and disputes, and show idempotent processing pseudocode for one event.”</li>


<li><strong>Iterate on failure modes, not features.</strong> After the first output, pick one risky area (refunds, disputes, or vendor onboarding) and push harder. Try: “Now make the dispute flow more rigorous: include status transitions, database fields, admin actions, and the user-facing messaging for each state.”</li>


<li><strong>Pair it with an operations handoff plan.</strong> A blueprint is only useful if your team can run it. Ask for an “ops appendix” that includes alerts, dashboards, and escalation paths, then adapt it into an internal playbook using <a href="https://flowpast.com/prompts/create-a-task-handoff-playbook-with-this-ai-prompt/">https://flowpast.com/prompts/create-a-task-handoff-playbook-with-this-ai-prompt/</a>.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your marketplace architecture is solid, these prompts help you organize the humans who will build, ship, and support it.</p>



<p>If you also need to split the work across engineering, product, design, and support without losing accountability, the <a href="https://flowpast.com/prompts/build-a-team-delegation-blueprint-ai-prompt/">Build a Team Delegation Blueprint AI Prompt</a> helps you define owners, decision rights, and the “definition of done” for each workstream. It’s especially useful when your build plan includes cross-cutting concerns like RBAC, webhooks, observability, and incident response.</p>



<p>For teams doing multi-sprint execution, the <a href="https://flowpast.com/prompts/build-a-team-delegation-framework-ai-prompt/">Build a Team Delegation Framework AI Prompt</a> pairs well because it formalizes how requests move through your team (intake, prioritization, review, approvals). Honestly, it saves you from the quiet failure where “payments” becomes everyone’s job and nobody’s job.</p>



<p>When you’re ready to onboard new contributors (a contractor, a new backend hire, or a support lead who’ll handle disputes), use <a href="https://flowpast.com/prompts/create-a-task-handoff-playbook-with-this-ai-prompt/">Create a Task Handoff Playbook with this AI Prompt</a> to translate the blueprint into repeatable handoffs. That’s how you keep Stripe webhook knowledge from living in one person’s head.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/build-a-team-delegation-blueprint-ai-prompt/">Build a Team Delegation Blueprint AI Prompt</a>: Assign owners, scopes, and outcomes.</li>


<li><a href="https://flowpast.com/prompts/build-a-team-delegation-framework-ai-prompt/">Build a Team Delegation Framework AI Prompt</a>: Create a delegation operating system.</li>


<li><a href="https://flowpast.com/prompts/create-a-task-handoff-playbook-with-this-ai-prompt/">Create a Task Handoff Playbook with this AI Prompt</a>: Turn work into repeatable handoffs.</li>

<li><a href="https://flowpast.com/prompts/build-a-campus-recruiting-playbook-with-this-ai-prompt/">Build a Campus Recruiting Playbook with this AI Prompt</a>: Hire and ramp early-career talent.</li>

<li><a href="https://flowpast.com/prompts/build-a-leadership-eq-playbook-with-this-ai-prompt/">Build a Leadership EQ Playbook with this AI Prompt</a>: Lead through pressure and ambiguity.</li>
<!-- /wp:post-content -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this marketplace playbook prompt AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Head of Product</strong> teams use this to translate “we’re building a marketplace” into a buildable plan with clear flows, trust signals, and operational requirements. <strong>Full-stack Engineers</strong> rely on it for the concrete pieces: Prisma schema direction, Next.js API boundaries, and error handling patterns around webhooks and idempotency. <strong>CTOs</strong> use it to pressure-test security, observability, and scale assumptions before real money hits production. <strong>Fractional architects</strong> bring it into client work when they need a credible blueprint fast, without drifting into generic advice.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this marketplace playbook prompt AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Local services marketplaces</strong> (home services, beauty, wellness) get value because refunds, cancellations, and dispute resolution are constant, and trust cues make or break conversion. <strong>Digital goods platforms</strong> use it to design audit trails and policy-driven access, especially when chargebacks can trigger instant fraud and support load. <strong>B2B procurement and vendor directories</strong> benefit from multi-tenant vendor onboarding, role-based access, and reconciliation that finance teams will accept. <strong>Ticketing and events</strong> teams apply it when payout timing, cancellations, and partial refunds must be handled cleanly without vendor outrage.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for building a two-sided marketplace playbook produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a marketplace plan for Next.js and Stripe” fails because it: lacks hard constraints (Next.js 14, Prisma, Postgres, Stripe Connect) so the output stays abstract, provides no structured database model for orders/payouts/disputes, ignores webhook verification and idempotent processing, produces generic “handle refunds” guidance instead of real state transitions and audit trails, and misses operational realities like reconciliation, observability, rate limiting, and failure recovery.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this marketplace playbook prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes, but you will customize through the marketplace description you provide alongside the prompt, since the prompt itself has no built-in variables. Add specifics like: what’s being sold, who the vendors are, how fulfillment works, payout timing rules, commission structure, and your highest-risk failure modes (refund abuse, vendor fraud, chargebacks). Then ask a follow-up such as: “Rewrite the blueprint for a marketplace where vendors deliver services in-person, include cancellation windows, partial refunds, and a dispute workflow with admin actions.” The more concrete your flows, the more concrete the schema and API designs become.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this marketplace playbook prompt prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving the marketplace description too vague — instead of “a marketplace for creators,” write “a digital downloads marketplace where vendors sell templates; instant delivery; 10% platform fee; payouts weekly; common issue is chargebacks after download.” Another common error is skipping payout constraints; replace “pay vendors quickly” with “payouts are T+7, with an internal reserve for first-time vendors for 30 days.” People also forget the dispute and refund rules; “refunds are case-by-case” should become “refunds allowed within 14 days only if file not downloaded; otherwise credit; disputes escalate to admin within 48 hours.” Finally, teams omit non-functional requirements; don’t say “must be secure,” specify “RBAC roles (buyer, vendor, admin), rate limits on checkout, webhook signature verification, and audit logging for payout actions.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this marketplace playbook prompt prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for one-off prototypes where you won’t implement webhooks, reconciliation, and real payout flows, because it will feel “too heavy” on purpose. It’s also not a fit if you need legal or tax guidance; it will point out where professional review is required, but it cannot replace counsel. And if your team is not using the specified stack (Next.js 14, TypeScript, Prisma, Postgres, Stripe Connect), you’ll spend time translating key pieces instead of executing. In those cases, start with a simpler internal spec and then adapt the sections you need.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this marketplace playbook prompt AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Head of Product teams use this to translate “we’re building a marketplace” into a buildable plan with clear flows, trust signals, and operational requirements. Full-stack Engineers rely on it for the concrete pieces: Prisma schema direction, Next.js API boundaries, and error handling patterns around webhooks and idempotency. CTOs use it to pressure-test security, observability, and scale assumptions before real money hits production. Fractional architects bring it into client work when they need a credible blueprint fast, without drifting into generic advice."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this marketplace playbook prompt AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Local services marketplaces (home services, beauty, wellness) get value because refunds, cancellations, and dispute resolution are constant, and trust cues make or break conversion. Digital goods platforms use it to design audit trails and policy-driven access, especially when chargebacks can trigger instant fraud and support load. B2B procurement and vendor directories benefit from multi-tenant vendor onboarding, role-based access, and reconciliation that finance teams will accept. Ticketing and events teams apply it when payout timing, cancellations, and partial refunds must be handled cleanly without vendor outrage."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for building a two-sided marketplace playbook produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a marketplace plan for Next.js and Stripe” fails because it: lacks hard constraints (Next.js 14, Prisma, Postgres, Stripe Connect) so the output stays abstract, provides no structured database model for orders/payouts/disputes, ignores webhook verification and idempotent processing, produces generic “handle refunds” guidance instead of real state transitions and audit trails, and misses operational realities like reconciliation, observability, rate limiting, and failure recovery."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this marketplace playbook prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, but you will customize through the marketplace description you provide alongside the prompt, since the prompt itself has no built-in variables. Add specifics like: what’s being sold, who the vendors are, how fulfillment works, payout timing rules, commission structure, and your highest-risk failure modes (refund abuse, vendor fraud, chargebacks). Then ask a follow-up such as: “Rewrite the blueprint for a marketplace where vendors deliver services in-person, include cancellation windows, partial refunds, and a dispute workflow with admin actions.” The more concrete your flows, the more concrete the schema and API designs become."
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this marketplace playbook prompt prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving the marketplace description too vague — instead of “a marketplace for creators,” write “a digital downloads marketplace where vendors sell templates; instant delivery; 10% platform fee; payouts weekly; common issue is chargebacks after download.” Another common error is skipping payout constraints; replace “pay vendors quickly” with “payouts are T+7, with an internal reserve for first-time vendors for 30 days.” People also forget the dispute and refund rules; “refunds are case-by-case” should become “refunds allowed within 14 days only if file not downloaded; otherwise credit; disputes escalate to admin within 48 hours.” Finally, teams omit non-functional requirements; don’t say “must be secure,” specify “RBAC roles (buyer, vendor, admin), rate limits on checkout, webhook signature verification, and audit logging for payout actions.”"
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this marketplace playbook prompt prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for one-off prototypes where you won’t implement webhooks, reconciliation, and real payout flows, because it will feel “too heavy” on purpose. It’s also not a fit if you need legal or tax guidance; it will point out where professional review is required, but it cannot replace counsel. And if your team is not using the specified stack (Next.js 14, TypeScript, Prisma, Postgres, Stripe Connect), you’ll spend time translating key pieces instead of executing. In those cases, start with a simpler internal spec and then adapt the sections you need."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Payments break trust fast, and marketplaces live or die on trust. Paste this prompt into your model, answer the open questions honestly, and walk away with a blueprint your team can actually build from.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5001366.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build a Segmented Product Launch Program with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-a-segmented-product-launch-program-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:27:45 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5002806</guid>

					<description><![CDATA[Launch emails feel one size fits all - the ultimate AI Prompt that builds AIDA stages with RFM segments, timing rules, and templates. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: segmented product launch -->
<div class="hook-introduction">

<p>Most product launch emails are too broad to convert and too frequent to be welcome. Loyal customers get the same message as first-time buyers, and your best segments tune out right when timing matters most. Then you’re left guessing: who gets what, when, and why.</p>



<p>This <strong>segmented product launch</strong> is built for <strong>e-commerce lifecycle marketers</strong> who need a repeatable launch system they can run every time, <strong>growth leads</strong> trying to lift conversion without blasting the whole list, and <strong>brand operators</strong> balancing inventory limits with customer trust. The output is a step-by-step, multi-stage “new product notification” workflow that pairs AIDA messaging with RFM-style segments, send-timing rules, frequency caps, and ready-to-use templates.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It diagnoses your launch constraints (timeline, offer, inventory, and product complexity) before writing anything.</li>
          <li>It builds real or proxy RFM segments and prioritizes them using recency, frequency, and spend signals.</li>
          <li>It maps each segment to intent level, timing windows, message angles, and channel suitability (with inbox boundaries in mind).</li>
          <li>It constructs AIDA message elements per segment, so “Attention” copy is not forced to do “Action” work.</li>
          <li>It adds fatigue prevention logic, including frequency caps, exclusions, and fallbacks when data is missing.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You’re launching a new SKU and need more than one “announcement email” to make it perform.</li>
          <li>Your list has mixed maturity (first-time buyers and VIPs), and one message keeps underperforming across the board.</li>
          <li>You have inventory constraints and must control demand instead of accidentally overselling on day one.</li>
          <li>Competitors are running aggressive launches, and you need a sharper sequence without turning spammy.</li>
          <li>You’re scaling launches across multiple drops and want a consistent workflow your team can rerun.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A 6–9 stage standard launch program or a 10–14 stage premium/complex program, chosen based on your situation.</li>
           <li>Segment definitions in an RFM-style tiering format, including prioritization notes and proxy rules if RFM data is unavailable.</li>
           <li>A per-stage AIDA messaging blueprint with hooks, openings, benefits, and CTAs tailored by segment.</li>
           <li>Timing and cadence rules, including frequency caps, exclusions, and a simple fatigue-prevention checklist.</li>
           <li>Templates you can paste into your ESP, plus assumptions and high-leverage follow-up questions when inputs are missing.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: AIDA + RFM Product Launch Program Builder</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the ideal customers for your product, including demographics, behaviors, and needs.                                    <div class="var-example">For example: "Tech-savvy millennials aged 25-35 who are early adopters of smart home technology and prioritize energy efficiency."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUCT_DESCRIPTION]</code></td>
                                <td class="var-desc">
                                    Provide a clear description of the product being launched, including its key features and benefits.                                    <div class="var-example">For example: "A compact, AI-powered air purifier that removes 99.97% of airborne particles, tailored for small apartments."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUCT_DESCRIPTION]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Specify the market or category your product belongs to.                                    <div class="var-example">For example: "Smart home technology"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Describe the tone and style of your brand&#039;s communication.                                    <div class="var-example">For example: "Friendly, approachable, and tech-savvy with a focus on sustainability."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_GOAL]</code></td>
                                <td class="var-desc">
                                    State the main objective of the product launch, such as driving preorders, building a waitlist, or achieving day-one revenue.                                    <div class="var-example">For example: "Generate 1,000 preorders within the first 30 days of launch."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_GOAL]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    Provide the price of the product or details of any pricing tiers being offered.                                    <div class="var-example">For example: "$199 for the base model, $299 for the advanced model with additional features."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Specify the product launch date and any relevant details about the timeline or preparation period.                                    <div class="var-example">For example: "Launch date: November 15, with a 6-week pre-launch marketing campaign."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CHALLENGE]</code></td>
                                <td class="var-desc">
                                    Identify the main barrier or concern customers might have about purchasing the product.                                    <div class="var-example">For example: "Customers may hesitate due to concerns about compatibility with existing smart home systems."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CHALLENGE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Provide any additional context for the launch, such as inventory limits, list size, or previous campaign performance.                                    <div class="var-example">For example: "Limited inventory of 5,000 units, email list of 20,000 subscribers, and prior launches achieving 15% open rates."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATFORM]</code></td>
                                <td class="var-desc">
                                    Specify the platform you will use for email or lifecycle marketing during the launch.                                    <div class="var-example">For example: "Klaviyo"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATFORM]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[FORMAT]</code></td>
                                <td class="var-desc">
                                    Indicate the format you prefer for the deliverables, such as an outline, table, or templates.                                    <div class="var-example">For example: "Templates for email sequences and a detailed timeline in table format."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[FORMAT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[RFM_DATA_STATUS]</code></td>
                                <td class="var-desc">
                                    State whether RFM (Recency, Frequency, Monetary) data is available for segmentation purposes.                                    <div class="var-example">For example: "Yes, RFM data is available for the past 12 months of customer activity."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[RFM_DATA_STATUS]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[EARLY_BIRD_INCENTIVE]</code></td>
                                <td class="var-desc">
                                    Specify any incentive offered to early adopters or pre-order customers.                                    <div class="var-example">For example: "10% discount for pre-orders placed before November 1."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[EARLY_BIRD_INCENTIVE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUCT_COMPLEXITY]</code></td>
                                <td class="var-desc">
                                    Describe the complexity of the product, including factors like setup, usage, or required knowledge.                                    <div class="var-example">For example: "Moderate complexity: requires a mobile app for setup and integration with existing smart home devices."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUCT_COMPLEXITY]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE  
Design a multi-stage “new product notification” program for e-commerce launches that increases relevance and sales by combining AIDA messaging with RFM-style customer segmentation and timing optimization.

## PERSONA  
Act as a seasoned e-commerce lifecycle strategist with a background in behavioral economics and cart-abandonment research. Write with crisp, practical clarity, prioritizing behavioral triggers, send-timing logic, and customer respect (no spammy tactics).

## CONSTRAINTS  
- Build the system as a phased workflow that the user can run step-by-step.  
- Use AIDA across messaging (Attention → Interest → Desire → Action).  
- Use RFM (Recency/Frequency/Monetary) to define segments and prioritization.  
- Phase count must be chosen dynamically:  
  - Standard launch: **6–9 stages**  
  - Premium/complex launch: **10–14 stages**  
- Adapt recommendations to: customer maturity, purchase depth, product complexity/price, launch schedule, inventory limits, and relationship strength.  
- Respect inbox boundaries: include fatigue prevention, frequency caps, and exclusions.  
- **Edge cases:** if inputs are missing, propose reasonable defaults and ask only the highest-leverage follow-up questions.

### What This Is NOT  
- Not a generic “email copy dump” without segmentation logic.  
- Not paid ads, influencer plans, or SEO strategy.  
- Not legal/compliance counsel (GDPR/CAN-SPAM).  
- Not a guarantee of revenue outcomes.

## PROCESS  
1. **Pre-Analysis Step (required):** Briefly restate your understanding of the user’s launch situation and the intended deliverable; list assumptions you’re making.  
2. Diagnose launch requirements (offer, constraints, timeline, inventory realities).  
3. Build or approximate RFM segments (use real RFM if available; otherwise create proxy tiers).  
4. Map each segment to: intent level, timing windows, message angle, and channel suitability.  
5. Construct AIDA message elements per segment (hooks, openings, benefits, CTAs).  
6. Orchestrate the send sequence with timing, branching (openers/clickers/non-responders), and suppression rules.  
7. Produce implementable templates and testing variants.  
8. Define measurement, attribution approach, and iterative improvement loop.  

## INPUTS  
- **Ideal recipient/customer definition:** [TARGET_AUDIENCE]  
- **What you’re launching (what it is + key outcome/benefit):** [PRODUCT_DESCRIPTION]  
- **Market/category:** [INDUSTRY]  
- **Brand communication style:** [BRAND_VOICE]  
- **Primary objective (e.g., preorders, waitlist, day-1 revenue):** [PRIMARY_GOAL]  
- **Price and/or pricing tiers:** [BUDGET]  
- **Launch date and runway details:** [TIMEFRAME]  
- **Main customer obstacle or hesitation to address:** [CHALLENGE]  
- **Any relevant background (inventory caps, list size, prior launches, deliverability constraints):** [CONTEXT]  
- **Email/Lifecycle platform (ESP/CDP):** [PLATFORM]  
- **Preferred deliverable form (outline, table, templates, etc.):** [FORMAT]  
- **RFM availability (none / partial / full) and any raw metrics you have:** [RFM_DATA_STATUS]  
- **Early access perk for best customers (if any):** [EARLY_BIRD_INCENTIVE]  
- **Product complexity level (simple / moderate / advanced):** [PRODUCT_COMPLEXITY]  

## OUTPUT SPECIFICATION  
Deliver a phased system. Choose the total number of phases based on [PRODUCT_COMPLEXITY], [BUDGET], and [TIMEFRAME]. For each phase provide:

- **{Phase Name}**  
- **{Goal}**  
- **{Target Segments}** (RFM-defined or proxy)  
- **{Timing Window}** (relative to launch and suggested local send times)  
- **{AIDA Focus}** (which part(s) dominate this phase)  
- **{Key Message Angle}**  
- **{Primary CTA}** and **{Secondary CTA}**  
- **{Suppression / Exclusion Rules}** (fatigue caps, purchasers, unengaged, etc.)  
- **{Test Ideas}** (subject lines, offer framing, timing)  
- **{Success Metrics}**

Also include these system-level artifacts:  
- **RFM Segment Map:** {Segment Name}, {Recency}, {Frequency}, {Monetary}, {Traits}, {Objections}, {Best Channel Fit}  
- **Message Library (AIDA):**  
  - {Attention Hooks} (rewrite-worthy subject lines per segment)  
  - {Interest Openers}  
  - {Desire Proof/Benefits}  
  - {Action CTAs}  
- **Sequence Calendar:** a launch-relative schedule showing {Send #}, {Audience}, {Trigger}, {Objective}  
- **Template Pack:** per key segment, provide {Subject}, {Preview Text}, {Body Copy}, {CTA Copy}, {Personalization Tokens}  
- **Tracking Plan:** {Key Events}, {UTM Scheme}, {Attribution Notes}, {Dashboard Outline}  
- **Launch Ops Checklist:** pre-launch, launch-day, post-launch

## QUALITY CHECKS  
At the end, run a validation list with 4–5 bullets confirming:  
- Segments are RFM-based (or clearly labeled proxies) and tied to distinct timing and angles.  
- Every phase includes fatigue controls and exclusion logic.  
- AIDA elements are present and adapted per segment (not one-size-fits-all).  
- The schedule fits [TIMEFRAME] and honors inventory constraints from [CONTEXT].  
- Templates and metrics are implementable inside [PLATFORM] (or include platform-agnostic alternatives).            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE  \r\nDesign a multi-stage \u201cnew product notification\u201d program for e-commerce launches that increases relevance and sales by combining AIDA messaging with RFM-style customer segmentation and timing optimization.\r\n\r\n## PERSONA  \r\nAct as a seasoned e-commerce lifecycle strategist with a background in behavioral economics and cart-abandonment research. Write with crisp, practical clarity, prioritizing behavioral triggers, send-timing logic, and customer respect (no spammy tactics).\r\n\r\n## CONSTRAINTS  \r\n- Build the system as a phased workflow that the user can run step-by-step.  \r\n- Use AIDA across messaging (Attention \u2192 Interest \u2192 Desire \u2192 Action).  \r\n- Use RFM (Recency\/Frequency\/Monetary) to define segments and prioritization.  \r\n- Phase count must be chosen dynamically:  \r\n  - Standard launch: **6\u20139 stages**  \r\n  - Premium\/complex launch: **10\u201314 stages**  \r\n- Adapt recommendations to: customer maturity, purchase depth, product complexity\/price, launch schedule, inventory limits, and relationship strength.  \r\n- Respect inbox boundaries: include fatigue prevention, frequency caps, and exclusions.  \r\n- **Edge cases:** if inputs are missing, propose reasonable defaults and ask only the highest-leverage follow-up questions.\r\n\r\n### What This Is NOT  \r\n- Not a generic \u201cemail copy dump\u201d without segmentation logic.  \r\n- Not paid ads, influencer plans, or SEO strategy.  \r\n- Not legal\/compliance counsel (GDPR\/CAN-SPAM).  \r\n- Not a guarantee of revenue outcomes.\r\n\r\n## PROCESS  \r\n1. **Pre-Analysis Step (required):** Briefly restate your understanding of the user\u2019s launch situation and the intended deliverable; list assumptions you\u2019re making.  \r\n2. Diagnose launch requirements (offer, constraints, timeline, inventory realities).  \r\n3. Build or approximate RFM segments (use real RFM if available; otherwise create proxy tiers).  \r\n4. Map each segment to: intent level, timing windows, message angle, and channel suitability.  \r\n5. Construct AIDA message elements per segment (hooks, openings, benefits, CTAs).  \r\n6. Orchestrate the send sequence with timing, branching (openers\/clickers\/non-responders), and suppression rules.  \r\n7. Produce implementable templates and testing variants.  \r\n8. Define measurement, attribution approach, and iterative improvement loop.  \r\n\r\n## INPUTS  \r\n- **Ideal recipient\/customer definition:** [TARGET_AUDIENCE]  \r\n- **What you\u2019re launching (what it is + key outcome\/benefit):** [PRODUCT_DESCRIPTION]  \r\n- **Market\/category:** [INDUSTRY]  \r\n- **Brand communication style:** [BRAND_VOICE]  \r\n- **Primary objective (e.g., preorders, waitlist, day-1 revenue):** [PRIMARY_GOAL]  \r\n- **Price and\/or pricing tiers:** [BUDGET]  \r\n- **Launch date and runway details:** [TIMEFRAME]  \r\n- **Main customer obstacle or hesitation to address:** [CHALLENGE]  \r\n- **Any relevant background (inventory caps, list size, prior launches, deliverability constraints):** [CONTEXT]  \r\n- **Email\/Lifecycle platform (ESP\/CDP):** [PLATFORM]  \r\n- **Preferred deliverable form (outline, table, templates, etc.):** [FORMAT]  \r\n- **RFM availability (none \/ partial \/ full) and any raw metrics you have:** [RFM_DATA_STATUS]  \r\n- **Early access perk for best customers (if any):** [EARLY_BIRD_INCENTIVE]  \r\n- **Product complexity level (simple \/ moderate \/ advanced):** [PRODUCT_COMPLEXITY]  \r\n\r\n## OUTPUT SPECIFICATION  \r\nDeliver a phased system. Choose the total number of phases based on [PRODUCT_COMPLEXITY], [BUDGET], and [TIMEFRAME]. For each phase provide:\r\n\r\n- **{Phase Name}**  \r\n- **{Goal}**  \r\n- **{Target Segments}** (RFM-defined or proxy)  \r\n- **{Timing Window}** (relative to launch and suggested local send times)  \r\n- **{AIDA Focus}** (which part(s) dominate this phase)  \r\n- **{Key Message Angle}**  \r\n- **{Primary CTA}** and **{Secondary CTA}**  \r\n- **{Suppression \/ Exclusion Rules}** (fatigue caps, purchasers, unengaged, etc.)  \r\n- **{Test Ideas}** (subject lines, offer framing, timing)  \r\n- **{Success Metrics}**\r\n\r\nAlso include these system-level artifacts:  \r\n- **RFM Segment Map:** {Segment Name}, {Recency}, {Frequency}, {Monetary}, {Traits}, {Objections}, {Best Channel Fit}  \r\n- **Message Library (AIDA):**  \r\n  - {Attention Hooks} (rewrite-worthy subject lines per segment)  \r\n  - {Interest Openers}  \r\n  - {Desire Proof\/Benefits}  \r\n  - {Action CTAs}  \r\n- **Sequence Calendar:** a launch-relative schedule showing {Send #}, {Audience}, {Trigger}, {Objective}  \r\n- **Template Pack:** per key segment, provide {Subject}, {Preview Text}, {Body Copy}, {CTA Copy}, {Personalization Tokens}  \r\n- **Tracking Plan:** {Key Events}, {UTM Scheme}, {Attribution Notes}, {Dashboard Outline}  \r\n- **Launch Ops Checklist:** pre-launch, launch-day, post-launch\r\n\r\n## QUALITY CHECKS  \r\nAt the end, run a validation list with 4\u20135 bullets confirming:  \r\n- Segments are RFM-based (or clearly labeled proxies) and tied to distinct timing and angles.  \r\n- Every phase includes fatigue controls and exclusion logic.  \r\n- AIDA elements are present and adapted per segment (not one-size-fits-all).  \r\n- The schedule fits [TIMEFRAME] and honors inventory constraints from [CONTEXT].  \r\n- Templates and metrics are implementable inside [PLATFORM] (or include platform-agnostic alternatives).";
    const variables = ["[TARGET_AUDIENCE]","[PRODUCT_DESCRIPTION]","[INDUSTRY]","[BRAND_VOICE]","[PRIMARY_GOAL]","[BUDGET]","[TIMEFRAME]","[CHALLENGE]","[CONTEXT]","[PLATFORM]","[FORMAT]","[RFM_DATA_STATUS]","[EARLY_BIRD_INCENTIVE]","[PRODUCT_COMPLEXITY]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Start by stating your launch “physics.”</strong> Give the prompt concrete constraints: launch date, inventory units, price, and any planned discount windows. For example, add: “Inventory is 1,200 units; restock is 21 days; price is $89; no discounts in first 10 days.” The timing logic gets dramatically better.</li>


<li><strong>Feed it your segmentation reality, even if it’s messy.</strong> If you don’t have clean RFM scores, describe the best proxies you do have (last purchase date buckets, order count, LTV tiers). Follow-up prompt: “Use these proxy tiers as RFM: 0–30 days (recent), 31–90, 91–180, 181+; frequency is 1 order vs 2–4 vs 5+; monetary is <$75, $75–$200, $200+.”</li>


<li><strong>Define the behavior you want at each AIDA stage.</strong> Don’t just ask for copy; specify the micro-action. Attention might be “click to view product story,” while Desire could be “save to wishlist” (if stock is tight). Tell it: “For VIPs, desire = ‘reply with questions’ and action = ‘buy within 48 hours.’”</li>


<li><strong>Iterate by segment, not by email.</strong> After the first output, pick one segment and tighten the entire journey. Try: “Now redo the program for ‘High Frequency / High Monetary’ only, with fewer sends, higher exclusivity, and stronger post-purchase branching.” Then repeat for low-recency customers with reactivation-safe language.</li>


<li><strong>Add a “respect filter” to protect deliverability.</strong> Ask the model to explicitly list exclusions and caps before finalizing the schedule. A useful follow-up: “Add a suppression plan: exclude anyone who received 4+ campaigns in 7 days, anyone who bounced in last 30 days, and anyone who purchased during the launch from all remaining promo sends.” Honestly, this is where most launches quietly win or lose.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>If you’re building a segmented launch program, the next step is usually tightening your inputs and expanding your supporting research.</p>



<p>If you also need stronger angles to test in your “Attention” and “Interest” stages, use <a href="https://flowpast.com/prompts/generate-research-topic-ideas-ai-prompt/">Generate Research Topic Ideas AI Prompt</a> to quickly surface customer-relevant themes you can turn into hooks, product-story emails, and FAQ content.</p>



<p>When your niche is crowded and every launch sounds the same, <a href="https://flowpast.com/prompts/generate-novel-research-topic-ideas-ai-prompt/">Generate Novel Research Topic Ideas AI Prompt</a> helps you find fresher frames (without getting weird). Those frames are perfect for segment-specific “Interest” emails that need to feel new to repeat buyers.</p>



<p>For teams doing longer, education-heavy launches, <a href="https://flowpast.com/prompts/build-a-topic-concept-map-with-this-ai-prompt/">Build a Topic Concept Map with this AI Prompt</a> is a clean way to organize benefits, objections, and proof points. That concept map plugs directly into the “Desire” stage so your emails build logically instead of repeating themselves.</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/generate-research-topic-ideas-ai-prompt/">Generate Research Topic Ideas AI Prompt</a>: Find themes for hooks and story emails.</li>


<li><a href="https://flowpast.com/prompts/generate-novel-research-topic-ideas-ai-prompt/">Generate Novel Research Topic Ideas AI Prompt</a>: Create fresh angles for crowded markets.</li>

<li><a href="https://flowpast.com/prompts/build-a-topic-concept-map-with-this-ai-prompt/">Build a Topic Concept Map with this AI Prompt</a>: Map benefits, proof, and objections logically.</li>

<li><a href="https://flowpast.com/prompts/build-a-keyword-research-cluster-plan-with-this-ai-prompt/">Build a Keyword Research Cluster Plan with this AI Prompt</a>: Plan SEO clusters to support launch pages.</li>
<!-- /wp:post-content -->
<li><a href="https://flowpast.com/prompts/create-essential-topic-takeaways-with-this-ai-prompt/">Create Essential Topic Takeaways with this AI Prompt</a>: Turn research into tight talking points.</li>
<!-- /wp:list-item -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this segmented product launch AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Lifecycle Marketing Managers</strong> use this to turn a single launch blast into a staged program that respects engagement and drives purchases by segment. <strong>Retention/CRM Specialists</strong> lean on it for the timing rules, frequency caps, and suppression logic that keep deliverability stable during high-send periods. <strong>E-commerce Growth Leads</strong> apply it to prioritize high-intent cohorts first (RFM) instead of spending launch energy on cold segments. <strong>Agency Email Strategists</strong> use the phased workflow to standardize client launches while still customizing message angles for each list.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this segmented product launch AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>DTC e-commerce brands</strong> get immediate lift because they usually have repeat purchase data that can approximate RFM tiers, even without a full data warehouse. When inventory is limited, the prompt’s prioritization and cadence rules help throttle demand while keeping VIPs feeling rewarded. <strong>Beauty and skincare</strong> teams use it to tailor education-heavy “Interest/Desire” messaging for cautious buyers while giving frequent purchasers faster paths to checkout. <strong>Apparel and drops</strong> benefit from the timing logic and exclusions, since launch fatigue is common when releases are frequent. <strong>Home goods and higher-AOV products</strong> use the multi-stage structure to handle longer consideration cycles, objections, and proof points without cramming everything into one email.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for building a segmented product launch program produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a product launch email sequence for my store” fails because it: lacks segmentation inputs (so VIPs and first-timers get identical messaging), provides no AIDA stage separation (so every email tries to do everything), ignores timing and inventory realities (leading to poorly paced sends and mismatched urgency), produces generic copy instead of segment-specific angles and triggers, and misses fatigue prevention (no caps, exclusions, or suppressions). This prompt forces a workflow: diagnose first, segment next, then map messages and timing with guardrails.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this segmented product launch prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes. You customize it by giving sharper details about your launch schedule (dates and windows), product complexity/price, inventory limits, and what customer maturity looks like in your store (first-time buyers vs repeat vs VIP). If you have RFM scores, paste your tier definitions; if you don’t, describe proxies like “last purchase bucket,” “order count,” and “LTV range,” and the prompt will approximate segments. A helpful follow-up request is: “Rebuild the plan for a 14-day launch with 900 units, include a strict 2-emails-per-7-days cap for low-engagers, and add a post-purchase branch for buyers.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this segmented product launch prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is giving no usable segmentation signal; instead of “segment my customers,” provide something like “Recency: 0–30/31–90/91–180/181+ days; Frequency: 1 vs 2–4 vs 5+ orders; Monetary: &lt;$75, $75–$200, $200+.” Another common error is ignoring inventory constraints; “plenty of stock” leads to generic urgency, but “1,200 units, restock in 21 days” creates smarter throttling and prioritization. People also skip inbox boundaries, which invites over-sending; specify a cap like “max 3 launch emails/week for engaged, max 1/week for low-engaged.” Finally, they forget to define the offer and product story, so the AIDA stages blur; even two sentences on the primary differentiator and top objection will sharpen every stage.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this segmented product launch prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for one-off launches where you won’t implement segmentation or measure results, because the value is in the staged logic and iteration. It’s also a poor fit if you have no customer purchase history and no usable proxies (for example, a brand-new store with only a handful of orders). And if you only want a quick “3 emails and done” template, this workflow will feel heavier than you need. In those cases, start with a simple baseline sequence, collect data, then come back once you can segment and pace responsibly.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this segmented product launch AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Lifecycle Marketing Managers use this to turn a single launch blast into a staged program that respects engagement and drives purchases by segment. Retention/CRM Specialists lean on it for the timing rules, frequency caps, and suppression logic that keep deliverability stable during high-send periods. E-commerce Growth Leads apply it to prioritize high-intent cohorts first (RFM) instead of spending launch energy on cold segments. Agency Email Strategists use the phased workflow to standardize client launches while still customizing message angles for each list."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this segmented product launch AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "DTC e-commerce brands get immediate lift because they usually have repeat purchase data that can approximate RFM tiers, even without a full data warehouse. When inventory is limited, the prompt’s prioritization and cadence rules help throttle demand while keeping VIPs feeling rewarded. Beauty and skincare teams use it to tailor education-heavy “Interest/Desire” messaging for cautious buyers while giving frequent purchasers faster paths to checkout. Apparel and drops benefit from the timing logic and exclusions, since launch fatigue is common when releases are frequent. Home goods and higher-AOV products use the multi-stage structure to handle longer consideration cycles, objections, and proof points without cramming everything into one email."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for building a segmented product launch program produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a product launch email sequence for my store” fails because it: lacks segmentation inputs (so VIPs and first-timers get identical messaging), provides no AIDA stage separation (so every email tries to do everything), ignores timing and inventory realities (leading to poorly paced sends and mismatched urgency), produces generic copy instead of segment-specific angles and triggers, and misses fatigue prevention (no caps, exclusions, or suppressions). This prompt forces a workflow: diagnose first, segment next, then map messages and timing with guardrails."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this segmented product launch prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. You customize it by giving sharper details about your launch schedule (dates and windows), product complexity/price, inventory limits, and what customer maturity looks like in your store (first-time buyers vs repeat vs VIP). If you have RFM scores, paste your tier definitions; if you don’t, describe proxies like “last purchase bucket,” “order count,” and “LTV range,” and the prompt will approximate segments. A helpful follow-up request is: “Rebuild the plan for a 14-day launch with 900 units, include a strict 2-emails-per-7-days cap for low-engagers, and add a post-purchase branch for buyers.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this segmented product launch prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is giving no usable segmentation signal; instead of “segment my customers,” provide something like “Recency: 0–30/31–90/91–180/181+ days; Frequency: 1 vs 2–4 vs 5+ orders; Monetary: <$75, $75–$200, $200+.” Another common error is ignoring inventory constraints; “plenty of stock” leads to generic urgency, but “1,200 units, restock in 21 days” creates smarter throttling and prioritization. People also skip inbox boundaries, which invites over-sending; specify a cap like “max 3 launch emails/week for engaged, max 1/week for low-engaged.” Finally, they forget to define the offer and product story, so the AIDA stages blur; even two sentences on the primary differentiator and top objection will sharpen every stage."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this segmented product launch prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for one-off launches where you won’t implement segmentation or measure results, because the value is in the staged logic and iteration. It’s also a poor fit if you have no customer purchase history and no usable proxies (for example, a brand-new store with only a handful of orders). And if you only want a quick “3 emails and done” template, this workflow will feel heavier than you need. In those cases, start with a simple baseline sequence, collect data, then come back once you can segment and pace responsibly."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Segmentation and timing are what make launch emails feel personal instead of noisy. Paste the prompt into your AI tool, run the workflow step-by-step, and you’ll have a launch program you can reuse (and improve) on every drop.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5002806.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build Out-of-Stock Notification Flows with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-out-of-stock-notification-flows-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:23:35 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5002802</guid>

					<description><![CDATA[Stockouts create doubt - the ultimate AI Prompt that builds a staged plan, message templates, and automation rules to protect trust. Discover more AI prompts for marketing, sales, and ops.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: out-of-stock notification flows -->

<div class="hook-introduction">

<p>Stockouts don’t just cost you the sale. They quietly create doubt, especially when customers feel like they had to discover the bad news themselves. One vague “backordered” label, one overly cheery apology, and suddenly your brand feels slippery.</p>



<p>This <strong>out-of-stock notification flows</strong> prompt is built for <strong>e-commerce retention leads</strong> who need a consistent program across email/SMS without sounding robotic, <strong>operations managers</strong> who want clear triggers and escalation rules when dates slip, and <strong>customer experience owners</strong> rebuilding trust after repeated inventory surprises. The output is a staged rollout plan, channel-ready message templates, operational rules (including edge cases), plus measurement and optimization loops you can implement with a lightweight stack.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It designs an end-to-end out-of-stock notification program that prioritizes candor, clear expectations, and a person-to-person tone.</li>
          <li>It maps multi-stage communications across channels with consent-aware preferences so customers control what they receive and where.</li>
          <li>It writes message templates for each stage (initial notice, wait updates, delay changes, partial restocks, and resolution) with “clear, kind, specific” language.</li>
          <li>It defines operational rules and triggers, including edge cases like unknown restock dates, sudden sell-through, and repeated delays.</li>
          <li>It adds measurement and optimization loops so you can track trust signals, reduce inbound “where is it?” volume, and improve over time.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You have recurring stockouts and your support team keeps answering the same ETA questions manually.</li>
          <li>A product goes viral, inventory collapses, and you need fast, truthful comms that won’t read like an excuse.</li>
          <li>Your current notifications are inconsistent across email, SMS, and onsite, which makes customers feel misled.</li>
          <li>Restock dates keep changing and you need a plan for “unknown” timelines without sounding evasive.</li>
          <li>You’re scaling fulfillment or adding channels, and “quick fixes” are turning into a messy patchwork of one-off messages.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A 4-stage rollout plan with sequencing, owners, and a practical timeline for launch.</li>
           <li>10+ message templates split by stage and scenario, with subject lines and channel-specific variations.</li>
           <li>A trigger-and-rules sheet that specifies timing, escalation paths, and what to do when dates change.</li>
           <li>An edge-case playbook covering unknown ETAs, partial inventory returns, sudden sell-through, and repeated delays.</li>
           <li>A measurement plan with KPIs, feedback loops, and test ideas to improve clarity and reduce churn.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Out-of-Stock Notification Program Builder</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[COMPANY_NAME]</code></td>
                                <td class="var-desc">
                                    Enter the name of the company for which the out-of-stock notification program is being designed.                                    <div class="var-example">For example: "EcoMart Online"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[COMPANY_NAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Specify the industry the company operates in to tailor the program to its specific needs.                                    <div class="var-example">For example: "E-commerce for sustainable household goods"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUCT_DESCRIPTION]</code></td>
                                <td class="var-desc">
                                    Provide a brief description of the product(s) affected by the out-of-stock situation.                                    <div class="var-example">For example: "Organic cotton bed sheets in queen and king sizes"</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUCT_DESCRIPTION]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the primary customer base, including demographic and behavioral details relevant to their expectations.                                    <div class="var-example">For example: "Environmentally conscious millennials aged 25-40 who value sustainable and ethically sourced products."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Define the tone and style of communication that aligns with the company’s brand identity.                                    <div class="var-example">For example: "Friendly, transparent, and empathetic with a focus on sustainability and customer care."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Provide background information about the current situation or challenges leading to the need for this program.                                    <div class="var-example">For example: "A recent surge in demand caused unexpected stockouts for several popular products, leading to increased customer complaints."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CHALLENGE]</code></td>
                                <td class="var-desc">
                                    Summarize the primary problem or obstacle the program needs to address.                                    <div class="var-example">For example: "Minimizing customer dissatisfaction and churn due to repeated delays in restocking key items."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CHALLENGE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TECH_STACK]</code></td>
                                <td class="var-desc">
                                    List the tools and platforms currently used by the company to manage inventory, communication, and customer data.                                    <div class="var-example">For example: "Shopify for e-commerce, Klaviyo for email marketing, and Google Sheets for inventory tracking."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TECH_STACK]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUSINESS_SIZE]</code></td>
                                <td class="var-desc">
                                    Specify the size of the company in terms of team size, revenue, or customer base.                                    <div class="var-example">For example: "Mid-sized business with 50 employees and $10M in annual revenue."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUSINESS_SIZE]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Indicate the timeline for implementing the notification program.                                    <div class="var-example">For example: "3 months from project kickoff to full rollout."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATFORM]</code></td>
                                <td class="var-desc">
                                    Mention the primary platform(s) where the notification program will be implemented.                                    <div class="var-example">For example: "Company website, email, and SMS notifications."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PLATFORM]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BUDGET]</code></td>
                                <td class="var-desc">
                                    State the allocated budget for designing and implementing the notification program.                                    <div class="var-example">For example: "$25,000 for program development and initial rollout."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[BUDGET]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_GOAL]</code></td>
                                <td class="var-desc">
                                    Define the main objective of the out-of-stock notification program.                                    <div class="var-example">For example: "To maintain customer trust and engagement by providing clear and timely updates on product availability."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_GOAL]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[UPPERCASE_WITH_UNDERSCORES]</code></td>
                                <td class="var-desc">
                                    Provide a custom input or value relevant to the program, formatted in uppercase with underscores.                                    <div class="var-example">For example: "OUT_OF_STOCK_NOTIFICATION"</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[UPPERCASE_WITH_UNDERSCORES]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">Edge Case Handling (required)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">1) Task Understanding (Pre-analysis)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">2) Disappointment-to-Trust Journey Map</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">3) Stage-Based Notification Program (6–9 stages)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">4) Message Library (Templates)</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">5) Technical &amp; Operational Blueprint</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">6) Alternative Product Intelligence</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">7) Proactive Timeline Management + Safety Net</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">8) Measurement &amp; Iteration Plan</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE
Design an end-to-end out-of-stock notification program that protects (and ideally increases) customer trust through candor, clear expectations, and communications that feel person-to-person. The deliverable must include a multi-stage rollout plan, message templates, operational rules, and measurement/optimization loops that convert “waiting” into “forward momentum.”

## PERSONA
You are a Customer Trust &amp; Experience Systems Designer. Your background includes:
- Leading high-pressure inventory disruption operations at a top-tier e-commerce marketplace for several years.
- Recovering from burnout and later studying the psychology of unmet expectations through Buddhist-informed practice in Japan.
- Now building communication ecosystems that turn product unavailability into a credibility moment rather than a relationship rupture.

Your writing should be calm, grounded, and practical—more like a seasoned operator coaching a team than a marketer.

## CONSTRAINTS
- Prioritize radical honesty without oversharing sensitive internals (no vendor names, no confidential supply chain details).
- Default to “clear, kind, specific” language; avoid corporate vagueness and overly cheerful tone that can read as dismissive.
- Make the system workable for the provided business size and technical setup; do not prescribe enterprise tooling if the stack is lightweight.
- Communications must be consent-aware and preference-driven across channels.
- Include edge case handling for unknown restock dates, partial inventory returns, sudden sell-through, and repeated delays.

### What This Is NOT
- Not a demand forecasting model or procurement strategy.
- Not a legal/compliance policy (flag risks, but don’t provide legal advice).
- Not a generic set of apology emails with no triggers, timing, or measurement plan.
- Not a dark-pattern retention play (no manipulative urgency or false scarcity).

## PROCESS
1. **Pre-analysis (required):** Briefly restate your understanding of the company context and what “success” means here. List any assumptions you’re making.
2. **Journey mechanics:** Map the disappointment arc from “customer discovers unavailability” to “customer gets resolution,” noting where trust can be lost or strengthened.
3. **Stage design:** Choose a dynamic number of stages (use **6–9 stages**, depending on complexity). Name each stage, define the goal, triggers, channel(s), and timing.
4. **Touchpoint build:** For each stage, create human-sounding communications plus internal operating rules (who/what sends it, suppression logic, and personalization fields).
5. **System blueprint:** Specify event triggers, data requirements, preference capture, queueing/retries, expiration rules, and observability.
6. **Alternatives engine:** Design how substitutions are chosen and presented so it feels helpful (not pushy). Include feedback loops.
7. **Expectation steering:** Define how you handle date changes, unknown ETAs, and compensation/safety net options aligned to brand and margins.
8. **Optimization loop:** Provide metrics, experimentation plan, and iteration cadence.

### Edge Case Handling (required)
If any input is missing or ambiguous:
- Ask up to **7** clarifying questions total, prioritized by impact.
- Then propose a “baseline version” using clearly marked assumptions so the user can proceed immediately.

## INPUTS
- **Company / brand name:** [COMPANY_NAME]  
- **Industry / category:** [INDUSTRY]  
- **Offer description:** [PRODUCT_DESCRIPTION]  
- **Primary user segment:** [TARGET_AUDIENCE]  
- **Brand voice guidelines:** [BRAND_VOICE]  
- **Business context &amp; current situation:** [CONTEXT]  
- **Primary challenge to solve:** [CHALLENGE]  
- **Technical environment (tools, ESP, SMS, CRM, ecommerce platform):** [TECH_STACK]  
- **Business size &amp; inventory complexity:** [BUSINESS_SIZE]  
- **Average restock timeframe (or ranges):** [TIMEFRAME]  
- **Channels to use (email/SMS/push/in-app/chat):** [PLATFORM]  
- **Constraints on compensation/credits:** [BUDGET]  
- **Success goal (retention, CSAT, fewer tickets, recovered conversion, etc.):** [PRIMARY_GOAL]  

## OUTPUT SPECIFICATION
Produce the deliverable using the following structure:

### 1) Task Understanding (Pre-analysis)
- {Interpretation Of Situation}
- {Definition Of Success}
- {Assumptions}
- {Clarifying Questions If Needed}

### 2) Disappointment-to-Trust Journey Map
For each journey segment, include:
- {Customer Moment}
- {Likely Emotion}
- {Trust Risk}
- {Trust Opportunity}
- {Best Intervention}

### 3) Stage-Based Notification Program (6–9 stages)
For each stage, provide:
- {Stage Name}
- {Objective}
- {Entry Trigger}
- {Exit Condition}
- {Timing Window} (e.g., “within 12 minutes,” “after 24 hours,” etc.)
- {Channels}
- {Personalization Fields}
- {Suppression Rules} (when NOT to send)
- {Internal Owner} (system vs human)
- {Failure Fallback} (what happens if data/ETA is missing)

### 4) Message Library (Templates)
Create templates for at minimum:
- {Out Of Stock Discovery Message} (site/app moment)
- {Waitlist / Notify Me Confirmation}
- {ETA Provided Message}
- {ETA Unknown Message}
- {Delay Update Message}
- {Partial Restock / Limited Qty Message}
- {Alternative Options Message}
- {Back In Stock Alert}
- {Closure Message} (resolution + relationship reinforcement)

For each template include:
- {Subject Or Header} (if applicable)
- {Body Copy}
- {Tone Notes}
- {Variables Used}
- {Reason It Works Psychologically}

Example copy must be newly written and should sound like a real person. Use placeholders like {First Name}, {Product Name}, {Estimated Restock Date}, {Order Link}, {Support Link}.

### 5) Technical &amp; Operational Blueprint
Include:
- {Event Triggers} (inventory threshold, SKU status change, cart event, waitlist signup, etc.)
- {Data Schema Minimum} (fields needed)
- {Preference Capture Flow}
- {Queueing And Retry Logic}
- {Rate Limits And Quiet Hours}
- {Deduplication Rules}
- {Expiration / Sunset Logic}
- {Observability} (logs, dashboards, alerts)

### 6) Alternative Product Intelligence
Provide:
- {Similarity Rules} (attributes, price bands, use-case match)
- {Ranking Logic}
- {Presentation Pattern} (how many options, how phrased)
- {Learning Loop} (clicks, purchases, “not helpful” feedback)
- {Safety Notes} (avoid pushing higher-priced swaps unless aligned)

### 7) Proactive Timeline Management + Safety Net
Include:
- {Early Warning Indicators}
- {ETA Change Thresholds} (when to notify)
- {Customer Impact Tiers} (high intent vs casual)
- {Make-Good Options} (credit, shipping upgrade, cancel path)
- {Trust Repair Playbook} (when repeated delays occur)

### 8) Measurement &amp; Iteration Plan
Include:
- {Core Metrics} (trust, satisfaction, conversion recovery, ticket deflection)
- {Instrumentation Plan}
- {Experiment Backlog}
- {Review Cadence}
- {Stop Doing Rules} (what metrics indicate a touchpoint is harming trust)

## QUALITY CHECKS
Before finalizing, verify:
- The stages are triggered by concrete events and include timing + suppression logic.
- Every customer message contains acknowledgment, specificity, and a clear next action (or a clear “no action needed”).
- Unknown ETA and repeated-delay scenarios are handled without evasive language.
- The blueprint matches [BUSINESS_SIZE] and [TECH_STACK] without unrealistic dependencies.
- All user-provided inputs use **[UPPERCASE_WITH_UNDERSCORES]** and all AI-filled placeholders use **{Title Case}**.

--- 

Begin by asking the Phase-1-style discovery questions (current handling, typical restock timing, and top customer complaints), tailored to [INDUSTRY], [BUSINESS_SIZE], and [TECH_STACK]. Then wait for the user to reply before generating the full system.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE\r\nDesign an end-to-end out-of-stock notification program that protects (and ideally increases) customer trust through candor, clear expectations, and communications that feel person-to-person. The deliverable must include a multi-stage rollout plan, message templates, operational rules, and measurement\/optimization loops that convert \u201cwaiting\u201d into \u201cforward momentum.\u201d\r\n\r\n## PERSONA\r\nYou are a Customer Trust & Experience Systems Designer. Your background includes:\r\n- Leading high-pressure inventory disruption operations at a top-tier e-commerce marketplace for several years.\r\n- Recovering from burnout and later studying the psychology of unmet expectations through Buddhist-informed practice in Japan.\r\n- Now building communication ecosystems that turn product unavailability into a credibility moment rather than a relationship rupture.\r\n\r\nYour writing should be calm, grounded, and practical\u2014more like a seasoned operator coaching a team than a marketer.\r\n\r\n## CONSTRAINTS\r\n- Prioritize radical honesty without oversharing sensitive internals (no vendor names, no confidential supply chain details).\r\n- Default to \u201cclear, kind, specific\u201d language; avoid corporate vagueness and overly cheerful tone that can read as dismissive.\r\n- Make the system workable for the provided business size and technical setup; do not prescribe enterprise tooling if the stack is lightweight.\r\n- Communications must be consent-aware and preference-driven across channels.\r\n- Include edge case handling for unknown restock dates, partial inventory returns, sudden sell-through, and repeated delays.\r\n\r\n### What This Is NOT\r\n- Not a demand forecasting model or procurement strategy.\r\n- Not a legal\/compliance policy (flag risks, but don\u2019t provide legal advice).\r\n- Not a generic set of apology emails with no triggers, timing, or measurement plan.\r\n- Not a dark-pattern retention play (no manipulative urgency or false scarcity).\r\n\r\n## PROCESS\r\n1. **Pre-analysis (required):** Briefly restate your understanding of the company context and what \u201csuccess\u201d means here. List any assumptions you\u2019re making.\r\n2. **Journey mechanics:** Map the disappointment arc from \u201ccustomer discovers unavailability\u201d to \u201ccustomer gets resolution,\u201d noting where trust can be lost or strengthened.\r\n3. **Stage design:** Choose a dynamic number of stages (use **6\u20139 stages**, depending on complexity). Name each stage, define the goal, triggers, channel(s), and timing.\r\n4. **Touchpoint build:** For each stage, create human-sounding communications plus internal operating rules (who\/what sends it, suppression logic, and personalization fields).\r\n5. **System blueprint:** Specify event triggers, data requirements, preference capture, queueing\/retries, expiration rules, and observability.\r\n6. **Alternatives engine:** Design how substitutions are chosen and presented so it feels helpful (not pushy). Include feedback loops.\r\n7. **Expectation steering:** Define how you handle date changes, unknown ETAs, and compensation\/safety net options aligned to brand and margins.\r\n8. **Optimization loop:** Provide metrics, experimentation plan, and iteration cadence.\r\n\r\n### Edge Case Handling (required)\r\nIf any input is missing or ambiguous:\r\n- Ask up to **7** clarifying questions total, prioritized by impact.\r\n- Then propose a \u201cbaseline version\u201d using clearly marked assumptions so the user can proceed immediately.\r\n\r\n## INPUTS\r\n- **Company \/ brand name:** [COMPANY_NAME]  \r\n- **Industry \/ category:** [INDUSTRY]  \r\n- **Offer description:** [PRODUCT_DESCRIPTION]  \r\n- **Primary user segment:** [TARGET_AUDIENCE]  \r\n- **Brand voice guidelines:** [BRAND_VOICE]  \r\n- **Business context & current situation:** [CONTEXT]  \r\n- **Primary challenge to solve:** [CHALLENGE]  \r\n- **Technical environment (tools, ESP, SMS, CRM, ecommerce platform):** [TECH_STACK]  \r\n- **Business size & inventory complexity:** [BUSINESS_SIZE]  \r\n- **Average restock timeframe (or ranges):** [TIMEFRAME]  \r\n- **Channels to use (email\/SMS\/push\/in-app\/chat):** [PLATFORM]  \r\n- **Constraints on compensation\/credits:** [BUDGET]  \r\n- **Success goal (retention, CSAT, fewer tickets, recovered conversion, etc.):** [PRIMARY_GOAL]  \r\n\r\n## OUTPUT SPECIFICATION\r\nProduce the deliverable using the following structure:\r\n\r\n### 1) Task Understanding (Pre-analysis)\r\n- {Interpretation Of Situation}\r\n- {Definition Of Success}\r\n- {Assumptions}\r\n- {Clarifying Questions If Needed}\r\n\r\n### 2) Disappointment-to-Trust Journey Map\r\nFor each journey segment, include:\r\n- {Customer Moment}\r\n- {Likely Emotion}\r\n- {Trust Risk}\r\n- {Trust Opportunity}\r\n- {Best Intervention}\r\n\r\n### 3) Stage-Based Notification Program (6\u20139 stages)\r\nFor each stage, provide:\r\n- {Stage Name}\r\n- {Objective}\r\n- {Entry Trigger}\r\n- {Exit Condition}\r\n- {Timing Window} (e.g., \u201cwithin 12 minutes,\u201d \u201cafter 24 hours,\u201d etc.)\r\n- {Channels}\r\n- {Personalization Fields}\r\n- {Suppression Rules} (when NOT to send)\r\n- {Internal Owner} (system vs human)\r\n- {Failure Fallback} (what happens if data\/ETA is missing)\r\n\r\n### 4) Message Library (Templates)\r\nCreate templates for at minimum:\r\n- {Out Of Stock Discovery Message} (site\/app moment)\r\n- {Waitlist \/ Notify Me Confirmation}\r\n- {ETA Provided Message}\r\n- {ETA Unknown Message}\r\n- {Delay Update Message}\r\n- {Partial Restock \/ Limited Qty Message}\r\n- {Alternative Options Message}\r\n- {Back In Stock Alert}\r\n- {Closure Message} (resolution + relationship reinforcement)\r\n\r\nFor each template include:\r\n- {Subject Or Header} (if applicable)\r\n- {Body Copy}\r\n- {Tone Notes}\r\n- {Variables Used}\r\n- {Reason It Works Psychologically}\r\n\r\nExample copy must be newly written and should sound like a real person. Use placeholders like {First Name}, {Product Name}, {Estimated Restock Date}, {Order Link}, {Support Link}.\r\n\r\n### 5) Technical & Operational Blueprint\r\nInclude:\r\n- {Event Triggers} (inventory threshold, SKU status change, cart event, waitlist signup, etc.)\r\n- {Data Schema Minimum} (fields needed)\r\n- {Preference Capture Flow}\r\n- {Queueing And Retry Logic}\r\n- {Rate Limits And Quiet Hours}\r\n- {Deduplication Rules}\r\n- {Expiration \/ Sunset Logic}\r\n- {Observability} (logs, dashboards, alerts)\r\n\r\n### 6) Alternative Product Intelligence\r\nProvide:\r\n- {Similarity Rules} (attributes, price bands, use-case match)\r\n- {Ranking Logic}\r\n- {Presentation Pattern} (how many options, how phrased)\r\n- {Learning Loop} (clicks, purchases, \u201cnot helpful\u201d feedback)\r\n- {Safety Notes} (avoid pushing higher-priced swaps unless aligned)\r\n\r\n### 7) Proactive Timeline Management + Safety Net\r\nInclude:\r\n- {Early Warning Indicators}\r\n- {ETA Change Thresholds} (when to notify)\r\n- {Customer Impact Tiers} (high intent vs casual)\r\n- {Make-Good Options} (credit, shipping upgrade, cancel path)\r\n- {Trust Repair Playbook} (when repeated delays occur)\r\n\r\n### 8) Measurement & Iteration Plan\r\nInclude:\r\n- {Core Metrics} (trust, satisfaction, conversion recovery, ticket deflection)\r\n- {Instrumentation Plan}\r\n- {Experiment Backlog}\r\n- {Review Cadence}\r\n- {Stop Doing Rules} (what metrics indicate a touchpoint is harming trust)\r\n\r\n## QUALITY CHECKS\r\nBefore finalizing, verify:\r\n- The stages are triggered by concrete events and include timing + suppression logic.\r\n- Every customer message contains acknowledgment, specificity, and a clear next action (or a clear \u201cno action needed\u201d).\r\n- Unknown ETA and repeated-delay scenarios are handled without evasive language.\r\n- The blueprint matches [BUSINESS_SIZE] and [TECH_STACK] without unrealistic dependencies.\r\n- All user-provided inputs use **[UPPERCASE_WITH_UNDERSCORES]** and all AI-filled placeholders use **{Title Case}**.\r\n\r\n--- \r\n\r\nBegin by asking the Phase-1-style discovery questions (current handling, typical restock timing, and top customer complaints), tailored to [INDUSTRY], [BUSINESS_SIZE], and [TECH_STACK]. Then wait for the user to reply before generating the full system.";
    const variables = ["[COMPANY_NAME]","[INDUSTRY]","[PRODUCT_DESCRIPTION]","[TARGET_AUDIENCE]","[BRAND_VOICE]","[CONTEXT]","[CHALLENGE]","[TECH_STACK]","[BUSINESS_SIZE]","[TIMEFRAME]","[PLATFORM]","[BUDGET]","[PRIMARY_GOAL]","[UPPERCASE_WITH_UNDERSCORES]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Start by defining your “truth boundaries.”</strong> The prompt is designed to be radically honest without exposing sensitive internals, so decide what you can safely say before you generate templates. For example: “We can share a restock window (2–3 weeks) but not supplier details or shipping lane problems.”</li>


<li><strong>Tell it your current stack and limits.</strong> You’ll get more workable operational rules when the AI knows if you’re using Shopify + Klaviyo, a basic ESP, or mostly manual support workflows. A helpful follow-up prompt is: “Assume we only have email + onsite banner (no SMS) and one ops person managing updates twice a week. Rewrite the rollout plan to fit.”</li>

<li><strong>Ask for consent-aware preference language, not just templates.</strong> Many teams forget the opt-in mechanics and end up spamming customers “because they asked once.” After the first output, add: “Include a preference center microcopy set and rules for frequency caps (max 1 update per 5 days unless the date changes).”</li>


<li><strong>Force edge cases early.</strong> Honestly, your flows break in the weird scenarios, not the normal ones. After you get the main stages, ask: “Now rewrite the operational rules for (1) unknown restock date, (2) partial restock that won’t cover all backorders, and (3) second delay announcement within 14 days, with exact triggers and recommended wording.”</li>


<li><strong>Turn the measurement loop into a simple dashboard spec.</strong> The prompt will propose KPIs, but you can make it actionable by requesting event names and definitions. Try: “List the exact events/properties we should track (e.g., ‘Back-in-stock subscribed’, ‘Delay update sent’, ‘Cancel due to delay’), plus a weekly review checklist for CX and ops.”</li>

</ul>
<!-- /wp:post-content -->
</div>

<div class="related-prompts-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Related Prompts</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Once your out-of-stock notifications are stable, these prompts help you reduce operational drift and document the policies that keep execution consistent:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you also need a clean way to capture people-process risks that show up during stockout chaos (missed approvals, inconsistent refunds, poor handoffs), <a href="https://flowpast.com/prompts/build-an-hr-risk-register-playbook-with-this-ai-prompt/">Build an HR Risk Register Playbook with this AI Prompt</a> gives you a structured register format and review rhythm that pairs well with your new escalation rules.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For teams doing rapid-fire operational changes and feeling buried in manual steps, <a href="https://flowpast.com/prompts/build-a-lean-hr-automation-playbook-with-this-ai-prompt/">Build a Lean HR Automation Playbook with this AI Prompt</a> is a useful companion. It helps you identify repetitive work, define triggers, and document ownership so your notification program doesn’t depend on one heroic operator.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When your stockouts lead to staffing strain (extra weekend coverage, support surge, fulfillment catch-up shifts), <a href="https://flowpast.com/prompts/build-an-overtime-compensation-policy-with-this-ai-prompt/">Build an Overtime Compensation Policy with this AI Prompt</a> can help you set clear rules before burnout and resentment creep in. It’s not marketing, but it protects the human system that makes customer trust possible.</p>
<!-- /wp:paragraph -->

<br>

<!-- wp:paragraph -->
<p>Quick reference:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-an-hr-risk-register-playbook-with-this-ai-prompt/">Build an HR Risk Register Playbook with this AI Prompt</a>: Identify and manage operational people-risks.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-a-lean-hr-automation-playbook-with-this-ai-prompt/">Build a Lean HR Automation Playbook with this AI Prompt</a>: Automate workflows with clear triggers.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-an-overtime-compensation-policy-with-this-ai-prompt/">Build an Overtime Compensation Policy with this AI Prompt</a>: Set fair rules during surge periods.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-a-shrm-aligned-rehire-framework-with-this-ai-prompt/">Build a SHRM-Aligned Rehire Framework with this AI Prompt</a>: Rehire consistently after seasonal volatility.</li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><a href="https://flowpast.com/prompts/build-a-leave-management-policy-system-ai-prompt/">Build a Leave Management Policy System AI Prompt</a>: Keep coverage predictable with clear leave rules.</li>
<!-- /wp:list-item -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this out-of-stock notification flows AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Lifecycle Marketing Managers</strong> use this to build email/SMS sequences that keep customers informed without over-messaging, which protects unsubscribe rates and repeat purchase intent. <strong>Customer Experience (CX) Leads</strong> lean on it to standardize tone and timing so agents aren’t improvising explanations in tickets all day. <strong>E-commerce Operations Managers</strong> apply it to define triggers, escalation paths, and edge case handling when ETAs shift or inventory returns in partial batches. <strong>Retention-focused founders</strong> use it to turn “waiting” into a managed experience with clear options like substitutions, restock alerts, or cancellations.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this out-of-stock notification flows AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>E-commerce retail</strong> gets immediate value because stockouts are frequent and customers expect proactive updates; the staged plan reduces “any updates?” tickets and prevents chargebacks driven by confusion. <strong>Consumer packaged goods (CPG) with DTC drops</strong> can use the edge-case rules for sudden sell-through and repeated delays, especially when demand spikes beyond the initial allocation. <strong>Apparel and footwear</strong> teams benefit when sizes return unevenly (partial inventory) and they need precise messaging about what’s available and what’s still pending. <strong>Specialty pre-order brands</strong> use the measurement loop to monitor trust signals over long waits, so delays don’t turn into refund waves.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for out-of-stock customer notifications produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me an out-of-stock email for my store” fails because it: lacks an end-to-end program with stages and timing, provides no operational triggers or escalation rules for changing ETAs, ignores consent-aware preferences and frequency caps across channels, produces generic apology copy instead of specific expectation-setting with options, and misses edge cases like unknown restock dates, partial inventory returns, and repeated delays. You end up with “nice words” that don’t hold up when reality changes. And customers can feel that.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this out-of-stock notification flows prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes, and you should, even though the base prompt has no fill-in variables. The fastest way is to prepend a short brief: your business size, channels (email, SMS, onsite), current stack, typical restock uncertainty (known window vs unknown), and your brand voice (calm, direct, minimalist). Then ask for constraints that match your reality, like “max 2 messages per week” or “no SMS unless explicit opt-in.” A strong follow-up request is: “Rewrite the templates for a premium brand voice, and add a substitution offer flow for customers who opt in to alternatives.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this out-of-stock notification flows prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is leaving your channel rules vague — instead of “we send email and SMS,” say “email to all purchasers, SMS only to explicit opt-ins, and no more than 1 SMS per 7 days unless the date changes.” Another common error is failing to define your ETA certainty; “restock soon” is weak, while “restock window: 10–14 days, but may slip” gives the system something honest to communicate. Teams also forget edge cases; don’t just ask for a back-in-stock alert, ask for “unknown restock date” and “second delay within 14 days” language. Finally, people skip measurement; replace “track performance” with concrete KPIs like update open rate, cancellation rate due to delay, and ticket deflection volume.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this out-of-stock notification flows prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for teams that only want a single “sorry, we’re out” email and don’t plan to run a staged program with triggers and follow-ups. It’s also not the right fit if you’re trying to hide stock issues with manipulative scarcity tactics, because the system is built around radical honesty and consent-aware communication. And if your real issue is forecasting or procurement, you will need operational planning beyond messaging. In those cases, use a simpler template approach or fix inventory planning first, then come back to build the trust layer.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this out-of-stock notification flows AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Lifecycle Marketing Managers use this to build email/SMS sequences that keep customers informed without over-messaging, which protects unsubscribe rates and repeat purchase intent. Customer Experience (CX) Leads lean on it to standardize tone and timing so agents aren’t improvising explanations in tickets all day. E-commerce Operations Managers apply it to define triggers, escalation paths, and edge case handling when ETAs shift or inventory returns in partial batches. Retention-focused founders use it to turn “waiting” into a managed experience with clear options like substitutions, restock alerts, or cancellations."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this out-of-stock notification flows AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "E-commerce retail gets immediate value because stockouts are frequent and customers expect proactive updates; the staged plan reduces “any updates?” tickets and prevents chargebacks driven by confusion. Consumer packaged goods (CPG) with DTC drops can use the edge-case rules for sudden sell-through and repeated delays, especially when demand spikes beyond the initial allocation. Apparel and footwear teams benefit when sizes return unevenly (partial inventory) and they need precise messaging about what’s available and what’s still pending. Specialty pre-order brands use the measurement loop to monitor trust signals over long waits, so delays don’t turn into refund waves."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for out-of-stock customer notifications produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me an out-of-stock email for my store” fails because it: lacks an end-to-end program with stages and timing, provides no operational triggers or escalation rules for changing ETAs, ignores consent-aware preferences and frequency caps across channels, produces generic apology copy instead of specific expectation-setting with options, and misses edge cases like unknown restock dates, partial inventory returns, and repeated delays. You end up with “nice words” that don’t hold up when reality changes. And customers can feel that."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this out-of-stock notification flows prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, and you should, even though the base prompt has no fill-in variables. The fastest way is to prepend a short brief: your business size, channels (email, SMS, onsite), current stack, typical restock uncertainty (known window vs unknown), and your brand voice (calm, direct, minimalist). Then ask for constraints that match your reality, like “max 2 messages per week” or “no SMS unless explicit opt-in.” A strong follow-up request is: “Rewrite the templates for a premium brand voice, and add a substitution offer flow for customers who opt in to alternatives.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this out-of-stock notification flows prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is leaving your channel rules vague — instead of “we send email and SMS,” say “email to all purchasers, SMS only to explicit opt-ins, and no more than 1 SMS per 7 days unless the date changes.” Another common error is failing to define your ETA certainty; “restock soon” is weak, while “restock window: 10–14 days, but may slip” gives the system something honest to communicate. Teams also forget edge cases; don’t just ask for a back-in-stock alert, ask for “unknown restock date” and “second delay within 14 days” language. Finally, people skip measurement; replace “track performance” with concrete KPIs like update open rate, cancellation rate due to delay, and ticket deflection volume."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this out-of-stock notification flows prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for teams that only want a single “sorry, we’re out” email and don’t plan to run a staged program with triggers and follow-ups. It’s also not the right fit if you’re trying to hide stock issues with manipulative scarcity tactics, because the system is built around radical honesty and consent-aware communication. And if your real issue is forecasting or procurement, you will need operational planning beyond messaging. In those cases, use a simpler template approach or fix inventory planning first, then come back to build the trust layer."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Stockouts happen. Silence and vagueness don’t need to. Paste the prompt into ChatGPT, generate your staged plan and templates, then implement the rules so your next delay feels handled instead of hidden.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5002802.webp" medium="image"></media:content>
            	</item>
		<item>
		<title>Build Ethical Restock Launch Plans with this AI Prompt</title>
		<link>https://flowpast.com/prompts/build-ethical-restock-launch-plans-with-this-ai-prompt/</link>
		
		<dc:creator><![CDATA[Lisa Granqvist]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:21:37 +0000</pubDate>
				<category><![CDATA[Prompts]]></category>
		<guid isPermaLink="false">https://flowpast.com/?p=5002800</guid>

					<description><![CDATA[Restocks lose trust fast - this AI Prompt builds an ethical stage plan with fair access, truthful scarcity, and metrics. Explore thousands of AI prompts by function and industry.]]></description>
										<content:encoded><![CDATA[<!-- FOCUS_KEYWORD: ethical restock launch -->
<div class="hook-introduction">

<p>Restock campaigns can backfire fast. One exaggerated “almost gone” line, a vague countdown, or an unclear access plan, and customers assume you’re manufacturing scarcity. Trust drops, support tickets spike, and the next launch gets harder.</p>



<p>This <strong>ethical restock launch</strong> prompt is built for <strong>DTC marketing managers</strong> who need a clear run-of-show for a restock across email/SMS/social, <strong>e-commerce founders</strong> who want urgency without crossing ethical lines, and <strong>agency strategists</strong> planning fair access when demand is higher than supply. The output is a phased restock announcement campaign plan (typically 6–9 stages, or 10–13 for extreme demand) with stage goals, channel-by-channel messaging guidance, execution steps, and measurement.</p>

</div>

<div class="what-and-when-section">

<h2 class="wp-block-heading">What Does This AI Prompt Do and When to Use It?</h2>



<table class="solution-results-table three-column" role="presentation" aria-label="What this prompt does, when to use it, and what you get">
 <thead>
    <tr>
      <th scope="col">What This Prompt Does</th>
      <th scope="col">When to Use This Prompt</th>
      <th scope="col">What You&#8217;ll Get</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <ul class="automation-list">
          <li>It asks targeted discovery questions and pauses if key details (inventory, variants, tiering, timing) are missing.</li>
          <li>It diagnoses restock complexity by evaluating demand intensity, audience size, variant count, and operational risk.</li>
          <li>It designs a dynamic phased rollout, choosing a stage count that fits your situation instead of forcing a one-size template.</li>
          <li>It generates a stage-by-stage execution plan with objectives, recommended channels, and responsible urgency rules based on facts.</li>
          <li>It builds a measurement approach that ties restock messaging to sell-through outcomes and trust signals, not just clicks.</li>
       </ul>
      </td>
      <td>
        <ul class="results-list">
          <li>You have a restock date, but you’re unsure how to announce it without triggering “fake scarcity” skepticism.</li>
          <li>Last restock caused frustration: customers felt blindsided, access felt unfair, or variants sold unevenly.</li>
          <li>You need to choose between “early access,” “waitlist,” or “open sale” and want an ethical, defensible structure.</li>
          <li>A competitor is running hype-heavy drops, and you need to stay competitive without copying manipulative tactics.</li>
          <li>You’re scaling and can’t afford chaotic launches, so you need a repeatable runbook the team can execute.</li>
        </ul>
      </td>
       <td>
         <ul class="deliverables-list">
           <li>A 6–9 stage restock campaign plan (or 10–13 stages for extreme demand), with rationale for the stage count.</li>
           <li>Stage-by-stage objectives and channel recommendations (email, SMS, paid, social, site banners) tailored to your mix.</li>
           <li>Messaging guardrails for truthful scarcity, including what you can and cannot claim without inventory proof.</li>
           <li>A launch execution checklist covering timing, access rules, and operational risk points to confirm before sending.</li>
           <li>A measurement set with recommended metrics for sell-through, conversion, customer sentiment, and post-launch retention.</li>
         </ul>
       </td>
    </tr>
  </tbody>
</table>

</div>

<div class="prompt-display-section">

<h2 class="wp-block-heading">The Full AI Prompt: Ethical Restock Announcement Campaign Planner</h2>



<div class="prompt-viewer-wrapper" id="prompt-section">
    <div class="prompt-comparison-row prompt-premium">
        <!-- Header with buttons -->
        <div class="prompt-row-header">
            <!-- <span class="prompt-row-icon">✨</span> -->
            <span class="prompt-row-title">
                                    Step 1: Customize the prompt with your input
                            </span>
            <div class="prompt-header-buttons">
                                    <button class="prompt-header-btn prompt-header-reset" onclick="resetPrompt()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                                <button class="prompt-header-btn prompt-header-copy-green flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span>Customize and Copy Full Prompt</span>
                </button>
            </div>
        </div>

        <!-- Customize the Prompt Section -->
                    <div class="prompt-customize-section">
                <span class="customize-title">Customize the Prompt</span>
                <p class="customize-subtitle">Fill in the fields below to personalize this prompt for your needs.</p>
                <table class="customize-table">
                    <thead>
                        <tr>
                            <th>Variable</th>
                            <th>What to Enter</th>
                            <th>Customise the prompt</th>
                        </tr>
                    </thead>
                    <tbody>
                                                    <tr>
                                <td class="var-name"><code>[TARGET_AUDIENCE]</code></td>
                                <td class="var-desc">
                                    Describe the ideal customer for this restock campaign, including demographics, behaviors, and key needs or challenges.                                    <div class="var-example">For example: "Eco-conscious millennials aged 25-40 who prioritize sustainable fashion and are frequent online shoppers."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TARGET_AUDIENCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRODUCT_DESCRIPTION]</code></td>
                                <td class="var-desc">
                                    Provide details about the product being restocked, including its category, variants, price, and why it sold out previously.                                    <div class="var-example">For example: "Organic cotton t-shirts in 3 color variants priced at $35 each. Sold out due to high demand during Earth Day promotion."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PRODUCT_DESCRIPTION]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INDUSTRY]</code></td>
                                <td class="var-desc">
                                    Specify the industry or niche the business operates in to guide campaign alignment.                                    <div class="var-example">For example: "Direct-to-consumer sustainable fashion."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[INDUSTRY]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[BRAND_VOICE]</code></td>
                                <td class="var-desc">
                                    Describe the brand&#039;s personality and values, including tone and communication style.                                    <div class="var-example">For example: "Friendly, transparent, and community-focused, with an emphasis on environmental responsibility."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[BRAND_VOICE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PRIMARY_GOAL]</code></td>
                                <td class="var-desc">
                                    State the main objective of the restock campaign, such as increasing revenue, growing the customer base, or improving sell-through speed.                                    <div class="var-example">For example: "Maximize sell-through speed while maintaining customer trust."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[PRIMARY_GOAL]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[COMPANY_NAME]</code></td>
                                <td class="var-desc">
                                    Provide the name of the business running the campaign.                                    <div class="var-example">For example: "GreenWear Co."</div>
                                </td>
                                <td class="var-input">
                                                                            <input
                                            type="text"
                                            class="customize-input"
                                            data-placeholder="[COMPANY_NAME]"
                                            placeholder="Enter your value here..." />
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[INVENTORY_LEVELS]</code></td>
                                <td class="var-desc">
                                    Specify the available stock for the restock, including quantities by SKU or variant if applicable.                                    <div class="var-example">For example: "500 units total: 200 in black, 150 in white, and 150 in gray."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[INVENTORY_LEVELS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CUSTOMER_TIERS]</code></td>
                                <td class="var-desc">
                                    Define any customer segmentation or priority tiers for the campaign, such as VIPs or loyalty members.                                    <div class="var-example">For example: "VIP members, loyalty program participants, and general customers."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CUSTOMER_TIERS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[TIMEFRAME]</code></td>
                                <td class="var-desc">
                                    Indicate the timeline for the restock campaign, including key dates or phases.                                    <div class="var-example">For example: "Pre-launch emails on November 1st, public launch on November 3rd, and follow-up messaging on November 6th."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[TIMEFRAME]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PLATFORM]</code></td>
                                <td class="var-desc">
                                    Specify the channels or platforms where the campaign will run.                                    <div class="var-example">For example: "Email, Instagram, and the company’s Shopify store."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PLATFORM]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[PREVIOUS_CAMPAIGN_PERFORMANCE]</code></td>
                                <td class="var-desc">
                                    Provide insights or metrics from prior campaigns to inform strategy, such as sell-through rates or customer feedback.                                    <div class="var-example">For example: "Last campaign achieved 90% sell-through in 24 hours, but received complaints about unclear inventory updates."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[PREVIOUS_CAMPAIGN_PERFORMANCE]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[CONTEXT]</code></td>
                                <td class="var-desc">
                                    Share any relevant background information or situational details influencing the campaign strategy.                                    <div class="var-example">For example: "The restock follows a viral TikTok video featuring the product, driving increased demand."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[CONTEXT]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                                    <tr>
                                <td class="var-name"><code>[RESTRICTIONS]</code></td>
                                <td class="var-desc">
                                    List any constraints or rules the campaign must adhere to, such as legal requirements or brand guidelines.                                    <div class="var-example">For example: "No use of countdown timers or misleading urgency language; all inventory updates must be accurate."</div>
                                </td>
                                <td class="var-input">
                                                                            <textarea
                                            class="customize-input"
                                            data-placeholder="[RESTRICTIONS]"
                                            placeholder="Enter your value here..."
                                            rows="3"></textarea>
                                                                    </td>
                            </tr>
                                            </tbody>
                </table>

                <button class="copy-customized-btn flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                        <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                        <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                    </svg>
                    <span class="copy-customized-text">Customise the prompt now</span>
                </button>
            </div>
        
        <!-- Full Prompt Code Header -->
                    <div class="prompt-code-header">
                <span class="prompt-code-title">
                    Step 2: Copy the Prompt
                </span>
                <div class="prompt-code-buttons">
                    <!-- Reset: Only visible when unlocked -->
                    <button class="prompt-header-btn prompt-header-reset btn-when-unlocked" onclick="resetPrompt()" style="display: none;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z" />
                            <path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z" />
                        </svg>
                        <span>Reset</span>
                    </button>
                    <!-- Copy Full Prompt -->
                    <button class="prompt-header-btn prompt-header-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
                        <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
                            <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                            <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
                        </svg>
                        <span>Copy Full Prompt</span>
                    </button>
                </div>
            </div>
        

        <!-- Prompt Content -->
        <div class="prompt-box prompt-gated-wrapper">
            <!-- Gated: Blurred content -->
            <div class="prompt-gated-content">
                <div class="prompt-header-visible">OBJECTIVE</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PERSONA</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">CONSTRAINTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible subheader">What This Is NOT</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">PROCESS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">INPUTS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">OUTPUT SPECIFICATION</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div><div class="locked-line" style="width: 80%;"></div><div class="locked-line" style="width: 95%;"></div><div class="locked-line" style="width: 70%;"></div><div class="locked-line" style="width: 83%;"></div><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div></div></div><div class="locked-section-icon">🔒</div></div><div class="prompt-header-visible">QUALITY CHECKS</div><div class="locked-section"><div class="locked-section-bg"><div class="locked-section-lines"><div class="locked-line" style="width: 85%;"></div><div class="locked-line" style="width: 78%;"></div><div class="locked-line" style="width: 92%;"></div><div class="locked-line" style="width: 75%;"></div><div class="locked-line" style="width: 88%;"></div><div class="locked-line" style="width: 72%;"></div></div></div><div class="locked-section-icon">🔒</div></div>            </div>
            <!-- Unlocked: Full content (hidden by default) -->
            <div class="prompt-content-full" id="premium-prompt-content" style="display: none;">
                ## OBJECTIVE  
Create an ethical, high-converting restock announcement campaign plan that uses honest scarcity, protects brand trust, and increases sell-through—without manipulative pressure tactics. The assistant should guide the user from discovery questions through a phased rollout, messaging, launch execution, follow-up, and measurement.

## PERSONA  
You are a senior DTC/E-commerce release strategist who previously engineered high-demand “drop” style releases, later rejecting manufactured scarcity after seeing customers harmed by extreme hype dynamics. You now design restocks that feel exciting, transparent, and fair—leveraging behavioral science responsibly and prioritizing long-term reputation.

## CONSTRAINTS  
- Use urgency only when it is factually supported by inventory and timing.  
- Never imply “almost gone,” “final,” or “limited” unless validated by the provided inventory details.  
- Favor clarity and customer respect over sensationalism.  
- Adapt recommendations to: inventory depth, SKU/variant complexity, customer tiering, channel mix, brand voice, competitive timing, and prior performance.  
- If any critical input is missing, pause and ask targeted follow-up questions before building the plan.

### What This Is NOT  
- Not a guide for deceptive countdowns, fake waitlists, or false “sold out” claims.  
- Not a generic product launch plan unrelated to restocks.  
- Not legal advice or compliance certification.

## PROCESS  
1. **Pre-analysis (required):** Briefly restate what you’re building and list any missing information you need from the user.  
2. **Restock complexity diagnosis:** Evaluate demand intensity, audience size, variant count, and operational risk.  
3. **Phase design (dynamic):**  
   - Choose a phased structure sized to the situation (typically **6–9 stages**; for extreme demand/restock chaos, **10–13 stages**).  
   - Explain why that number fits the inputs.  
4. **Stage-by-stage buildout:** For each stage, deliver objectives, audience segment, timing window, channel actions, and copy direction/templates.  
5. **Launch-day control plan:** Include real-time inventory communication rules, a single primary CTA per segment, and escalation steps.  
6. **Inventory-trigger follow-ups:** Define threshold-based messaging that is truthful (e.g., by variant, not vague “running out”).  
7. **Measurement &amp; learning loop:** Define metrics beyond speed of sell-through (trust, complaints, unsubscribes, CS tickets, refund rate, etc.).  
8. **Edge cases:** If inventory is tiny, tiers are unclear, or go-live timing is flexible, propose 2–3 viable scenario paths and recommend one.

## INPUTS  
- **Ideal recipient / customer profile:** [TARGET_AUDIENCE]  
- **What’s being restocked (include variants/SKUs, category, price, why it stocked out):** [PRODUCT_DESCRIPTION]  
- **Industry / niche:** [INDUSTRY]  
- **Brand personality and values to maintain:** [BRAND_VOICE]  
- **Primary outcome (sell-through speed, revenue, list growth, fairness, etc.):** [PRIMARY_GOAL]  
- **Brand or store name (optional):** [COMPANY_NAME]  
- **Inventory detail (total units + per SKU/variant if applicable):** [INVENTORY_LEVELS]  
- **Customer tiers + sizes (VIP levels, loyalty tiers, waitlist size):** [CUSTOMER_TIERS]  
- **Go-live date/time + timezone + constraints:** [TIMEFRAME]  
- **Channel mix (email/SMS/app push/social/site banners, etc.):** [PLATFORM]  
- **Prior restock/drop performance (benchmarks, issues, learnings):** [PREVIOUS_CAMPAIGN_PERFORMANCE]  
- **Competitive/seasonal context:** [CONTEXT]  
- **Any “do-not-say” words or compliance rules:** [RESTRICTIONS]

## OUTPUT SPECIFICATION  
Deliver a complete restock campaign system with these sections:

1. **{Pre-Analysis Summary}**  
   - {Understanding Of Situation}  
   - {Missing Inputs Needed} (if any)  
   - {Assumptions} (only if required; label clearly)

2. **{Restock Complexity Snapshot}**  
   - {Demand Level Assessment}  
   - {Inventory Risk Notes}  
   - {Operational Risks}

3. **{Phased Rollout Blueprint}**  
   - {Number Of Stages Selected} with rationale  
   - A table containing: {Stage Name}, {Target Segment}, {Timing Window}, {Primary Channel(s)}, {Goal}, {Key Notes}

4. **{Stage Playbooks}** (repeat for each stage)  
   - {Objective}  
   - {Audience}  
   - {Message Truth Rules} (what you can/can’t claim given inventory)  
   - {Execution Steps}  
   - {Copy Assets} including:  
     - {Email Draft} (if applicable)  
     - {SMS Draft} (if applicable)  
     - {Push Notification Draft} (if applicable)  
     - {Social Post Draft} (if applicable)  
     - {Site Banner Copy} (if applicable)

   *Example copy pattern (rewrite as needed to fit [BRAND_VOICE]):*  
   - “We replenished [PRODUCT_DESCRIPTION]. Some variants are genuinely limited this round—availability will reflect live inventory.”

5. **{Launch-Day Control Room Plan}**  
   - {Real-Time Monitoring Checklist}  
   - {Single-CTA Map By Segment}  
   - {Customer Support Macros}  
   - {Escalation Paths}

6. **{Inventory-Triggered Follow-Up Framework}**  
   - {Threshold Definitions} (e.g., per variant)  
   - {Truthful ‘Last Opportunity’ Criteria}  
   - {Abandonment Recovery Without Pressure Scripts}

7. **{Measurement Dashboard}**  
   - {KPIs By Segment And Channel}  
   - {Trust &amp; Sentiment Indicators}  
   - {Test Ideas} (A/B or multivariate)  
   - {Postmortem Questions}

8. **{Implementation Pack}**  
   - {Run Of Show}  
   - {Roles &amp; Ownership}  
   - {Tooling/Tracking Requirements}  
   - {Contingency Plans}

## QUALITY CHECKS  
At the end, include a brief validation list confirming:  
- Scarcity/urgency claims are tied to [INVENTORY_LEVELS] or explicitly labeled as unknown.  
- Each tier in [CUSTOMER_TIERS] has a fair, understandable access rule.  
- Every stage has a measurable goal and a timing window tied to [TIMEFRAME].  
- Messaging matches [BRAND_VOICE] and avoids items in [RESTRICTIONS].  
- Success metrics include both revenue outcomes and trust/experience signals.            </div>
        </div>


    </div>

    <!-- CTA Row - Full width buttons -->
    <div class="prompt-cta-row">
        <button class="prompt-cta-btn prompt-cta-copy flowpast-copy-prompt-btn" onclick="handlePromptCopy()">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z" />
                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z" />
            </svg>
            <span class="cta-copy-text">Copy Full Prompt</span>
        </button>
    </div>
</div>

<style>
    /* Gated prompt states */
    .prompt-gated-wrapper {
        position: relative;
    }

    /* When unlocked - show full content, hide gated */
    body.flowpast-unlocked .prompt-gated-wrapper .prompt-gated-content {
        display: none;
    }

    body.flowpast-unlocked .prompt-gated-wrapper .prompt-content-full {
        display: block !important;
    }

    /* Show/hide elements based on unlock state */
    body.flowpast-unlocked .btn-when-unlocked {
        display: inline-flex !important;
    }

    .prompt-viewer-wrapper {
        scroll-margin-top: 250px;
    }

    /* ========================================
   PROMPT VIEWER - MAIN WRAPPER
   ======================================== */
    .prompt-viewer-wrapper {
        margin: 30px 0;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* ========================================
   PROMPT BOX CONTAINER
   ======================================== */
    .prompt-comparison-row {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #e0e0e0;
        background: #fff;
    }

    /* ========================================
   HEADER WITH BUTTONS
   ======================================== */
    .prompt-row-header {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
        flex-wrap: wrap;
    }

    .prompt-row-icon {
        font-size: 20px;
    }

    .prompt-row-title {
        font-weight: 600;
        font-size: 22px;
        color: #fff !important;
        text-decoration: underline
    }

    .prompt-header-buttons {
        margin-left: auto;
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    /* Header buttons */
    .prompt-header-btn {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 10px 20px;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-header-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-header-copy:hover {
        background: #2a2a2a;
    }

    .prompt-header-copy.copied {
        background: #2e7d32;
    }

    .prompt-header-copy-green {
        background: #04AA6D !important;
        color: #fff !important;
    }

    .prompt-header-copy-green:hover {
        background: #039860 !important;
    }

    .prompt-header-copy-green.copied {
        background: #2e7d32 !important;
    }

    .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-header-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-1px);
    }

    /* ========================================
   PROMPT CONTENT - FULL (NO SCROLL)
   ======================================== */
    .prompt-box {
        background: #ffffff;
    }

    .prompt-content-full {
        padding: 24px;
        margin: 0;
        color: #202124;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.7;
        white-space: pre-wrap;
        word-wrap: break-word;
        /* No scroll - show full content */
        max-height: none;
        overflow: visible;
    }

    /* Highlighted variable in prompt */
    .prompt-variable {
        background: #fff3cd;
        color: #1967d2;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #ffc107;
    }

    .prompt-variable-filled {
        background: #d4edda;
        color: #155724;
        font-weight: 700;
        padding: 2px 4px;
        border-radius: 3px;
        border: 1px solid #28a745;
    }

    /* ========================================
   GATED CONTENT (NO ACCESS)
   ======================================== */
    .prompt-gated-content {
        padding: 24px;
        background: #ffffff;
        font-family: 'Fira Code', 'Monaco', 'Consolas', monospace;
        font-size: 13px;
        line-height: 1.8;
        max-height: none;
        overflow: visible;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        cursor: default;
    }

    /* ## headers - larger, black */
    .prompt-header-visible {
        color: #202124;
        font-weight: 600;
        margin: 5px 0 0px 0;
        font-size: 20px;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    /* ### headers - smaller, black */
    .prompt-header-visible.subheader {
        color: #202124;
        font-weight: 600;
        margin: 5px 0;
        font-size: 18px;
    }

    .prompt-header-visible:first-child {
        margin-top: 0;
    }

    /* ========================================
   LOCKED SECTION BLOCK
   ======================================== */
    .locked-section {
        position: relative;
        margin: 4px 0 8px 0;
        border-radius: 6px;
        overflow: hidden;
        background: linear-gradient(110deg, #e2e8f0 8%, #f1f5f9 18%, #e2e8f0 33%);
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }

    .locked-section-bg {
        position: relative;
    }

    .locked-section-lines {
        padding: 8px 12px;
        position: relative;
    }

    .locked-line {
        height: 6px;
        background: rgba(255, 255, 255, 0.6);
        border-radius: 3px;
        margin-bottom: 4px;
        margin-left: 12px;
    }

    .locked-line:last-child {
        margin-bottom: 0;
    }

    .locked-section-icon {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
        font-size: 24px;
        filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.1));
    }

    /* Subheader locked sections - slightly indented */
    /*  .prompt-header-visible.subheader+.locked-section {
        margin-left: 16px;
    } */

    /* ========================================
   COMPATIBILITY BADGES
   ======================================== */
    .prompt-compatibility {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        padding: 12px 20px;
        background: #f8f9fa;
        border-top: 1px solid #e0e0e0;
    }

    .compat-label {
        font-size: 13px;
        color: #5f6368;
        font-weight: 500;
    }

    .compat-badge {
        padding: 4px 10px;
        background: #e8f0fe;
        color: #1967d2;
        border-radius: 4px;
        font-size: 12px;
        font-weight: 500;
    }

    /* ========================================
   CTA ROW - FULL WIDTH BUTTONS
   ======================================== */
    .prompt-cta-row {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
    }

    .prompt-cta-btn {
        flex: 1;
        min-width: 200px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 16px 24px;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
        text-decoration: none;
        border: none;
    }

    .prompt-cta-copy {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-copy:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-copy.copied {
        background: #2e7d32;
    }

    .prompt-cta-reset {
        background: #3a3a3a;
        color: #fff;
    }

    .prompt-cta-reset:hover {
        background: #2a2a2a;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .prompt-cta-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
    }

    .prompt-cta-access:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    /* ========================================
    CUSTOMIZE YOUR PROMPT SECTION
    ======================================== */
    .prompt-customize-section {
        padding: 24px;
        border-bottom: 1px solid #e0e0e0;
        background: #fafbfc;
    }

    .customize-title {
        margin: 0 0 8px 0;
        font-size: 18px;
        font-weight: 700;
        color: #202124;
    }

    .customize-subtitle {
        margin: 0 0 20px 0;
        font-size: 14px;
        color: #5f6368;
    }

    .customize-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 20px;
    }

    .customize-table th {
        text-align: left;
        padding: 12px;
        background: #f1f3f4;
        border: 1px solid #e0e0e0;
        font-size: 13px;
        font-weight: 600;
        color: #202124;
    }

    .customize-table td {
        padding: 12px;
        border: 1px solid #e0e0e0;
        vertical-align: top;
    }

    .customize-table .var-name {
        width: 25%;
        background: #f8f9fa;
    }

    .customize-table .var-name code {
        background: #fff3cd;
        color: #1967d2;
        border: 1px solid #ffc107;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 12px;
        word-break: break-all;
        font-weight: 600;
    }

    .customize-table .var-desc {
        width: 35%;
        font-size: 13px;
        color: #5f6368;
        line-height: 1.5;
    }

    .customize-table .var-example {
        margin-top: 8px;
        padding: 8px 10px;
        background: #f8f9fa;
        border-left: 3px solid #dadce0;
        font-size: 12px;
        color: #5f6368;
        font-style: italic;
        border-radius: 0 4px 4px 0;
    }

    .customize-table .var-input {
        width: 40%;
    }

    .customize-input {
        width: 100%;
        padding: 10px 12px;
        border: 1px solid #dadce0;
        border-radius: 6px;
        font-size: 13px;
        font-family: inherit;
        resize: vertical;
        transition: border-color 0.2s, box-shadow 0.2s;
    }

    .customize-input:focus {
        outline: none;
        border-color: rgb(5, 152, 98);
        box-shadow: 0 0 0 3px rgba(5, 152, 98, 0.1);
    }

    .customize-input::placeholder {
        color: #9aa0a6;
        font-style: italic;
    }

    .copy-customized-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 16px 24px;
        background: rgb(5, 152, 98);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.2s;
    }

    .copy-customized-btn:hover {
        background: rgb(4, 130, 83);
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(5, 152, 98, 0.3);
    }

    .copy-customized-btn.copied {
        background: #2e7d32;
    }

    /* ========================================
    FULL PROMPT CODE HEADER
    ======================================== */
    .prompt-code-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        color: #fff !important;
        background: #141414;
        border-bottom: 1px solid #e0e0e0;
    }

    .prompt-code-title {
        font-size: 22px;
        font-weight: 600;
        text-decoration: underline;

    }

    .prompt-code-buttons {
        display: flex;
        gap: 8px;
    }

    .prompt-code-buttons .prompt-header-btn {
        padding: 8px 14px;
        font-size: 13px;
        background: #ffffff;
        color: #202124;
        border: 1px solid #dadce0;
    }

    .prompt-code-buttons .prompt-header-access {
        background: rgb(5, 152, 98);
        color: #fff !important;
        border-color: rgb(5, 152, 98);
    }

    .prompt-code-buttons .prompt-header-btn.prompt-header-access:hover {
        background: rgb(4, 130, 83) !important;
        border-color: rgb(4, 130, 83);
        color: #fff !important;
    }

    .prompt-code-buttons .prompt-header-btn:hover {
        background: #f1f3f4;
    }

    .prompt-code-buttons .prompt-header-copy.copied {
        background: #d4edda;
        color: #155724;
        border-color: #28a745;
    }

    .prompt-header-reset {
        background: #ffffff;
        color: #202124;
    }

    /* ========================================
   RESPONSIVE
   ======================================== */
    @media (max-width: 768px) {
        .prompt-row-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 12px;
        }

        .prompt-header-buttons {
            margin-left: 0;
            width: 100%;
        }

        .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }

        .prompt-cta-row {
            flex-direction: column;
        }

        .prompt-cta-btn {
            width: 100%;
        }

        /* Customize table responsive */
        .customize-table,
        .customize-table thead,
        .customize-table tbody,
        .customize-table tr,
        .customize-table th,
        .customize-table td {
            display: block;
        }

        .customize-table thead {
            display: none;
        }

        .customize-table tr {
            margin-bottom: 16px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow: hidden;
        }

        .customize-table td {
            width: 100% !important;
            border: none;
            border-bottom: 1px solid #e0e0e0;
        }

        .customize-table td:last-child {
            border-bottom: none;
        }

        .customize-table .var-name {
            background: #f1f3f4;
            font-weight: 600;
        }

        .prompt-code-header {
            flex-direction: column;
            gap: 12px;
            align-items: flex-start;
        }

        .prompt-code-buttons {
            width: 100%;
        }

        .prompt-code-buttons .prompt-header-btn {
            flex: 1;
            justify-content: center;
        }
    }
</style>

<script>
    function handlePromptCopy() {
        // Check if unlocked via cookie
        if (typeof window.flowpastIsUnlocked === 'function' && !window.flowpastIsUnlocked()) {
            // Show email popup
            if (typeof window.flowpastShowEmailPopup === 'function') {
                window.flowpastShowEmailPopup('prompt');
            }
            return;
        }

        // Copy the customized prompt (with filled variables)
        const customizedPrompt = getCustomizedPrompt();
        const copyButtons = document.querySelectorAll('.prompt-header-copy, .prompt-header-copy-green, .prompt-cta-copy, .copy-customized-btn');

        navigator.clipboard.writeText(customizedPrompt).then(() => {
            copyButtons.forEach(btn => {
                btn.classList.add('copied');
                const textSpan = btn.querySelector('span');
                if (textSpan) textSpan.textContent = 'Copied!';
            });

            setTimeout(() => {
                copyButtons.forEach(btn => {
                    btn.classList.remove('copied');
                    const textSpan = btn.querySelector('span');
                    if (textSpan) textSpan.textContent = 'Copy Full Prompt';
                });
            }, 2000);
        }).catch(err => {
            console.error('Failed to copy:', err);
        });
    }

    // Store original prompt for customization
    const originalPrompt = "## OBJECTIVE  \r\nCreate an ethical, high-converting restock announcement campaign plan that uses honest scarcity, protects brand trust, and increases sell-through\u2014without manipulative pressure tactics. The assistant should guide the user from discovery questions through a phased rollout, messaging, launch execution, follow-up, and measurement.\r\n\r\n## PERSONA  \r\nYou are a senior DTC\/E-commerce release strategist who previously engineered high-demand \u201cdrop\u201d style releases, later rejecting manufactured scarcity after seeing customers harmed by extreme hype dynamics. You now design restocks that feel exciting, transparent, and fair\u2014leveraging behavioral science responsibly and prioritizing long-term reputation.\r\n\r\n## CONSTRAINTS  \r\n- Use urgency only when it is factually supported by inventory and timing.  \r\n- Never imply \u201calmost gone,\u201d \u201cfinal,\u201d or \u201climited\u201d unless validated by the provided inventory details.  \r\n- Favor clarity and customer respect over sensationalism.  \r\n- Adapt recommendations to: inventory depth, SKU\/variant complexity, customer tiering, channel mix, brand voice, competitive timing, and prior performance.  \r\n- If any critical input is missing, pause and ask targeted follow-up questions before building the plan.\r\n\r\n### What This Is NOT  \r\n- Not a guide for deceptive countdowns, fake waitlists, or false \u201csold out\u201d claims.  \r\n- Not a generic product launch plan unrelated to restocks.  \r\n- Not legal advice or compliance certification.\r\n\r\n## PROCESS  \r\n1. **Pre-analysis (required):** Briefly restate what you\u2019re building and list any missing information you need from the user.  \r\n2. **Restock complexity diagnosis:** Evaluate demand intensity, audience size, variant count, and operational risk.  \r\n3. **Phase design (dynamic):**  \r\n   - Choose a phased structure sized to the situation (typically **6\u20139 stages**; for extreme demand\/restock chaos, **10\u201313 stages**).  \r\n   - Explain why that number fits the inputs.  \r\n4. **Stage-by-stage buildout:** For each stage, deliver objectives, audience segment, timing window, channel actions, and copy direction\/templates.  \r\n5. **Launch-day control plan:** Include real-time inventory communication rules, a single primary CTA per segment, and escalation steps.  \r\n6. **Inventory-trigger follow-ups:** Define threshold-based messaging that is truthful (e.g., by variant, not vague \u201crunning out\u201d).  \r\n7. **Measurement & learning loop:** Define metrics beyond speed of sell-through (trust, complaints, unsubscribes, CS tickets, refund rate, etc.).  \r\n8. **Edge cases:** If inventory is tiny, tiers are unclear, or go-live timing is flexible, propose 2\u20133 viable scenario paths and recommend one.\r\n\r\n## INPUTS  \r\n- **Ideal recipient \/ customer profile:** [TARGET_AUDIENCE]  \r\n- **What\u2019s being restocked (include variants\/SKUs, category, price, why it stocked out):** [PRODUCT_DESCRIPTION]  \r\n- **Industry \/ niche:** [INDUSTRY]  \r\n- **Brand personality and values to maintain:** [BRAND_VOICE]  \r\n- **Primary outcome (sell-through speed, revenue, list growth, fairness, etc.):** [PRIMARY_GOAL]  \r\n- **Brand or store name (optional):** [COMPANY_NAME]  \r\n- **Inventory detail (total units + per SKU\/variant if applicable):** [INVENTORY_LEVELS]  \r\n- **Customer tiers + sizes (VIP levels, loyalty tiers, waitlist size):** [CUSTOMER_TIERS]  \r\n- **Go-live date\/time + timezone + constraints:** [TIMEFRAME]  \r\n- **Channel mix (email\/SMS\/app push\/social\/site banners, etc.):** [PLATFORM]  \r\n- **Prior restock\/drop performance (benchmarks, issues, learnings):** [PREVIOUS_CAMPAIGN_PERFORMANCE]  \r\n- **Competitive\/seasonal context:** [CONTEXT]  \r\n- **Any \u201cdo-not-say\u201d words or compliance rules:** [RESTRICTIONS]\r\n\r\n## OUTPUT SPECIFICATION  \r\nDeliver a complete restock campaign system with these sections:\r\n\r\n1. **{Pre-Analysis Summary}**  \r\n   - {Understanding Of Situation}  \r\n   - {Missing Inputs Needed} (if any)  \r\n   - {Assumptions} (only if required; label clearly)\r\n\r\n2. **{Restock Complexity Snapshot}**  \r\n   - {Demand Level Assessment}  \r\n   - {Inventory Risk Notes}  \r\n   - {Operational Risks}\r\n\r\n3. **{Phased Rollout Blueprint}**  \r\n   - {Number Of Stages Selected} with rationale  \r\n   - A table containing: {Stage Name}, {Target Segment}, {Timing Window}, {Primary Channel(s)}, {Goal}, {Key Notes}\r\n\r\n4. **{Stage Playbooks}** (repeat for each stage)  \r\n   - {Objective}  \r\n   - {Audience}  \r\n   - {Message Truth Rules} (what you can\/can\u2019t claim given inventory)  \r\n   - {Execution Steps}  \r\n   - {Copy Assets} including:  \r\n     - {Email Draft} (if applicable)  \r\n     - {SMS Draft} (if applicable)  \r\n     - {Push Notification Draft} (if applicable)  \r\n     - {Social Post Draft} (if applicable)  \r\n     - {Site Banner Copy} (if applicable)\r\n\r\n   *Example copy pattern (rewrite as needed to fit [BRAND_VOICE]):*  \r\n   - \u201cWe replenished [PRODUCT_DESCRIPTION]. Some variants are genuinely limited this round\u2014availability will reflect live inventory.\u201d\r\n\r\n5. **{Launch-Day Control Room Plan}**  \r\n   - {Real-Time Monitoring Checklist}  \r\n   - {Single-CTA Map By Segment}  \r\n   - {Customer Support Macros}  \r\n   - {Escalation Paths}\r\n\r\n6. **{Inventory-Triggered Follow-Up Framework}**  \r\n   - {Threshold Definitions} (e.g., per variant)  \r\n   - {Truthful \u2018Last Opportunity\u2019 Criteria}  \r\n   - {Abandonment Recovery Without Pressure Scripts}\r\n\r\n7. **{Measurement Dashboard}**  \r\n   - {KPIs By Segment And Channel}  \r\n   - {Trust & Sentiment Indicators}  \r\n   - {Test Ideas} (A\/B or multivariate)  \r\n   - {Postmortem Questions}\r\n\r\n8. **{Implementation Pack}**  \r\n   - {Run Of Show}  \r\n   - {Roles & Ownership}  \r\n   - {Tooling\/Tracking Requirements}  \r\n   - {Contingency Plans}\r\n\r\n## QUALITY CHECKS  \r\nAt the end, include a brief validation list confirming:  \r\n- Scarcity\/urgency claims are tied to [INVENTORY_LEVELS] or explicitly labeled as unknown.  \r\n- Each tier in [CUSTOMER_TIERS] has a fair, understandable access rule.  \r\n- Every stage has a measurable goal and a timing window tied to [TIMEFRAME].  \r\n- Messaging matches [BRAND_VOICE] and avoids items in [RESTRICTIONS].  \r\n- Success metrics include both revenue outcomes and trust\/experience signals.";
    const variables = ["[TARGET_AUDIENCE]","[PRODUCT_DESCRIPTION]","[INDUSTRY]","[BRAND_VOICE]","[PRIMARY_GOAL]","[COMPANY_NAME]","[INVENTORY_LEVELS]","[CUSTOMER_TIERS]","[TIMEFRAME]","[PLATFORM]","[PREVIOUS_CAMPAIGN_PERFORMANCE]","[CONTEXT]","[RESTRICTIONS]"];
    // Initial render with highlighted variables
    document.addEventListener('DOMContentLoaded', function() {
        renderPromptWithHighlights();
    });

    // Live update prompt as user types
    document.querySelectorAll('.customize-input').forEach(input => {
        input.addEventListener('input', renderPromptWithHighlights);
    });

    function renderPromptWithHighlights() {
        const promptContent = document.getElementById('premium-prompt-content');
        if (!promptContent) return;

        let updatedPrompt = originalPrompt;
        let filledVariables = {};

        // Collect filled values
        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                filledVariables[placeholder] = value;
            }
        });

        // Replace filled variables and highlight remaining
        let htmlContent = escapeHtml(updatedPrompt);

        variables.forEach(placeholder => {
            const escapedPlaceholder = escapeHtml(placeholder);
            const regex = new RegExp(escapeRegex(escapedPlaceholder), 'g');

            if (filledVariables[placeholder]) {
                // Show filled value with green highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable-filled">' + escapeHtml(filledVariables[placeholder]) + '</span>'
                );
            } else {
                // Show original placeholder with yellow highlight
                htmlContent = htmlContent.replace(regex,
                    '<span class="prompt-variable">' + escapedPlaceholder + '</span>'
                );
            }
        });

        promptContent.innerHTML = htmlContent;
    }

    function escapeRegex(string) {
        return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    }

    function escapeHtml(text) {
        const div = document.createElement('div');
        div.textContent = text;
        return div.innerHTML;
    }

    function resetPrompt() {
        // Clear all input fields
        document.querySelectorAll('.customize-input').forEach(input => {
            input.value = '';
        });

        // Re-render with original placeholders highlighted
        renderPromptWithHighlights();

        // Visual feedback
        const resetBtns = document.querySelectorAll('.prompt-header-reset, .prompt-cta-reset');
        resetBtns.forEach(btn => {
            const originalText = btn.querySelector('span').textContent;
            btn.querySelector('span').textContent = 'Reset!';
            setTimeout(() => {
                btn.querySelector('span').textContent = originalText;
            }, 1000);
        });
    }


    function getCustomizedPrompt() {
        let updatedPrompt = originalPrompt;

        document.querySelectorAll('.customize-input').forEach(input => {
            const placeholder = input.dataset.placeholder;
            const value = input.value.trim();

            if (value) {
                const regex = new RegExp(escapeRegex(placeholder), 'g');
                updatedPrompt = updatedPrompt.replace(regex, value);
            }
        });

        return updatedPrompt;
    }
</script>

</div>

<div class="pro-tips-section">

<h2 class="wp-block-heading">Pro Tips for Better AI Prompt Results</h2>



<ul class="wp-block-list">

<li><strong>Bring real inventory facts, not vibes.</strong> If you only say “limited,” the model must play it safe and your messaging will feel bland. Share what you actually know (for example: “1,200 units total across 4 sizes, restock arrives Friday, no reorder for 6 weeks”), then ask: “Write urgency lines that are strictly supported by these facts.”</li>


<li><strong>Specify what “fair access” means for your brand.</strong> “Fair” could mean first-come-first-served, loyalty early access, or a time-boxed window for subscribers. Add a constraint like: “VIP gets 2 hours early access, but inventory is held back so general customers still have a real chance,” then follow up with: “Stress-test this for perceived fairness and suggest alternatives.”</li>


<li><strong>Tell it your channel mix and your send limits.</strong> A plan that assumes daily email might be impossible if your list is already saturated. Give boundaries such as “max 3 emails and 2 SMS messages total,” and ask: “Rebuild the phases to fit these limits while still covering education, access rules, and follow-up.”</li>


<li><strong>Iterate by tuning one stage at a time.</strong> After the first output, pick the stage that feels most risky (often the “last call” moment) and refine it. Try: “Now rewrite Stage 6 with a calmer tone, remove any implied scarcity, and add one transparency line about restock timing.”</li>


<li><strong>Combine it with launch asset prompts to execute faster.</strong> Once your stages are locked, generate the actual deliverables from the plan: use <a href="https://flowpast.com/prompts/write-a-launch-product-intro-email-with-this-ai-prompt/">https://flowpast.com/prompts/write-a-launch-product-intro-email-with-this-ai-prompt/</a> for the first announcement email, and if you’re doing a live moment, pair it with <a href="https://flowpast.com/prompts/write-a-product-launch-keynote-with-this-ai-prompt/">https://flowpast.com/prompts/write-a-product-launch-keynote-with-this-ai-prompt/</a> to keep the messaging consistent.</li>

</ul>

</div>

<div class="related-prompts-section">

<h2 class="wp-block-heading">Related Prompts</h2>



<p>Once your restock stages are mapped, these prompts help you build the exact assets and validation steps around each phase:</p>



<p>If you also need the first email that sets expectations and access rules clearly, use <a href="https://flowpast.com/prompts/write-a-launch-product-intro-email-with-this-ai-prompt/">Write a Launch Product Intro Email with this AI Prompt</a>. It pairs well with an ethical restock plan because you can translate your Stage 1–2 “heads up + transparency” into a ready-to-send message without slipping into hype language.</p>



<p>For teams doing bigger restock events (live shopping, founder story, community reveal), <a href="https://flowpast.com/prompts/write-a-product-launch-keynote-with-this-ai-prompt/">Write a Product Launch Keynote with this AI Prompt</a> helps you keep the narrative consistent. It’s especially useful when you want excitement, but you also want to explain constraints honestly and set a respectful tone.</p>



<p>When you want the full operational backbone around the restock, <a href="https://flowpast.com/prompts/build-a-product-launch-blueprint-with-this-ai-prompt/">Build a Product Launch Blueprint with this AI Prompt</a> can sit “under” this plan. Use it to align roles, timelines, and dependencies so the ethical messaging is supported by clean execution (site readiness, CX macros, fulfillment timing).</p>


<br>


<p>Quick reference:</p>



<ul class="wp-block-list">

<li><a href="https://flowpast.com/prompts/write-a-launch-product-intro-email-with-this-ai-prompt/">Write a Launch Product Intro Email with this AI Prompt</a>: Draft transparent restock announcement email.</li>


<li><a href="https://flowpast.com/prompts/write-a-product-launch-keynote-with-this-ai-prompt/">Write a Product Launch Keynote with this AI Prompt</a>: Script a trustworthy live launch moment.</li>


<li><a href="https://flowpast.com/prompts/build-a-product-launch-blueprint-with-this-ai-prompt/">Build a Product Launch Blueprint with this AI Prompt</a>: Create timelines, owners, and dependencies.</li>

<li><a href="https://flowpast.com/prompts/validate-product-launch-demand-with-this-ai-prompt/">Validate Product Launch Demand With this AI Prompt</a>: Confirm demand before scaling spend.</li>

<li><a href="https://flowpast.com/prompts/write-a-customer-onboarding-email-with-this-ai-prompt/">Write a Customer Onboarding Email with this AI Prompt</a>: Welcome buyers after the restock.</li>
<!-- /wp:post-content -->
</ul>
<!-- /wp:list -->
</div>

<div class="faq-section">
<!-- wp:heading {"level":2} -->
<h2 class="wp-block-heading">Common Questions</h2>
<!-- /wp:heading -->

<div class="faq-item">
<span class="question">Which roles benefit most from this ethical restock launch AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>DTC Marketing Managers</strong> use this to turn a messy restock into a clear phased rollout with messaging rules the whole team can follow. <strong>E-commerce Directors</strong> rely on it to balance demand, variants, and operational constraints so the launch doesn’t melt down at checkout. <strong>Customer Experience Leads</strong> benefit because the plan emphasizes transparency and sets expectations, which reduces “you tricked me” tickets. <strong>Agency Strategists</strong> apply it when a client wants drop-level excitement but needs a trust-first approach that won’t damage brand reputation.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Which industries get the most value from this ethical restock launch AI prompt?</span>
<!-- wp:paragraph -->
<p class="answer"><strong>Apparel and streetwear brands</strong> get value because sizes and colorways create variant complexity, and “sold out” dynamics can feel personal to customers. This prompt helps them communicate allocation and timing without implying false scarcity. <strong>Beauty and skincare</strong> teams use it when hero SKUs restock irregularly and they must be precise about what is available (and what isn’t), especially across bundles. <strong>Supplements and wellness</strong> brands benefit because trust is everything; the framework encourages clarity over pressure, which protects long-term customer belief. <strong>Home goods and small-batch CPG</strong> use it to handle production lead times honestly, setting expectations about future availability and shipping constraints.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Why do basic AI prompts for restock launch planning produce weak results?</span>
<!-- wp:paragraph -->
<p class="answer">A typical prompt like “Write me a restock launch plan for my product” fails because it: lacks inventory-validated constraints, so it invents urgency language you cannot ethically claim; provides no stage structure, so everything turns into a generic “announce, remind, last chance” outline; ignores variant and operational complexity, which is where most restocks break; produces hypey copy instead of transparency-first messaging; and misses measurement guidance, so you can’t tell if you improved sell-through without harming trust.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Can I customize this ethical restock launch prompt for my specific situation?</span>
<!-- wp:paragraph -->
<p class="answer">Yes, but customization happens through the details you provide during the discovery questions, since the prompt adapts to inventory depth, SKU/variant complexity, customer tiering, channel mix, brand voice, competitive timing, and prior performance. If your situation is unusual, be explicit (for example: “one variant is abundant, two are extremely constrained, and returns are high”). After it generates the stages, ask a focused follow-up like: “Rewrite the plan assuming SMS is unavailable and we must prioritize email + onsite messaging, while keeping all urgency statements inventory-verifiable.”</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">What are the most common mistakes when using this ethical restock launch prompt?</span>
<!-- wp:paragraph -->
<p class="answer">The biggest mistake is being vague about inventory and timing; instead of “stock is limited,” say “we have 800 units, no confirmed reorder date, and shipping begins Monday.” Another common error is skipping SKU/variant detail: “one product” is weak input, while “4 sizes, 3 colors, size M is the constraint” lets the plan recommend fairer access and clearer messaging. People also omit channel constraints (bad: “use all channels,” good: “email + SMS only, max 2 SMS sends”) and then wonder why the plan is unrealistic. Finally, some teams don’t share what happened last time (bad: “last restock was fine,” good: “site slowed, CX got 300 tickets about early access”), which prevents the prompt from addressing real failure points.</p>
<!-- /wp:paragraph -->
</div>

<div class="faq-item">
<span class="question">Who should NOT use this ethical restock launch prompt?</span>
<!-- wp:paragraph -->
<p class="answer">This prompt isn’t ideal for teams that want aggressive hype mechanics like fake countdowns, implied scarcity, or pressure-first copy, because it explicitly blocks those tactics. It’s also not the best fit if you cannot provide basic facts (inventory, timing, variants) and you’re unwilling to gather them, since the prompt will stop and ask follow-up questions. If you just need a fast, generic “restock is live” message, you may be better off using a simple copy template and saving this framework for higher-stakes releases.</p>
<!-- /wp:paragraph -->
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Which roles benefit most from this ethical restock launch AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "DTC Marketing Managers use this to turn a messy restock into a clear phased rollout with messaging rules the whole team can follow. E-commerce Directors rely on it to balance demand, variants, and operational constraints so the launch doesn’t melt down at checkout. Customer Experience Leads benefit because the plan emphasizes transparency and sets expectations, which reduces “you tricked me” tickets. Agency Strategists apply it when a client wants drop-level excitement but needs a trust-first approach that won’t damage brand reputation."
      }
    },
    {
      "@type": "Question",
      "name": "Which industries get the most value from this ethical restock launch AI prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Apparel and streetwear brands get value because sizes and colorways create variant complexity, and “sold out” dynamics can feel personal to customers. This prompt helps them communicate allocation and timing without implying false scarcity. Beauty and skincare teams use it when hero SKUs restock irregularly and they must be precise about what is available (and what isn’t), especially across bundles. Supplements and wellness brands benefit because trust is everything; the framework encourages clarity over pressure, which protects long-term customer belief. Home goods and small-batch CPG use it to handle production lead times honestly, setting expectations about future availability and shipping constraints."
      }
    },
    {
      "@type": "Question",
      "name": "Why do basic AI prompts for restock launch planning produce weak results?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A typical prompt like “Write me a restock launch plan for my product” fails because it: lacks inventory-validated constraints, so it invents urgency language you cannot ethically claim; provides no stage structure, so everything turns into a generic “announce, remind, last chance” outline; ignores variant and operational complexity, which is where most restocks break; produces hypey copy instead of transparency-first messaging; and misses measurement guidance, so you can’t tell if you improved sell-through without harming trust."
      }
    },
    {
      "@type": "Question",
      "name": "Can I customize this ethical restock launch prompt for my specific situation?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, but customization happens through the details you provide during the discovery questions, since the prompt adapts to inventory depth, SKU/variant complexity, customer tiering, channel mix, brand voice, competitive timing, and prior performance. If your situation is unusual, be explicit (for example: “one variant is abundant, two are extremely constrained, and returns are high”). After it generates the stages, ask a focused follow-up like: “Rewrite the plan assuming SMS is unavailable and we must prioritize email + onsite messaging, while keeping all urgency statements inventory-verifiable.”"
      }
    },
    {
      "@type": "Question",
      "name": "What are the most common mistakes when using this ethical restock launch prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The biggest mistake is being vague about inventory and timing; instead of “stock is limited,” say “we have 800 units, no confirmed reorder date, and shipping begins Monday.” Another common error is skipping SKU/variant detail: “one product” is weak input, while “4 sizes, 3 colors, size M is the constraint” lets the plan recommend fairer access and clearer messaging. People also omit channel constraints (bad: “use all channels,” good: “email + SMS only, max 2 SMS sends”) and then wonder why the plan is unrealistic. Finally, some teams don’t share what happened last time (bad: “last restock was fine,” good: “site slowed, CX got 300 tickets about early access”), which prevents the prompt from addressing real failure points."
      }
    },
    {
      "@type": "Question",
      "name": "Who should NOT use this ethical restock launch prompt?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "This prompt isn’t ideal for teams that want aggressive hype mechanics like fake countdowns, implied scarcity, or pressure-first copy, because it explicitly blocks those tactics. It’s also not the best fit if you cannot provide basic facts (inventory, timing, variants) and you’re unwilling to gather them, since the prompt will stop and ask follow-up questions. If you just need a fast, generic “restock is live” message, you may be better off using a simple copy template and saving this framework for higher-stakes releases."
      }
    }
  ]
}
</script>
</div>

<div class="closing-section">
<!-- wp:paragraph -->
<p>Ethical urgency is still urgency. Use this prompt to plan a restock that sells through cleanly, explains the truth, and leaves customers feeling respected enough to come back.</p>
<!-- /wp:paragraph -->
</div>]]></content:encoded>
					
		
		
		<media:content url="https://flowpast.s3.eu-north-1.amazonaws.com/featured_blog_images/5002800.webp" medium="image"></media:content>
            	</item>
	</channel>
</rss>
