<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Prompt Driven Developer ]]></title><description><![CDATA[I help you become an AI-first professional with practical guides and systems that you can use on Monday morning. ]]></description><link>https://promptdrivendeveloper.com</link><image><url>https://substackcdn.com/image/fetch/$s_!btrh!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F825cf08d-67d6-449c-8dc7-9284827e9140_1024x1024.png</url><title>The Prompt Driven Developer </title><link>https://promptdrivendeveloper.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 19 Apr 2026 09:38:03 GMT</lastBuildDate><atom:link href="https://promptdrivendeveloper.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Ciara Wearen]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[promptdrivendeveloper@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[promptdrivendeveloper@substack.com]]></itunes:email><itunes:name><![CDATA[Ciara Wearen]]></itunes:name></itunes:owner><itunes:author><![CDATA[Ciara Wearen]]></itunes:author><googleplay:owner><![CDATA[promptdrivendeveloper@substack.com]]></googleplay:owner><googleplay:email><![CDATA[promptdrivendeveloper@substack.com]]></googleplay:email><googleplay:author><![CDATA[Ciara Wearen]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Build a macOS Style Portfolio Website with One Prompt]]></title><description><![CDATA[I tested the same portfolio prompt in 3 AI tools. One nailed It. One failed.]]></description><link>https://promptdrivendeveloper.com/p/build-a-macos-style-portfolio-website</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/build-a-macos-style-portfolio-website</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Mon, 22 Dec 2025 21:09:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ea29ea8c-9e68-4f3d-a9ef-6733e737ae9c_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Standard portfolio websites are boring and forgettable. If you want to stand out as a non-technical founder or creative, you need a portfolio that starts conversations with an interface that forces interaction.</p><p>This guide gives you the exact prompt to build a macOS inspired desktop website, complete with draggable windows, a working terminal and a playable solitaire game without writing a single line of code.</p><p>Sounds like something that would take weeks to build.</p><p>I did it with one prompt.</p><p>Well, technically I tried the same prompt in three different AI coding tools: <strong>v0</strong>, <strong>Lovable</strong> and <strong>Google AI Studio</strong>. The results were... interesting.</p><p>One nailed it. One struggled. One surprised me.</p><p>Here&#8217;s a sample of what the prompt can create in <a href="http://v0.app">v0.app</a> </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;33e48e7d-2c18-49de-bf56-c5dfb150c5e5&quot;,&quot;duration&quot;:null}"></div><p>Here&#8217;s the exact prompt I used. </p><p>It&#8217;s long and detailed on purpose. The more specific you are, the better results you&#8217;ll get. </p><p><strong>Copy. Paste. Ship!</strong></p><div><hr></div><p><code># Build a macOS inspired desktop portfolio website with placeholder content </code></p><p><code>Create a fully interactive portfolio website that simulates a macOS desktop environment in the browser. The site should feel like a real operating system where visitors explore the portfolio by opening apps, browsing folders and discovering hidden features.</code></p><p><code>## Core Features</code></p><p><code>### Desktop environment</code></p><p><code>- full-screen desktop with macOS style wallpaper </code></p><p><code>- top menu bar with logo (left), active app name (center), clock and system icons (right)</code></p><p><code>- bottom dock with app icons, magnification effect on hover, centered floating design</code></p><p><code>- draggable desktop icons with visual selection states</code></p><p><code>- double-click icons to open, single-click to select</code></p><p><code>### Window management</code></p><p><code>- draggable windows with macOS style traffic light buttons (red=close, yellow=minimize, green=maximize)</code></p><p><code>- click any window to bring it to front (z-index stacking)</code></p><p><code>- smooth animations for open/close/minimize (scale + fade transitions)</code></p><p><code>### File system &amp; folder structure</code></p><p><code>Create a hierarchical file system with these folders and files:</code></p><p><code>- readme.md file (bio, photo, links)</code></p><p><code>- demo folder (work history folders -&gt; job.md)</code></p><p><code>- projects folder (substack post sample)</code></p><p><code>- system folder (side projects)</code></p><p><code>- resume.pdf file</code></p><p><code>- trash bin</code></p><p><code>### Apps to build</code></p><p><code>1. Finder: file browser with sidebar navigation, grid/list view toggle, breadcrumbs, search functionality</code></p><p><code>2. Terminal: interactive command line with dark theme, command history (up/down arrows), monospace font, blinking cursor and these commands:</code></p><p><code>&#9;&#9;&#9;&#9;&#9;1. `help` - list all commands</code></p><p><code>&#9;&#9;&#9;&#9;&#9;2. `about` - opens readme</code></p><p><code>&#9;&#9;&#9;&#9;&#9;3. `ls` - list current directory contents</code></p><p><code>&#9;&#9;&#9;&#9;&#9;4. `ls -a` - show hidden files</code></p><p><code>&#9;&#9;&#9;&#9;&#9;5. `cd [folder]` - navigate folders</code></p><p><code>&#9;&#9;&#9;&#9;&#9;6. `cat [file]` - display file contents</code></p><p><code>&#9;&#9;&#9;&#9;&#9;7. `clear` - clear terminal</code></p><p><code>&#9;&#9;&#9;&#9;&#9;9.  easter eggs (details below) </code></p><p><code>3. Email client: display testimonials/recommendations as inbox emails with sender, subject, preview.</code></p><p><code>4. PDF viewer: display resume with download button</code></p><p><code>5. Solitaire game: fully playable with timer, and scoring</code></p><p><code>### Easter eggs</code></p><p><code>- fun easter egg terminal commands like `cowsay`, `fortune`, `matrix`, `coffee`</code></p><p><code>- konami code easter egg (up up down down left right left right B A)</code></p><p><code>- keyboard shortcuts</code></p><p><code>- terminal secret commands and modes</code></p><p><code>- smooth micro-interactions throughout</code></p><p><code>- hidden files that appear with `ls -a`</code></p><p><code>### Design requirements</code></p><p><code>- monochrome or minimal color palette with subtle accents</code></p><p><code>- clean, modern interpretation of macOS aesthetic</code></p><p><code>- smooth animations and transitions everywhere</code></p><p><code>- responsive design that works on tablets (desktops primarily)</code></p><p><code>- icons for folders, files and apps</code></p><div><hr></div><h4>Why This Prompt Works</h4><p>To get high-end results from AI, you must stop be specific. It follows principles that make AI coding tools perform better:</p><p><strong>1. Specific structure</strong> Instead of &#8220;build me a portfolio,&#8221; the prompt breaks down exactly what a macOS desktop needs, menu bar, dock, windows, file system, apps.</p><p><strong>2. Clear hierarchy</strong> The prompt uses headers and bullet points to organize requirements. AI tools parse structured text better than walls of prose.</p><p><strong>3. Concrete examples</strong> Listing specific terminal commands (<code>cowsay</code>, <code>fortune</code>, <code>matrix</code>) removes ambiguity. The AI doesn&#8217;t have to guess what &#8220;easter eggs&#8221; means.</p><p><strong>4. Design direction</strong> &#8220;Monochrome or minimal color palette&#8221; and &#8220;clean, modern interpretation&#8221; tell the AI what aesthetic you&#8217;re after.</p><p>When you give AI tools clear, structured instructions, they deliver better results. That&#8217;s the core of Prompt Driven Development.</p><h2>How to Customize Your Website </h2><p>The prompt generates a working portfolio with placeholder content. Here&#8217;s how to customize it:</p><p><strong>1. Swap in your real content</strong> Replace the placeholder folders with your actual projects, work history, and bio. Use prompts to update the <a href="http://readme.md/">README.md</a> file with your photo, links and personal introduction.</p><p><strong>2. Add a Music Player app</strong> Create a window that displays a playlist or embeds your Spotify. It adds personality and gives visitors a reason to stay longer while browsing your work.</p><p><strong>3. Build a Notes app for your writing</strong> If you have a Substack or blog, case studies or newsletter posts, display them as notes inside the macOS interface. Each note can be a separate markdown file visitors can browse.</p><p><strong>4. Create a Settings app</strong> Let visitors toggle light/dark mode or choose from different wallpapers. It adds interactivity and shows attention to detail, qualities clients and employers notice.</p><p><strong>5. Add a Messages app for contact</strong> Instead of a generic contact form, make it feel like visitors are sending you a direct message through the desktop interface. Link it to your calendar booking or email.</p><p><strong>6. Personalize the wallpaper</strong> Upload a high-res image of your own and ask the AI to set it as the desktop background.</p><p><strong>Next Step:</strong> Copy the prompt, paste it into <strong>v0.app</strong> (or your preferred tool) and watch it build your new portfolio in under 3 minutes.</p><h2>Tool Showdown</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yMRC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yMRC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!yMRC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!yMRC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!yMRC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yMRC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:825724,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.com/i/182362897?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yMRC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!yMRC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!yMRC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!yMRC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bff4c34-29d1-4f21-97ec-8dae3e4afe48_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The results of my three attempts</figcaption></figure></div><p>I tested this prompt across three leading tools. Here&#8217;s what happened:</p><h4>1. <a href="http://v0.app">v0.dev</a> The Winner</h4><ul><li><p><strong>Verdict:</strong> The only tool that nailed the premium feel.</p></li><li><p><strong>Pros:</strong> Perfect macOS aesthetic, working terminal commands and a functional solitaire game.</p></li><li><p><strong>Cons:</strong> Limited free trial, requires a subscription for heavy use.</p></li></ul><p>v0 followed the prompt closely and handled the complexity without complaining. If you want the most polished result, this is the tool to use.</p><h4>2. <a href="https://aistudio.google.com/apps">Google AI Studio</a> A Close Second</h4><ul><li><p><strong>Verdict:</strong> Strong logic, but lacks the &#8220;one-click&#8221; polish of v0.</p></li><li><p><strong>Pros:</strong> Currently free to use and follows complex instructions well.</p></li><li><p><strong>Cons:</strong> Didn&#8217;t follow every detail in the prompt, some features were simplified or skipped</p></li></ul><p>For a free tool, this is impressive. If you&#8217;re experimenting or on a budget, Google AI Studio is a solid starting point.</p><h4>3. <a href="https://www.notion.so/Prompt-Driven-Dev-186db52e1ba780df98d2c186f3d8cf83?pvs=21">Lovable</a> The Struggle</h4><ul><li><p><strong>Verdict:</strong> Avoid for this specific project. It had the hardest time with this prompt.</p></li><li><p><strong>Pros:</strong> Good for simple CRUD apps.</p></li><li><p><strong>Cons:</strong> Refused to build the solitaire game and missed the macOS aesthetic entirely.</p></li></ul><p>This isn&#8217;t to say Lovable is a bad tool. It&#8217;s excellent for simpler projects. But this particular prompt pushed it past its comfort zone.</p><div><hr></div><p><em>Have you tried this prompt and built your own version? I want to see it. Reply to this email or tag me on social. I&#8217;d love to share the best ones on my LinkedIn. </em></p>]]></content:encoded></item><item><title><![CDATA[The AI-First Professional: Stop "Using" AI. Start Building an AI System]]></title><description><![CDATA[Inside: 3 practical frameworks you can use on Monday morning]]></description><link>https://promptdrivendeveloper.com/p/the-ai-first-professional-stop-using</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/the-ai-first-professional-stop-using</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Sat, 06 Dec 2025 15:36:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b85875ec-7e0d-4707-8899-18051bae90d8_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Few people use AI to fundamentally change how they work. It&#8217;s about knowing where to start and having a framework to turn experiments into habits. AI can free you up to do more valuable work, expand your skill set and get more done in less time. &#8220;Use AI more&#8221; isn&#8217;t a strategy, it&#8217;s vague advice leading to a dead end.</p><p>Find concrete, measurable value from AI in your workflow. Save time on things that drain you so you have more capacity for work that energizes you. Find ways to move faster, think clearer and remove friction from your day.</p><blockquote><p>AI isn&#8217;t one-size-fits-all. The value is in discovering what works for your specific job, your specific bottlenecks, your specific workflow.</p></blockquote><p>To avoid being lost in the noise of generic &#8220;Use ChatGPT&#8221; articles, you must focus on the behavioral shift rather than just a list of tools. People are tired of prompt packs, they want sustainable thinking frameworks..</p><p>Social media and newsletters are saturated with &#8220;Top 10 AI Tools for Marketing,&#8221; and &#8220;How to write better prompts.&#8221; What people need is the <em>psychology</em> of being AI-first. How to shift from being a &#8220;creator&#8221; to a &#8220;director.&#8221; Few creators address the workflow transition for non-technical roles.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qg4-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qg4-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png 424w, https://substackcdn.com/image/fetch/$s_!qg4-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png 848w, https://substackcdn.com/image/fetch/$s_!qg4-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png 1272w, https://substackcdn.com/image/fetch/$s_!qg4-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qg4-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png" width="735" height="525" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:525,&quot;width&quot;:735,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55970,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/180886159?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qg4-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png 424w, https://substackcdn.com/image/fetch/$s_!qg4-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png 848w, https://substackcdn.com/image/fetch/$s_!qg4-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png 1272w, https://substackcdn.com/image/fetch/$s_!qg4-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89e44a42-080d-43b1-ab13-98c51570dbce_735x525.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>AI can&#8217;t replace your expertise, your contextual knowledge or your voice. Let&#8217;s take a look at three ways you can integrate AI into your workflow using these irreplaceable human skills to solve universal pain points.</p><h3><strong> 1. The Zero Draft Rule</strong></h3><blockquote><p>The most expensive part of your day is the first 15 minutes of any task. Staring at a blinking cursor drains your cognitive battery. You battle blank page anxiety before typing a single word.</p><p>With AI, you can implement the <strong>Zero Draft Rule</strong>. As an AI-First professional, you never start from zero. Your job is no longer to <em>originate</em> the first draft, your job is to <em>edit</em> a zero draft.</p><p>A Zero Draft is not a first draft. A first draft is something you might show a trusted colleague. A Zero Draft is messy, generic and structure-heavy and AI creates it in seconds.</p></blockquote><p>When you stare at a blank page, you&#8217;re trying to do two difficult things at once:</p><ul><li><p><strong>Structure:</strong> Determine the logic and flow</p></li><li><p><strong>Content:</strong> Create the actual insights and words</p></li></ul><p>This is cognitive overload. By asking AI for a Zero Draft, you outsource the structure. This frees up your brain to focus entirely on the content. The nuance, the tone and the strategy.</p><h4><strong>How to apply this in your workflow</strong></h4><p>Next time you need to write a project brief, a difficult email or a strategy doc, do not open a blank document. Open your AI tool and just brain dump or word vomit (if you prefer!):</p><pre><code>I need to write a proposal for [ project ]. Here are my random messy thoughts: [ insert bullet points, voice memo transcript or rough notes ]. Please organize this into a coherent structure with headers.</code></pre><p>You now have something on the table. Is it perfect? No. Is it generic? Probably. But it is there.</p><p>Now, you switch modes. You stop being the writer and become the editor-in-chief. You are no longer paralyzed by creating, you are energized by correcting. Correcting a bad paragraph is easier than conjuring truth from thin air.</p><div class="pullquote"><p><em>The AI provides the skeleton. You provide the soul.</em></p></div><h3><strong>2. Vibe Checking</strong></h3><blockquote><p>AI is a crowd-pleaser. It is trained on the average of the internet. Unsupervised, AI produces average work. It will give you a C+ draft every single time. Technically correct but grammatically bland and often tone-deaf.</p><p>If you aren&#8217;t writing the words from scratch, your new role is Quality Assurance. I call this <strong>Vibe Checking</strong>. Vibe checking is the ability to look at an AI-generated output and instantly diagnose: <em>Does this sound like a human? Does this sound like me?</em></p><p>Your seniority and experience shine here. A junior employee might accept the AI&#8217;s output as &#8220;good enough&#8221; because they don&#8217;t know better. You know the history of the client, the specific pet peeves of your boss and the nuance of your brand&#8217;s voice. The AI does not.</p></blockquote><h4><strong>The 3-Point Vibe Check Inspection</strong></h4><p>Before you hit send on anything generated by AI, you must run it through this mental filter:</p><ol><li><p><strong>The Hallucination Check (Fact vs. Fiction):</strong></p><ul><li><p>AI is a confident liar. It will invent statistics, dates and even policy details to make a sentence flow better.</p></li><li><p><strong>The Rule: </strong>If it states a fact, verify it. If it cites a number, double-check the source.</p></li></ul></li><li><p><strong>The Robot Check (Tone &amp; Syntax):</strong></p><ul><li><p>Look for the dead giveaways of AI writing: words like &#8220;delve,&#8221; &#8220;tapestry,&#8221; &#8220;landscape,&#8221; or sentences that all have the exact same length.</p></li><li><p><strong>The Fix: </strong>Break up the rhythm. Insert a short sentence. Add a contraction (change &#8220;do not&#8221; to &#8220;don&#8217;t&#8221;). Inject a personal anecdote or an idiom.</p></li></ul></li><li><p><strong>The Context Check (The &#8216;Us&#8217; Factor):</strong></p><ul><li><p>Does this answer the <em>actual</em> problem, or just the surface problem? For example, you asked AI to write an apology email to a client. The AI writes a generic &#8220;We are sorry for the inconvenience.&#8221;</p></li><li><p><strong>The Vibe Check: </strong>You know this client hates corporate speak. You delete the AI&#8217;s sentence and replace it with: <em>&#8220;I dropped the ball on this, and I&#8217;m fixing it today.&#8221;</em></p></li></ul></li></ol><div class="pullquote"><p>AI provides the logic. You provide the intuition.</p></div><h3><strong>3. Build a Context Cheat Sheet</strong></h3><blockquote><p>Most people treat every interaction with AI like a first date. They start from scratch, introducing themselves and their goals every single time. This is exhausting and it&#8217;s why your results often feel generic. If you don&#8217;t tell the AI who you are it defaults to a helpful-but-boring corporate assistant.</p><p>The solution to this is a <strong>Context Cheat Sheet</strong>. Think of an AI tool as a highly skilled intern who joined your company five minutes ago. They have excellent grammar and infinite knowledge but they know <em>nothing</em> about you, your boss or your company culture.</p><p>Instead of re-explaining your job every time, create a single Context Cheat Sheet. A simple Notes or Word doc that lives on your desktop.</p></blockquote><h4><strong>What goes in the file?</strong></h4><p>The file is a clear description of your reality. Your Context Cheat Sheet should include three distinct blocks:</p><ol><li><p><strong>The Who Am I Block:</strong></p><ul><li><p><strong>Role:</strong> &#8220;I am a Senior Project Manager at a mid-sized construction firm.&#8221;</p></li><li><p><strong>Goal: </strong>&#8220;My goal is to communicate clearly and briefly to busy stakeholders who don&#8217;t read long emails.&#8221;</p></li><li><p><strong>Stakeholders:</strong> &#8220;I report to the VP of Operations (who loves data) and the Site Lead (who loves bullet points).&#8221;</p></li></ul></li><li><p><strong>The Voice &amp; Tone Block:</strong></p><ul><li><p>Paste 3 examples of your best writing.</p></li><li><p>Add specific constraints: <em>&#8220;Do not use buzzwords like &#8216;synergy&#8217; or &#8216;game-changer&#8217;. Keep sentences under 20 words where possible. Use an active voice.&#8221;</em></p></li></ul></li><li><p><strong>The Formatting Block:</strong></p><ul><li><p>&#8220;Always format outputs using Markdown.&#8221;</p></li><li><p>&#8220;Use bolding for key terms.&#8221;</p></li><li><p>&#8220;Never give me a conclusion paragraph unless I ask for it.&#8221;</p></li></ul></li></ol><h4><strong>How to use it</strong></h4><p>This is the AI-First workflow in action.</p><p><strong>Step 1:</strong> Open your AI tool.</p><p><strong>Step 2:</strong> If you use ChatGPT or Claude the file can serve as instructions in a Project. Or if you use Gemini you can create a custom Gem.</p><p><strong>Step 3:</strong> Start prompting.</p><p>By doing this, you instantly upgrade the AI&#8217;s IQ regarding your specific job. You stop getting generic advice and start getting tailored consulting.</p><div class="pullquote"><p>Move from playing with AI. To building a system with AI.</p></div><p>A single misconception drives AI anxiety: believing your value relies on the prompt.</p><p>For years, we have conflated working hard with generating output. We felt productive because we spent three hours writing a report. But in an AI-First world, the math has changed.</p><p>Becoming an AI-First professional isn&#8217;t about learning Python or understanding neural networks. It is a fundamental shift in your job description:</p><ul><li><p><strong>Yesterday:</strong> You were paid to stare at blank pages and fill them.</p></li><li><p><strong>Today:</strong> You&#8217;re paid to have a vision, provide the context and enforce the quality standard.</p></li></ul><blockquote><p>The Zero Draft Rule saves you from the blank page. Vibe Checking ensures the output has a soul. Your Context Cheat Sheet ensures the AI knows the mission.</p></blockquote><p>This transition allows you to escape the grunt work trap. By handing the repetitive 80% of tasks to your AI intern, you reclaim the mental energy needed for the strategic 20%. The relationships, the complex problem solving and the creative leaps that no algorithm can replicate.</p><p>The tools are already here. The only thing missing is your decision to stop working harder and start working smarter.</p>]]></content:encoded></item><item><title><![CDATA[The Anatomy of a Great Prompt]]></title><description><![CDATA[The 5 building blocks that make AI build what you actually want]]></description><link>https://promptdrivendeveloper.com/p/the-anatomy-of-a-great-cursor-prompt</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/the-anatomy-of-a-great-cursor-prompt</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Thu, 06 Nov 2025 18:24:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9e08a35d-9a7c-40b2-a921-0ac0d7381639_735x525.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>This is Part 2 of a 3-part series on building apps with Cursor.</strong><br><a href="https://promptdrivendeveloper.substack.com/p/how-to-talk-to-cursor-even-if-youve">Part 1</a> covered how to talk to Cursor using context and instructions. This part breaks down the invisible structure behind prompts that generate clean, professional code. Part 3 will show you real workflows to ship a complete app.</p><div><hr></div><p>You&#8217;ve learned how to give Cursor context and instructions. But here&#8217;s what nobody tells you: specificity alone isn&#8217;t enough.</p><p>You can write a detailed prompt and still get mediocre results. The code works, but it&#8217;s messy. Or it looks good but breaks when you add the next feature. Or it&#8217;s <em>almost</em> right but something feels off.</p><p>The difference between &#8220;okay&#8221; code and &#8220;this is actually good&#8221; code comes down to <strong>structure.</strong></p><p>Great prompts have an invisible anatomy, a set of building blocks that guide the Cursor agent toward better decisions. Once you understand these blocks, you stop hoping your prompts work and start <em>knowing</em> they will.</p><p>This article breaks down the 5 core components every strong prompt needs and shows you how to use them to build features that work the first time.</p><div><hr></div><h2><strong>Why Some Prompts Work Better Than Others</strong></h2><p>The Cursor agent isn&#8217;t guessing when it builds your app. It&#8217;s making decisions.</p><p>Every time you prompt, Cursor decides:</p><ul><li><p>Which libraries to use</p></li><li><p>How to structure the code</p></li><li><p>What styles to apply</p></li><li><p>How components should interact</p></li><li><p>Whether to add error handling</p></li></ul><p>When your prompt is vague, Cursor makes those decisions based on general patterns it&#8217;s learned. That&#8217;s why you get generic output.</p><p>When your prompt has <strong>structure</strong>, Cursor makes decisions based on <em>your</em> priorities. That&#8217;s when output gets good.</p><p>With Cursor 2.0&#8217;s new <strong>Composer model</strong>, these decisions happen faster (under 30 seconds for most tasks) and with better codebase awareness. But speed doesn&#8217;t fix bad prompts&#8230; it just delivers mediocre results faster! </p><p>Your goal is to give the Composer model the structure it needs to make <em>your</em> decisions, not generic ones.</p><div><hr></div><h2><strong>The 5 Building Blocks of a Great Cursor Prompt</strong></h2><p>Every strong prompt contains these 5 components:</p><ol><li><p><strong>Context</strong>: What Cursor needs to know about your app</p></li><li><p><strong>Action</strong>: What you want it to build or change</p></li><li><p><strong>Constraints</strong>: What it should NOT do</p></li><li><p><strong>Style</strong>: How it should look and behave</p></li><li><p><strong>Validation</strong>: How you&#8217;ll know it worked</p></li></ol><p>Let&#8217;s break each one down.</p><h3><strong>1. Context: Tell Cursor What It&#8217;s Building For</strong></h3><p>Context is background information. It helps Cursor understand <em>why</em> something exists, so it makes better choices about implementation.</p><p><strong>Bad prompt (no context):</strong></p><pre><code><code>Add a dashboard</code></code></pre><p><strong>Good prompt (with context):</strong></p><pre><code><code>[Context]
This is a SaaS analytics dashboard for small business owners.
Users log in to see their monthly sales data.
The app uses a blue/white color scheme with rounded corners.

[Action]
Add a dashboard page...</code></code></pre><p>Notice what context does:</p><ul><li><p>It tells Cursor <em>who</em> the user is (small business owners)</p></li><li><p>It explains <em>what</em> they&#8217;re doing (viewing sales data)</p></li><li><p>It defines <em>existing style</em> (blue/white, rounded corners)</p></li></ul><p>Now when Cursor builds the dashboard, it makes decisions that fit your app. </p><h3><strong>2. Action: Be Specific About What You Want</strong></h3><p>This is the <em>what</em> of your prompt. The clearer you are, the better Cursor performs.</p><p><strong>Vague action:</strong></p><pre><code><code>Add a form</code></code></pre><p><strong>Specific action:</strong></p><pre><code><code>Create a contact form with:
- Name field (text input)
- Email field (text input, must validate email format)
- Message field (text area, 4 rows tall)
- Submit button at the bottom</code></code></pre><p>Specificity eliminates guesswork. Cursor now knows exactly what to build.</p><p><strong>Structure actions in layers:</strong></p><ul><li><p><strong>Layout first:</strong> &#8220;Three cards in a horizontal row&#8221;</p></li><li><p><strong>Content second:</strong> &#8220;Each card has a title, description, and icon&#8221;</p></li><li><p><strong>Interaction third:</strong> &#8220;Cards lift on hover&#8221;</p></li></ul><p>This layered approach keeps prompts readable and gives Cursor a logical build order.</p><h3><strong>3. Constraints: Tell Cursor What NOT to Do</strong></h3><p>This is the secret weapon most people skip. Constraints prevent bad code before it happens.</p><p><strong>Example constraints:</strong></p><pre><code><code>Constraints:
- Don&#8217;t use inline styles&#8212;use Tailwind classes only
- Keep all spacing consistent at 16px or 32px
- Don&#8217;t add features I didn&#8217;t ask for
- Make sure this works on mobile screens</code></code></pre><p>Constraints are guardrails. They keep Cursor from making decisions you&#8217;ll have to undo later.</p><p><strong>Common constraints to use:</strong></p><ul><li><p>&#8220;Don&#8217;t hardcode colors, use the existing brand color palette&#8221;</p></li><li><p>&#8220;Keep components under 150 lines&#8221;</p></li><li><p>&#8220;Don&#8217;t install new packages without asking&#8221;</p></li><li><p>&#8220;Follow the same structure as [existing component]&#8221;</p></li></ul><p>With Cursor 2.0&#8217;s <strong>Composer model</strong>, constraints become even more important. Composer is <em>fast</em> and can generate a lot of code quickly but that speed is only useful if it&#8217;s building in the right direction. Constraints keep it on track.</p><h3><strong>4. Style: Define How It Should Look and Behave</strong></h3><p>Style is how your app feels. It&#8217;s spacing, colors, borders, animations, typography.</p><p>Most people think they need to know CSS to control style. You don&#8217;t. You just need to be descriptive.</p><p><strong>Example style block:</strong></p><pre><code><code>Style:
- Background: white card with soft shadow
- Borders: rounded corners (12px)
- Spacing: 32px padding inside the card
- Button: blue background (#3B82F6), white text, rounded (8px)
- Hover: button lifts slightly with a smooth transition</code></code></pre><p>You&#8217;re describing what you see in your head. Cursor translates that into code.</p><p><strong>Pro tip:</strong> Create a &#8220;brand guidelines&#8221; rule you reuse across features:</p><pre><code><code>Brand Guidelines:
- Primary color: #3B82F6 (blue)
- All cards have 12px rounded corners
- Spacing uses 8px grid (8, 16, 24, 32, 40...)
- Buttons are full-width on mobile, auto-width on desktop
- Font: Inter, 16px body text, 24px headings</code></code></pre><p>Save this as a snippet as a rule.md doc. Now Cursor builds everything in a consistent style automatically.</p><h3><strong>5. Validation: Define Success Criteria</strong></h3><p>Validation tells Cursor (and you) how to know if it worked.</p><p><strong>Example validation:</strong></p><pre><code><code>Validation:
- Form submits when I click the button
- Error message shows if email field is empty
- Success message appears after submission
- Form clears after successful submit</code></code></pre><p>This is huge for non-technical builders. You&#8217;re defining <em>what success looks like</em> without needing to know how to test code.</p><p>With Cursor 2.0&#8217;s <strong>native browser tool</strong>, agents can now test their own work. If you include validation criteria in your prompt, Composer can iterate until it passes your tests without you manually checking each change.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DtKw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DtKw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png 424w, https://substackcdn.com/image/fetch/$s_!DtKw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png 848w, https://substackcdn.com/image/fetch/$s_!DtKw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png 1272w, https://substackcdn.com/image/fetch/$s_!DtKw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DtKw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png" width="1050" height="750" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1050,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63354,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/178197585?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DtKw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png 424w, https://substackcdn.com/image/fetch/$s_!DtKw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png 848w, https://substackcdn.com/image/fetch/$s_!DtKw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png 1272w, https://substackcdn.com/image/fetch/$s_!DtKw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F054f0b4d-115e-4022-920b-2b39b7e31941_1050x750.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Example prompt with validation:</strong></p><pre><code><code>[Action]
Add a signup form with Name, Email, and Password fields.

[Validation]
Test this by:
1. Submitting with empty fields&#8212;error messages should appear
2. Submitting with valid data&#8212;success message should show
3. Checking mobile view&#8212;form should stack vertically

Use the browser tool to verify these work before finishing.</code></code></pre><p>Now Composer will build, test and fix until all validation criteria pass.</p><div><hr></div><h2><strong>Putting It All Together: Full Prompt Anatomy</strong></h2><p>Here&#8217;s how all 5 building blocks work together:</p><p><strong>Bad Prompt:</strong></p><pre><code><code>Add a pricing section</code></code></pre><p><strong>Great Prompt (Full Anatomy):</strong></p><pre><code><code>[Context]
This is for a SaaS landing page targeting freelancers.
The site uses a clean, modern style with blue accents (#3B82F6) and rounded corners.

[Action]
Add a pricing section below the features section.
Create three pricing cards arranged horizontally:
- Free plan: $0/month, includes 3 features
- Pro plan: $20/month, includes 8 features, highlight this one
- Enterprise plan: Custom pricing, includes all features

Each card has:
- Plan name at top (bold, 24px)
- Price below name (large, 32px)
- Feature list (5 items, checkmarks)
- CTA button at bottom

[Constraints]
- Don&#8217;t add animations I didn&#8217;t ask for
- Keep spacing consistent with the rest of the page (32px between sections)
- Don&#8217;t install new packages
- Make sure cards stack vertically on mobile

[Style]
- Cards: white background, soft shadow, rounded corners (12px)
- Highlight the Pro plan with a blue border
- Buttons: blue background for Pro, gray for others
- Hover effect: cards lift slightly

[Validation]
- All three cards display side-by-side on desktop
- Cards stack vertically on mobile (under 768px width)
- Pro plan clearly stands out with blue border
- Buttons are clickable and styled correctly</code></code></pre><p>That&#8217;s a complete prompt. Cursor now has everything it needs to build exactly what you want with no guesswork.</p><h2><strong>Prompt Templates You Can Copy</strong></h2><p>Here are reusable templates for common scenarios. Fill in the brackets and you&#8217;re good to go.</p><h3><strong>Template 1: New Component</strong></h3><pre><code><code>[Context]
[Describe your app and who uses it]

[Action]
Create a [component name] with:
- [Feature 1]
- [Feature 2]
- [Feature 3]

[Constraints]
- Don&#8217;t [thing you don&#8217;t want]
- Keep [consistency rule]

[Style]
- [Color/spacing/layout details]

[Validation]
- [How to test it works]</code></code></pre><h3><strong>Template 2: Modification</strong></h3><pre><code><code>[Action]
In the [component name], change:
- [Specific edit 1]
- [Specific edit 2]

[Constraints]
- Don&#8217;t break [existing functionality]

[Validation]
- [Existing feature] still works
- [New change] is visible</code></code></pre><h3><strong>Template 3: Complex Feature</strong></h3><pre><code><code>[Context]
[User scenario: who, what, why]

[Action]
Build a [feature name] that:
1. [Step 1]
2. [Step 2]
3. [Step 3]

[Constraints]
- Follow the same pattern as [existing feature]
- Use [specific library/tool]

[Style]
- Match the design of [reference component]

[Validation]
- Test by [action 1] &#8594; [expected result]
- Test by [action 2] &#8594; [expected result]</code></code></pre><h2><strong>How Cursor 2.0 Changes the Prompting Game</strong></h2><p>Cursor 2.0 introduces features that make structured prompting even more powerful:</p><p><strong>1. Multi-Agent Workflows</strong> You can now run up to <strong>8 agents in parallel</strong>, each working on a different part of your app. With structured prompts, you can:</p><ul><li><p>Give Agent 1 your context + feature A</p></li><li><p>Give Agent 2 the same context + feature B</p></li><li><p>Review both outputs and merge the best parts</p></li></ul><p>This is massive for non-technical builders. </p><p><strong>2. Composer Model Speed</strong> Composer completes most tasks in <strong>under 30 seconds</strong>. Fast iteration means you can test prompt variations quickly and learn what works without waiting.</p><p><strong>3. Native Browser Testing</strong> Include validation criteria in your prompts, and Composer can test the output itself using the built-in browser. This removes the manual &#8220;did it work?&#8221; step and lets you focus on the next feature.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MrYW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MrYW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png 424w, https://substackcdn.com/image/fetch/$s_!MrYW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png 848w, https://substackcdn.com/image/fetch/$s_!MrYW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png 1272w, https://substackcdn.com/image/fetch/$s_!MrYW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MrYW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png" width="998" height="713" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:713,&quot;width&quot;:998,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67627,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/178197585?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MrYW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png 424w, https://substackcdn.com/image/fetch/$s_!MrYW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png 848w, https://substackcdn.com/image/fetch/$s_!MrYW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png 1272w, https://substackcdn.com/image/fetch/$s_!MrYW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52417dc5-9ddb-4040-8e12-7364dd9757dc_998x713.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2><strong>Your Prompts Are Your Product Specs</strong></h2><p>Here&#8217;s the mindset shift: <strong>Prompts aren&#8217;t requests. They&#8217;re specifications.</strong></p><p>When you give Cursor a structured prompt with all 5 building blocks, you&#8217;re not asking it to guess what you want. You&#8217;re giving it a blueprint.</p><p>The better your specs, the better your product.</p><p>You don&#8217;t need to learn code. You need to learn how to write clear, structured specifications that Cursor can execute.</p><p>That&#8217;s the skill that matters.</p><div><hr></div><p><strong>Coming Next:</strong></p><p>You&#8217;ve learned how to talk to Cursor. You&#8217;ve learned the anatomy of a great prompt.</p><p>In Part 3, I&#8217;ll show you <strong>real workflows</strong> for building a complete app from scratch. You&#8217;ll see exactly when to use Ask vs. Plan vs. Agent mode and how to structure a build from idea to deployment,</p><p><strong>See you in Part 3 </strong>&#128075;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2WYE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2WYE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!2WYE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!2WYE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!2WYE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2WYE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif" width="724" height="407.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:270,&quot;width&quot;:480,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:1145656,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/178197585?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2WYE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!2WYE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!2WYE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!2WYE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95a551a9-1fb5-4e7f-9f5d-bcba24369251_480x270.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[How to Talk to Cursor (Even If You've Never Coded)]]></title><description><![CDATA[Learn to prompt like an builder, not a developer]]></description><link>https://promptdrivendeveloper.com/p/how-to-talk-to-cursor-even-if-youve</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/how-to-talk-to-cursor-even-if-youve</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Mon, 20 Oct 2025 19:49:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c602d03f-e65b-4eaa-b027-624a5048e6ca_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>This is Part 1 of a 3-part series on building apps with Cursor.</strong> </p><p>In this first part, you&#8217;ll learn how to communicate with AI so it builds what you actually want. Part 2 covers the anatomy of a great prompt. Part 3 shows you real workflows to go from idea to shipped product.</p><div><hr></div><p>You&#8217;ve opened Cursor. You&#8217;ve got an idea. You type something like &#8220;make a login page&#8221; and hit enter.</p><p>Cursor spits out code. It <em>looks</em> like a login page. But it&#8217;s not quite right. The button&#8217;s in the wrong place. The colors are off. The form fields aren&#8217;t what you needed.</p><p>You try again. &#8220;Add a signup option.&#8221; Cursor makes changes but now something else broke.</p><p>This is the wall most non-technical people hit with AI code editors. Not because Cursor is bad. But because nobody taught them how to talk to it.</p><p>Cursor isn&#8217;t a mind reader. It needs context. Your job isn&#8217;t to write code, it&#8217;s to describe what you want clearly enough that Cursor can build it. </p><p>This article will show you exactly how to communicate with Cursor so it builds what you actually imagined, not what it <em>thinks</em> you want.</p><div><hr></div><h2><strong>The Problem: You&#8217;re Describing, Not Instructing with Context</strong></h2><p>Most people approach Cursor like they&#8217;re explaining an idea to a friend:</p><p><em>&#8220;I want a homepage with a hero section and some features listed below.&#8221;</em></p><p>That&#8217;s a description. And descriptions leave too much open to interpretation.</p><p>Cursor doesn&#8217;t know:</p><ul><li><p>What size should the hero be?</p></li><li><p>Where should the text sit?</p></li><li><p>What do the feature cards look like?</p></li><li><p>How should they be arranged?</p></li></ul><p>So it guesses. And guesses lead to outputs that are generic and require endless back-and-forth to fix.</p><p><strong>The shift you need to make:</strong> Stop describing. Start instructing with context. </p><p>Instructions are specific. They tell Cursor <em>what</em> to build, <em>where</em> to put it and <em>how</em> it should behave.</p><div><hr></div><h2><strong>The Context Stack Method: Giving Cursor the Full Picture</strong></h2><p>Here&#8217;s a prompt structure that works almost every time. It combines <strong>context</strong> (background information) with <strong>instructions</strong> (specific directions).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lT6f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lT6f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png 424w, https://substackcdn.com/image/fetch/$s_!lT6f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png 848w, https://substackcdn.com/image/fetch/$s_!lT6f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png 1272w, https://substackcdn.com/image/fetch/$s_!lT6f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lT6f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png" width="945" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:945,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:101502,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/176671577?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lT6f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png 424w, https://substackcdn.com/image/fetch/$s_!lT6f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png 848w, https://substackcdn.com/image/fetch/$s_!lT6f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png 1272w, https://substackcdn.com/image/fetch/$s_!lT6f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ce674fe-8fc8-46ed-b1ef-581e7c50d3cd_945x675.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Let&#8217;s break it down with an example:</p><p><strong>Bad Prompt:</strong> <em>&#8220;Add a pricing section.&#8221;</em></p><p><strong>Good Prompt (Context + Instructions):</strong></p><pre><code><code>[Context]
This is for potential customers comparing plans on our SaaS landing page.
The site uses a clean, modern style with blue accents and rounded corners.

[Instructions]
Add a pricing section below the features with three pricing cards arranged horizontally.

Each card includes:
- Plan name at top (Basic, Pro, Enterprise)
- Price in large, bold text
- List of 5 included features
- &#8220;Choose Plan&#8221; button at bottom
- Highlight the Pro plan with a blue border</code></code></pre><p>This gives Cursor:</p><ul><li><p><strong>Context</strong> (who it&#8217;s for, what the existing style is)</p></li><li><p><strong>Placement</strong> (where it goes)</p></li><li><p><strong>Structure</strong> (how it&#8217;s organized)</p></li><li><p><strong>Content</strong> (what&#8217;s inside)</p></li><li><p><strong>Style cues</strong> (visual details)</p></li></ul><p>The context helps Cursor make better decisions. The instructions tell it exactly what to build.</p><div><hr></div><h2><strong>The 3 Types of Prompts Cursor Responds to Best</strong></h2><p>Now that you understand the Context and Instructions framework, let&#8217;s look at the three types of instructions Cursor responds to best: <strong>Structure</strong>, <strong>Modification</strong> and <strong>Behavior</strong>.</p><h3><strong>1. Structure Prompts: Building the Layout</strong></h3><p>Use these when you&#8217;re creating something new or defining how a page should be organized.</p><p><strong>Example prompt:</strong> </p><pre><code><code>[Context]
This is the homepage hero for a no-code app builder.
Target audience: non-technical founders who want to build apps.

[Instructions]
Create a full-width hero section at the top of the page:
- Large heading centered: &#8220;Build Apps Without Code&#8221;
- Subheading below it: &#8220;Learn to use AI as your development partner&#8221;
- Primary CTA button below the subheading: &#8220;Start Building&#8221;
- Background: soft blue gradient</code></code></pre><p>Notice what this does:</p><p>- It defines <strong>what</strong> goes where</p><p>- It specifies <strong>size</strong> (full-width, large heading)</p><p>- It gives <strong>actual content</strong> (not &#8220;add a heading&#8221; but the exact text)</p><p>- It sets <strong>visual details</strong> (colors, layout hierarchy)</p><p>Cursor now knows exactly what to build. No guessing involved. </p><p></p><blockquote><p>&#8505;&#65039; <em>Not every prompt needs heavy context. Modification and Behavior prompts often work fine with minimal context since they&#8217;re editing something that already exists.</em></p></blockquote><p></p><h3>2. Modification Prompts: Fixing What&#8217;s There</h3><p>Use these when something exists but needs tweaking.</p><p><strong>Bad modification prompt:</strong> &#8220;Make the button look better.&#8221;</p><p><strong>Good modification prompt:</strong></p><pre><code><code>Change the CTA button:
- Background color is bright blue (#3B82F6)
- Text is white, bold, 18px
- Add 16px padding inside the button
- Rounded corners with 8px
- Add a subtle shadow on hover</code></code></pre><p>The difference is you&#8217;re not asking Cursor to guess what &#8220;better&#8221; means. You&#8217;re giving it specific instructions it can execute.</p><p>Even if you don&#8217;t know CSS, you can describe: </p><p>&#8220;I want the button to have rounded edges, be blue, with white text and lift slightly when I hover over it.&#8221; Cursor translates that into working code.</p><h3>3. Behavior Prompts: Defining Interactions</h3><p>Use these when you want something to do something.</p><p><strong>Example prompt:</strong></p><pre><code><code>When the user clicks the &#8220;Start Building&#8221; button:
- Open a modal window in the center of the screen
- Modal has a signup form with fields: Name, Email, Password
- Add a &#8220;Submit&#8221; button at the bottom
- Close the modal when the user clicks outside of it</code></code></pre><p>You&#8217;re describing the user journey. Cursor understands &#8220;when X happens, do Y.&#8221; You don&#8217;t need to know JavaScript event listeners, you just need to describe the flow.</p><div><hr></div><h2>How to Describe What You Want Without Technical Terms</h2><p>The biggest myth about prompting AI tools: you need to be technical. You don&#8217;t.</p><p>You need to be specific, not technical. </p><p>Here&#8217;s how to describe common things in plain English:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NHdq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NHdq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png 424w, https://substackcdn.com/image/fetch/$s_!NHdq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png 848w, https://substackcdn.com/image/fetch/$s_!NHdq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png 1272w, https://substackcdn.com/image/fetch/$s_!NHdq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NHdq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png" width="840" height="600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:600,&quot;width&quot;:840,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51222,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/176671577?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NHdq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png 424w, https://substackcdn.com/image/fetch/$s_!NHdq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png 848w, https://substackcdn.com/image/fetch/$s_!NHdq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png 1272w, https://substackcdn.com/image/fetch/$s_!NHdq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3ff0a0-3b0f-47db-934b-3f5ac77c8a9c_840x600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Notice a pattern? You&#8217;re describing:</p><p>1. What it is (a box, a button, a form)</p><p>2. Where it goes (top of the page, center, in a row)</p><p>3. What it does (opens, changes color, shows a message)</p><p>That&#8217;s it. <strong>No coding or technical language required.</strong></p><div><hr></div><h2>Iterating When Cursor Gets It Almost Right</h2><p>Cursor won&#8217;t always nail it on the first shot. That&#8217;s normal. The key is knowing how to iterate without starting over.</p><h4>(i) Use Modification Prompts on Specific Elements:</h4><p><strong>Instead of:</strong> &#8220;Redo the hero section.&#8221;</p><p><strong>Try a prompt like:</strong></p><pre><code><code>In the hero section:
- Move the CTA button 32px lower
- Change the heading text to &#8220;Start Building Today&#8221;
- Reduce the background opacity to 70%</code></code></pre><p>You&#8217;re making surgical edits. No need to demolish and rebuild.</p><h4>(ii) Reference What Already Exists:</h4><p>Cursor has memory of what it built. Use that.</p><p><strong>Example prompts:</strong> </p><pre><code><code>Make the About page hero match the homepage hero&#8212;same layout, different heading text.</code></code></pre><pre><code><code>Use the same button style from the pricing cards on this form.</code></code></pre><p>This keeps your design consistent and saves you from re-explaining styles every time.</p><div><hr></div><h2>The 3 Phrases That Make Cursor Build Cleaner Code</h2><p>Certain phrases guide Cursor toward better decisions:</p><p>1. &#8220;Use consistent spacing of [X]px throughout&#8221;</p><p><em> Keeps your layout from looking amateur </em></p><p>2. &#8220;Follow the same structure as [existing component]&#8221;</p><p><em>Maintains design consistency across pages</em></p><p>3. &#8220;Make this responsive so elements stack vertically on mobile&#8221;</p><p><em> Ensures your app works on all screen sizes</em></p><p>You don&#8217;t need to write code. But you do need to set guardrails so Cursor doesn&#8217;t go rogue. </p><h4>Real Example: Before &amp; After</h4><p>Let&#8217;s see this in action.</p><p><strong>Before (Vague Prompt):</strong></p><pre><code><code>Build a contact form. </code></code></pre><p><strong>What Cursor Builds:</strong> A generic form. Two fields. A button. It works (maybe!) but it&#8217;s bland and doesn&#8217;t match your app&#8217;s style.</p><p><strong>After (Structured Prompt):</strong></p><pre><code><code>Create a contact form in the center of the page with:

Layout:
- White card with soft shadow
- 40px padding inside
- Rounded corners (12px)

Form Fields:
- Name (text input)
- Email (text input)
- Message (large text area, 4 rows tall)
- All fields have placeholder text and subtle gray borders

Button:
- &#8220;Send Message&#8221; button at bottom
- Blue background (#3B82F6), white text
- Full width of the form
- Rounded corners (8px)

Behavior:
- Show a green success message below the button when submitted
- Clear the form after submission</code></code></pre><p><strong>What Cursor Builds:</strong> Exactly what you described. Professional. Polished. Ready to use.</p><div><hr></div><h2><strong>Your Prompts Are Your Blueprints</strong></h2><p>Think of prompts like blueprints for a house. The more detail you give upfront, the less rework you do later.</p><p>You don&#8217;t need to know how to code. You need to know how to communicate structure, placement and behavior in plain English. That&#8217;s the skill that matters now.</p><p>Start practicing with small prompts. Build a button. Then a card. Then a section. Then a page.</p><div><hr></div><p><strong>Coming Next:</strong></p><p>Now that you know <em>how</em> to talk to Cursor, <strong>Part 2</strong> will show you <em>what</em> makes a prompt actually work. The invisible structure behind every great output.</p><p>You&#8217;ll learn the 5 core components every strong prompt needs, how to add constraints that prevent messy code and the exact templates I use to build features that work the first time.</p><p><strong>See you in Part 2 &#128075;</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4URO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4URO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif 424w, https://substackcdn.com/image/fetch/$s_!4URO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif 848w, https://substackcdn.com/image/fetch/$s_!4URO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif 1272w, https://substackcdn.com/image/fetch/$s_!4URO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4URO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif" width="712" height="397.4618473895582" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:278,&quot;width&quot;:498,&quot;resizeWidth&quot;:712,&quot;bytes&quot;:3069967,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/176671577?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4URO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif 424w, https://substackcdn.com/image/fetch/$s_!4URO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif 848w, https://substackcdn.com/image/fetch/$s_!4URO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif 1272w, https://substackcdn.com/image/fetch/$s_!4URO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F52470f1e-b9b5-4fa7-9465-b2eaa21776e6_498x278.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The Prompt Driven Developer</strong> </p><p></p>]]></content:encoded></item><item><title><![CDATA[Claude Skills Explained Simply (+ 3 You Can Copy Today)]]></title><description><![CDATA[Claude Skills Just Changed How We Build With AI. Here&#8217;s What It Means for You.]]></description><link>https://promptdrivendeveloper.com/p/claude-skills-explained-simply-3</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/claude-skills-explained-simply-3</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Sun, 19 Oct 2025 19:16:57 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ca00eceb-714a-4cad-bd52-800a3a30733a_788x563.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you&#8217;ve been using Claude to help you build apps, you&#8217;ve probably run into this problem: you ask it to do something one day and it nails it. You ask for the same thing next week and the output is completely different.</p><p>That inconsistency is about to disappear.</p><p>This week Anthropic released <strong>Claude Skills,</strong> a feature that lets you teach Claude to perform specific tasks the exact same way, every single time.</p><p>If, like me, you&#8217;re building apps with AI as your mentor and coding partner <strong>Skills</strong> are an upgrade. </p><p>Let me show you why.</p><p></p><h2>What Are Claude Skills?</h2><p>Claude Skills are <strong>instruction folders</strong> you <strong>create once</strong> and <strong>reuse forever.</strong></p><p>Here&#8217;s how it works:</p><ul><li><p>You write down the steps for a task (or let Claude write them for you)</p></li><li><p>Save it as a skill</p></li><li><p>Every time you ask Claude to do that task, it follows those exact steps</p></li></ul><p><strong>Example:</strong> You create a &#8220;debug-my-code&#8221; skill that tells Claude to:</p><ol><li><p>Check for syntax errors</p></li><li><p>Look for logic issues</p></li><li><p>Test edge cases</p></li><li><p>Explain what broke in plain English</p></li></ol><p>Now, every time you paste broken code, Claude debugs it the same way. Same checklist. Same format. Same quality.</p><p></p><h2>Why This Matters If You&#8217;re Building Apps</h2><p>Before <strong>Skills</strong>, using Claude for coding felt like working with a brilliant but unpredictable assistant. Some days it would write you clean, well-commented code. Other days, not so much.</p><p><strong>Skills</strong> fix this by letting you set the rules for consistent output. </p><p></p><div><hr></div><p></p><p><strong>3 Ready-to-Use Examples for Prompt Driven Developers</strong></p><h3><strong>Skill #1: Code Explainer</strong></h3><p><strong>What it does:</strong> Takes any code snippet and explains it in plain English, line by line.</p><p><strong>Why you need it:</strong> When you&#8217;re reverse-engineering code (the foundation of prompt-driven development), you need consistent explanations. This skill breaks down what every line does, what patterns it uses, and why it&#8217;s structured that way.</p><p><strong>Setup time:</strong> 5 minutes<br><strong>Saves you:</strong> 10-20 minutes per code review</p><p></p><h3><strong>Skill #2: Error Message Translator</strong></h3><p><strong>What it does:</strong> Takes cryptic error messages and translates them into actionable fixes.</p><p><strong>Why you need it:</strong> Error messages are written for experienced developers, not beginners. This skill reads the error, identifies the real problem and tells you exactly what to fix.</p><p><strong>Example output format:</strong></p><ul><li><p><strong>Error Type:</strong> [Syntax/Logic/Runtime]</p></li><li><p><strong>What It Means:</strong> [Plain English explanation]</p></li><li><p><strong>Where It Broke:</strong> [Specific line number]</p></li><li><p><strong>How to Fix It:</strong> [2-3 options with trade-offs]</p></li></ul><p><strong>Setup time:</strong> 5 minutes<br><strong>Saves you:</strong> Hours of frustration</p><p></p><h3><strong>Skill #3: Component Structure Validator</strong></h3><p><strong>What it does:</strong> Checks if your React components follow best practices.</p><p><strong>Why you need it:</strong> When you&#8217;re learning to build apps with AI, you don&#8217;t always know if the code Claude writes is good or just good enough. This skill validates:</p><ul><li><p>Is state managed correctly?</p></li><li><p>Are props being used properly?</p></li><li><p>Is the component too big (should it be split)?</p></li><li><p>Are there performance issues?</p></li></ul><p><strong>Setup time:</strong> 10 minutes<br><strong>Saves you:</strong> Catching bad patterns early (before they become big problems)</p><p></p><div><hr></div><p></p><h2>How Skills Compare to Everything Else</h2><p>Claude now has four ways to work with it: <strong>Skills, Prompts, Projects </strong>and <strong>MCPs</strong>.</p><ul><li><p>Skills = Consistency</p></li><li><p>Prompts = Conversation</p></li><li><p>Projects = Context</p></li><li><p>MCPs = Connections</p><p></p><p><em>Here&#8217;s a comparison table I made to help you understand the difference between all of the Claude features &#128071;</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oWJC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oWJC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png 424w, https://substackcdn.com/image/fetch/$s_!oWJC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png 848w, https://substackcdn.com/image/fetch/$s_!oWJC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png 1272w, https://substackcdn.com/image/fetch/$s_!oWJC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oWJC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png" width="693.625" height="495.44642857142856" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:900,&quot;width&quot;:1260,&quot;resizeWidth&quot;:693.625,&quot;bytes&quot;:457559,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/176583284?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oWJC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png 424w, https://substackcdn.com/image/fetch/$s_!oWJC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png 848w, https://substackcdn.com/image/fetch/$s_!oWJC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png 1272w, https://substackcdn.com/image/fetch/$s_!oWJC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee23bfd1-e8c6-4755-9428-d915be7a4edf_1260x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div></li></ul><p></p><div><hr></div><p></p><h2> How to Create Your First Skill </h2><ol><li><p>Navigate to you Claude settings &#8594; Capabilities &#8594; Toggle on &#8216;skill-creator&#8217;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E24E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E24E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png 424w, https://substackcdn.com/image/fetch/$s_!E24E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png 848w, https://substackcdn.com/image/fetch/$s_!E24E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png 1272w, https://substackcdn.com/image/fetch/$s_!E24E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E24E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png" width="692.859375" height="496.4874665775401" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/daa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:804,&quot;width&quot;:1122,&quot;resizeWidth&quot;:692.859375,&quot;bytes&quot;:137230,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/176583284?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!E24E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png 424w, https://substackcdn.com/image/fetch/$s_!E24E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png 848w, https://substackcdn.com/image/fetch/$s_!E24E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png 1272w, https://substackcdn.com/image/fetch/$s_!E24E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaa38d85-61a9-431c-bedf-f5b592dcb30e_1122x804.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p></li><li><p>Click the three dots beside the toggle and click &#8216;Try in chat&#8217; </p></li><li><p>Tell Claude what you want the skill to do<br>Example: &#8220;Create a skill that reviews my code for common errors&#8221;</p></li><li><p>Claude will draft the skill instructions</p></li><li><p>Save it as a zipped skill file (Claude will guide you through this)</p></li><li><p>Test it by uploading a code file and asking Claude to use the skill</p></li></ol><p>That&#8217;s it. You now have a reusable code reviewer! </p><p></p><div><hr></div><p></p><p>If you found this breakdown useful, forward it to someone who&#8217;s building with AI. The more people using <strong>Skills</strong>, the more examples we&#8217;ll all have to learn from.</p>]]></content:encoded></item><item><title><![CDATA[3 Prompts to Help You Build Reliable Production Ready Apps]]></title><description><![CDATA[Respect your users and build something reliable]]></description><link>https://promptdrivendeveloper.com/p/3-prompts-from-amateur-to-production</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/3-prompts-from-amateur-to-production</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Mon, 06 Oct 2025 11:15:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8cc2e17c-c976-44d6-9b20-e424a3feb0c4_735x525.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Some people consider this the boring part. It&#8217;s about respecting your users enough to build something reliable.<br><br>Your creative energy got you to an AI-assisted prototype. Systematic thinking gets you shipping a secure production ready app. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://promptdrivendeveloper.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Prompt Driven Developer ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>#1 The 15-Minute Polish </h3><p><strong>Clean Up Your UI </strong></p><p>Your app works but looks like a prototype. Here&#8217;s what screams amateur:</p><p>&#10060; Broken navigation links</p><p>&#10060; Jarring page transitions</p><p>&#10060; Inconsistent spacing/colors</p><p>&#10060; Mobile looks broken</p><p>15 minutes of intentional polish fixes these issues. </p><p>Use this prompt in discussion mode:</p><p><code>&#8220;Review my app so we can clean up the UI: </code></p><p><code>- Identify any nav links that are dead or placeholder links and and output bullet point list. </code></p><p><code>- Identify where we can add smooth page transitions and subtle component animations and output bullet point list.</code></p><p><code>- Identify any inconsistent styles or themes across all of the pages and components and output bullet point list. </code></p><p><code>- Identify any responsive design issues across all of the pages and components and output bullet point list.&#8221; </code></p><p>When the AI agent outputs the bullet lists you can chat back and forth and have it implement the suggested changes.</p><div><hr></div><h3>#2 Can My Grandmother Use This? Test</h3><p><strong>Fix Your UX</strong></p><p>Your app makes sense to you. But can someone else figure it out in 30 seconds?</p><p>To ensure your app is intuitive you want:</p><p>&#9989; A smooth onboarding experience for new users</p><p>&#9989; Empty states that guide users to next steps</p><p>&#9989; Full CRUD (Create, Read, Update, Delete) functionality</p><p>&#9989; Error messages that actually help</p><p>Use this prompt in discussion mode:</p><p><code>&#8220;Review my app an make a plan for these UX improvements:</code></p><p><code>- Identify any gaps in my user onboarding journey (e.g. after login is the user taken to a welcome screen?) and output bullet point list. </code></p><p><code>- Identify all empty states so we can replacing them with actionable content that guides users toward their next steps and output bullet point list. </code></p><p><code>- Identify any resources without user friendly CRUD functionality  and output bullet point list. </code></p><p><code>- Identify any error messages that don&#8217;t have simple non-tech jargon and output bullet point list.&#8221; </code></p><p>When the AI agent outputs the bullet lists you can chat back and forth and have it implement the suggested changes.</p><div><hr></div><h3>#3 Fix Bugs Before Users Find Them</h3><p><strong>Set Up Monitoring</strong></p><p>Nothing worse than finding out your app is broken from an angry user email.</p><p>Use a tool like Sentry for error tracking like:</p><p>&#9989; Real-time error alerts</p><p>&#9989; Performance monitoring</p><p>&#9989; User session replay</p><p>Use this prompt and replace the details to match the AI tool you&#8217;re using and the app your building: </p><p><code>&#8220;Assist me in setting up error monitoring in my app: </code></p><p><code>- I have built a habit tracker app using Bolt</code></p><p><code>- Frontend is React and Supabase database </code></p><p><code>- Use the Sentry docs here: [docs URL here] </code></p><p><code>- (1) Write a prompt that I can use in Bolt to configure Sentry in my project </code></p><p><code>- (2) Create a step-by-step guide for me to implement this&#8221; </code></p><p>Set it up once, sleep better forever!</p><div><hr></div><p><strong>Ciara Wearen &#9996;&#65039;</strong><br>The Prompt Driven Developer</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://promptdrivendeveloper.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Prompt Driven Developer ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[10 Vibe Coding Tips That Will Save You 40 Hours of Frustration]]></title><description><![CDATA[What I wish I knew before spending 160 hours building with AI]]></description><link>https://promptdrivendeveloper.com/p/10-cursor-tips-that-will-save-you</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/10-cursor-tips-that-will-save-you</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Sun, 05 Oct 2025 15:40:14 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/92b10171-0cbb-4a1b-8b23-78ba2f9deda5_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been building in Cursor for the last 20 days straight. Eight hours a day. Every day.</p><p>And I made every beginner mistake in the book.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://promptdrivendeveloper.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Prompt Driven Developer ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Vague prompts. Bloated context windows. Accepting AI suggestions without understanding them. It cost me at least 40 hours of wasted time, broken features, and debugging sessions that shouldn&#8217;t have happened.</p><p>Here&#8217;s what I learned the hard way so you don&#8217;t have to.</p><div><hr></div><h2>1. Use Voice Input for Your Prompts</h2><p>This one change cut my prompting time in half. </p><p>I use WisprFlow, but any voice-to-text tool works. You can speak prompts 3x faster than typing them, and your hands stay free to make quick edits.</p><p>No more wrist pain from marathon prompting sessions. No more typing out the same instructions over and over.</p><p>Just speak what you want, let the AI transcribe it, and hit enter.</p><div><hr></div><h2>2. Stop Giving Vague Prompts</h2><p>Cursor can&#8217;t read your mind.</p><p><strong>Bad prompt:</strong><br>&#8220;Build a user dashboard&#8221;</p><p><strong>Good prompt:</strong><br>&#8220;Create a User Card component with:</p><ul><li><p>48x48px avatar with rounded corners</p></li><li><p>Name in Inter font, 16px bold</p></li><li><p>Status dot (green if online, gray if offline)</p></li><li><p>TypeScript interfaces for props&#8221;</p></li></ul><p>The more specific you are, the closer Cursor gets to what you actually want. <br><br>Vague prompts = vague results. </p><p>Specific prompts = usable code.</p><p>If you wouldn&#8217;t know how to build it from your own description, neither will the AI.</p><div><hr></div><h2>3. Always Reference Your Existing Files</h2><p>Don&#8217;t make Cursor guess what your app looks like.</p><p><strong>Instead of:</strong><br>&#8220;Create a logout button&#8221;</p><p><strong>Try:</strong><br>&#8220;Looking at components/Button.tsx, create a LogoutButton that uses the same styling patterns&#8221;</p><p>Cursor will read your existing code and match your style automatically. No more inconsistent components. No more reinventing the wheel every time you add a feature.</p><p>Give it context and it&#8217;ll give you consistency.</p><div><hr></div><h2>4. Start Fresh Before Context Gets Bloated</h2><p>Cursor has a context memory limit and when it fills up, the quality of its responses drops fast.</p><p>Watch the percentage at the bottom of your chat window. When it hits 70%, start a new conversation.</p><p>Open a fresh chat for each major feature.</p><p>Think of it like clearing your browser cache. You&#8217;re not losing progress, you&#8217;re preventing the AI from getting confused by too much information at once.</p><p>One focused conversation per feature = better results.</p><div><hr></div><h2>5. Ask for Explanations as You Go</h2><p>If you don&#8217;t understand something the AI built, just ask:</p><p>&#8220;Explain this like I&#8217;m 5&#8221;</p><p>Cursor will break it down in plain English.</p><p>This is how you actually learn. Instead of just copying and pasting code, you&#8217;re building mental models of how things work.</p><p>Ask why it made certain choices. Ask what would happen if you changed a specific line. Ask what each function does.</p><p>Learning happens when you understand what the AI built. And that understanding is what turns you from someone using AI into someone building with AI.</p><div><hr></div><h2>6. Set Up Safety Tools Before You Start Building</h2><p>Don&#8217;t skip the boring setup.</p><p>Configure these first:</p><ul><li><p>TypeScript (catches type errors)</p></li><li><p>Linter (finds common mistakes)</p></li><li><p>Formatter (keeps code clean)</p></li><li><p>Basic tests (catches breaking changes)</p></li></ul><p>Then just prompt: &#8220;Fix the lint errors&#8221;</p><p>Most of the time, Cursor will handle it automatically. But having these tools in place means you catch problems early before they compound into hours of debugging later.</p><p>Think of them as guardrails. They don&#8217;t slow you down they keep you from driving off a cliff.</p><div><hr></div><h2>7. Review Every Change Before You Accept It</h2><p>AI gets things wrong sometimes.</p><p>Always review the agent&#8217;s plan before you let it run. And learn to read the diff view:</p><ul><li><p>Red lines = removed code</p></li><li><p>Green lines = added code</p></li></ul><p>One minute of review saves an hour of debugging.</p><p>You don&#8217;t need to understand every line. But you should spot-check:</p><ul><li><p>Is it touching files you didn&#8217;t expect?</p></li><li><p>Is it removing code you still need?</p></li><li><p>Does the logic make sense?</p></li></ul><p>Blind acceptance is how you end up with broken features and no idea why.</p><div><hr></div><h2>8. Use @ Commands to Save Time</h2><p>The @ menu is your shortcut to faster prompts.</p><p>Type <code>@</code> and you&#8217;ll see:</p><ul><li><p><code>@filename</code> (reference a specific file)</p></li><li><p><code>@folder</code> (reference multiple files)</p></li><li><p><code>@git</code> (reference recent changes)</p></li></ul><p><strong>Instead of:</strong><br>&#8220;There&#8217;s a bug in the dropdown component in the components folder&#8221;</p><p><strong>Try:</strong><br>&#8220;Fix the bug in @dropdown.tsx&#8221;</p><p>Cursor knows exactly where to look. No extra explanation needed.</p><div><hr></div><h2>9. Switch Off Auto Mode and Pick a Model</h2><p>Cursor defaults to &#8220;Auto&#8221; mode, but you don&#8217;t have to use it.</p><p>Test different models and find the one you like best. I&#8217;m using GPT-5 exclusively right now. I prefer how it structures its planning and workflows compared to other models. </p><p>Don&#8217;t overthink this early on. Just try a few and stick with what feels natural.</p><p>Different models handle different tasks better. Some are faster. Some are more thorough. Some explain their thinking better.</p><p>Find your favorite and use it consistently.</p><div><hr></div><h2>10. Don&#8217;t Try to Write Perfect Code from Scratch</h2><p>Cursor isn&#8217;t meant to replace learning. It&#8217;s meant to speed up building.</p><p>Read the code it generates. Ask why it made certain choices. Make small changes and see what breaks.</p><p>That&#8217;s how you actually learn.</p><p>Perfect code doesn&#8217;t exist. Working code that you understand is the goal.</p><p>Start messy. Refine as you go. Break things on purpose to see how they work.</p><p>This is how you go from someone who uses AI tools to someone who builds real apps with them.</p><div><hr></div><p>These 10 tips saved me dozens of hours. They&#8217;ll save you even more if you apply them now.</p><p>Cursor is powerful but only if you know how to use it. The difference between frustration and flow is knowing these basics.</p><p>Start with these. Build something. Learn as you go.</p><p>That&#8217;s the Prompt Driven Development way.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://promptdrivendeveloper.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Prompt Driven Developer ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Prompt Driven Development Framework ]]></title><description><![CDATA[A new way to learn to code for non-technical beginners]]></description><link>https://promptdrivendeveloper.com/p/the-prompt-driven-development-framework</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/the-prompt-driven-development-framework</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Sat, 24 May 2025 12:51:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ba4ab926-ecdf-4c87-b8ce-7271fe5ce5df_630x450.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>The Core Philosophy</h2><h3>Understanding Over Memorization</h3><p>You don't need to memorize coding syntax. AI excels at that. Your job is to understand <em>what</em> the code does and <em>why</em> it works that way.</p><p>Think of it like learning to drive: you don't need to know how to build an engine, but you do need to understand what the steering wheel, brakes, and gas pedal do.</p><h2>Phase 1: Choose Your Foundation </h2><h3>Recommended Tech Stack for Beginners:</h3><ul><li><p><strong>NextJS</strong>: Your website framework (like the foundation of a house)</p></li><li><p><strong>React</strong>: How you build interactive parts (like rooms in the house)</p></li><li><p><strong>TypeScript</strong>: Adds safety checks to prevent errors (like building codes)</p></li><li><p><strong>TailwindCSS</strong>: Makes styling easy (like interior decorating with pre-made themes)</p></li></ul><p><strong>Why these tools?</strong></p><ul><li><p>Massive community support = lots of help available</p></li><li><p>AI tools know them extremely well</p></li><li><p>They work together seamlessly</p></li><li><p>Industry standard = valuable skills</p></li></ul><h2>Phase 2: The Reverse-Engineering Method</h2><h3>Step 1: AI Builds, You Observe</h3><ol><li><p>Use AI tools (like Cursor, v0 or Bolt) to create a simple app</p></li><li><p>Start with something basic like a to-do list or calculator</p></li><li><p>Get it working first, don't worry about understanding everything yet</p></li></ol><h3>Step 2: Become a Detective</h3><p>Ask these types of questions about your working app:</p><p><strong>About Structure:</strong></p><ul><li><p>"Why are there so many folders? What does each one do?"</p></li><li><p>"What's the purpose of this specific file?"</p></li><li><p>"How do these files talk to each other?"</p></li></ul><p><strong>About Code Patterns:</strong></p><ul><li><p>"Why do I see 'import...' at the top of files?"</p></li><li><p>"What does this function actually do in plain English?"</p></li><li><p>"When I click this button, what chain of events happens?"</p></li></ul><p><strong>About Flow:</strong></p><ul><li><p>"How does data move through this app?"</p></li><li><p>"What happens when I change this piece of code?"</p></li><li><p>"Why did the AI structure it this way instead of another way?"</p></li></ul><h3>Step 3: Gradual Modification</h3><ul><li><p>Make small changes and observe results</p></li><li><p>Add simple features one at a time</p></li><li><p>Break things on purpose to see what happens (you can always rollback)</p></li></ul><h2>Phase 3: Build Your Mental Models</h2><h3>Think in Systems, Not Syntax</h3><p>Instead of memorizing code, understand these concepts:</p><p><strong>Components</strong> = Building blocks (like LEGO pieces)</p><ul><li><p>Each piece has a specific job</p></li><li><p>They can be reused and combined</p></li><li><p>They pass information to each other</p></li></ul><p><strong>State</strong> = Memory (like a notepad the app uses)</p><ul><li><p>Where the app remembers information</p></li><li><p>Changes when users interact with the app</p></li><li><p>Triggers updates to what users see</p></li></ul><p><strong>Events</strong> = Triggers (like light switches)</p><ul><li><p>User clicks, types, or scrolls</p></li><li><p>App responds to these actions</p></li><li><p>Code runs in response</p></li></ul><h2>Phase 4: The Question-Driven Learning Loop</h2><h3>The Magic Questions to Ask AI:</h3><ol><li><p>"Explain this like I'm 10 years old"</p></li><li><p>"What would happen if I changed [specific thing]?"</p></li><li><p>"Why did you choose this approach over alternatives?"</p></li><li><p>"Walk me through what happens step-by-step when [user action]"</p></li><li><p>"What are the most important files I should understand first?"</p></li></ol><h2>How to Know You're Learning</h2><h3>You're succeeding when you can:</h3><ul><li><p>Explain what a piece of code does in your own words</p></li><li><p>Predict what will happen when you change something</p></li><li><p>Identify which file to look at when something breaks</p></li><li><p>Ask specific, detailed questions about the code</p></li><li><p>Make small modifications without breaking everything</p></li></ul><h3>You're NOT expected to:</h3><ul><li><p>Write code from scratch without AI help</p></li><li><p>Memorize syntax or function names</p></li><li><p>Understand every technical detail </p></li><li><p>Build complex features on your first try</p></li></ul><h2>Common Beginner Mistakes to Avoid</h2><ol><li><p><strong>Trying to learn everything at once</strong> - Focus on one concept at a time</p></li><li><p><strong>Memorizing instead of understanding</strong> - Ask "why" not "what"</p></li><li><p><strong>Being afraid to break things</strong> - Breaking code is how you learn</p></li><li><p><strong>Comparing yourself to experienced developers</strong> - They didn't start knowing everything either</p></li><li><p><strong>Skipping the "why" questions</strong> - Understanding beats memorization every time</p></li></ol><h2>Final Thoughts</h2><p>This approach works because it mirrors how experienced developers actually work, they don't write everything from scratch either. They understand patterns, know what to look for and leverage tools (including AI) to implement their ideas.</p><p>Your goal isn't to become a traditional programmer who memorizes syntax. Your goal is to become someone who can turn ideas into working software by understanding how the pieces fit together and directing AI to help you build them.</p><p><strong>Remember</strong>: Every expert was once a beginner who asked a lot of questions. The difference now is that AI can answer those questions instantly, 24/7, with infinite patience.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://promptdrivendeveloper.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://promptdrivendeveloper.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Welcome to The Prompt Driven Developer]]></title><description><![CDATA[Learning to Code in the Age of AI]]></description><link>https://promptdrivendeveloper.com/p/welcome-to-the-prompt-driven-developer</link><guid isPermaLink="false">https://promptdrivendeveloper.com/p/welcome-to-the-prompt-driven-developer</guid><dc:creator><![CDATA[Ciara Wearen]]></dc:creator><pubDate>Sat, 24 May 2025 11:30:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/50a8ba80-f3ef-401b-b7f2-bf2cf2923484_683x488.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FGyN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FGyN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif 424w, https://substackcdn.com/image/fetch/$s_!FGyN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif 848w, https://substackcdn.com/image/fetch/$s_!FGyN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif 1272w, https://substackcdn.com/image/fetch/$s_!FGyN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FGyN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif" width="478" height="349.8090909090909" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:161,&quot;width&quot;:220,&quot;resizeWidth&quot;:478,&quot;bytes&quot;:53199,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/155835444?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FGyN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif 424w, https://substackcdn.com/image/fetch/$s_!FGyN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif 848w, https://substackcdn.com/image/fetch/$s_!FGyN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif 1272w, https://substackcdn.com/image/fetch/$s_!FGyN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F892c1041-413a-4740-95b1-07bc8840dc08_220x161.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>If you&#8217;ve ever felt locked out of tech because you &#8220;can&#8217;t code&#8221; or you&#8217;re lowkey tired of AI influencers selling snake oil in a ChatGPT wrapper, you&#8217;re in the right place. </p><p></p><h4>What you&#8217;ll get (weekly):</h4><ul><li><p><strong>Micro-lessons on building with AI:</strong> Tools like Cursor, Lovable and Claude explained for non-technical people who actually want to ship stuff (not just vibe).</p></li><li><p><strong>AI feature breakdowns:</strong> When frontier models drop new features, I&#8217;ll translate the tech-speak into &#8220;here&#8217;s what you can actually do with this&#8221; (no BS)</p></li><li><p><strong>Practical AI for work:</strong> Content creation, marketing, UI design&#8230; ways to use AI that save time and make you better at your job (and maybe impress your boss)</p></li><li><p><strong>Real examples, zero fluff:</strong> I build things, break things and share what works (and what doesn&#8217;t). Think of me as your AI guinea pig! </p><p></p></li></ul><h4>Who is this for:</h4><p>Anyone with ideas and a curious mind and zero interest in memorizing syntax or entering tutorial hell.</p><p>You don&#8217;t need to know how to code. You need to know how to <em>think in systems</em> and that&#8217;s what we&#8217;re here to learn together.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!82Ut!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!82Ut!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif 424w, https://substackcdn.com/image/fetch/$s_!82Ut!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif 848w, https://substackcdn.com/image/fetch/$s_!82Ut!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif 1272w, https://substackcdn.com/image/fetch/$s_!82Ut!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!82Ut!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif" width="480" height="272" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0891484c-c704-425b-a543-439fda31233e_480x272.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:272,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:363550,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/155835444?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!82Ut!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif 424w, https://substackcdn.com/image/fetch/$s_!82Ut!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif 848w, https://substackcdn.com/image/fetch/$s_!82Ut!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif 1272w, https://substackcdn.com/image/fetch/$s_!82Ut!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0891484c-c704-425b-a543-439fda31233e_480x272.gif 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>I&#8217;m <strong>obsessed with AI</strong> and how it&#8217;s changing who gets to build software. The old guard said &#8220;learn to code or hire a dev.&#8221; I say that&#8217;s giving very 2015 energy. The gatekeeping is over and I&#8217;m here to help you prove it.</p><p>If you know someone else who&#8217;d benefit from this, share it with them. That&#8217;s how we grow this community.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://promptdrivendeveloper.com/p/welcome-to-the-prompt-driven-developer?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://promptdrivendeveloper.com/p/welcome-to-the-prompt-driven-developer?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cUHK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cUHK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif 424w, https://substackcdn.com/image/fetch/$s_!cUHK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif 848w, https://substackcdn.com/image/fetch/$s_!cUHK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif 1272w, https://substackcdn.com/image/fetch/$s_!cUHK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cUHK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif" width="256" height="230.54545454545453" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:634,&quot;width&quot;:704,&quot;resizeWidth&quot;:256,&quot;bytes&quot;:18437,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://promptdrivendeveloper.substack.com/i/155835444?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cUHK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif 424w, https://substackcdn.com/image/fetch/$s_!cUHK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif 848w, https://substackcdn.com/image/fetch/$s_!cUHK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif 1272w, https://substackcdn.com/image/fetch/$s_!cUHK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe450ccf-1eb3-4abf-a677-917958e6e5ad_704x634.avif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>Thanks giving me space in your inbox.</strong> I promise to make sure I&#8217;m not another spam newsletter you want to delete. My mission is to deliver small, clear and useful shifts to <strong>build your AI confidence.</strong></p><div><hr></div><p><strong>Ciara &#128420; The Prompt Driven Developer</strong></p><div><hr></div><h5><strong>&#127969; Housekeeping:</strong> please move this email to your primary inbox to make sure you don&#8217;t miss out! </h5><p></p>]]></content:encoded></item></channel></rss>