<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Komeyl Mohebian</title>
    <description>The latest articles on DEV Community by Komeyl Mohebian (@mkomeyl94).</description>
    <link>https://dev.to/mkomeyl94</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2542873%2F88474b8d-4838-440a-99f3-1d215336b662.jpg</url>
      <title>DEV Community: Komeyl Mohebian</title>
      <link>https://dev.to/mkomeyl94</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mkomeyl94"/>
    <language>en</language>
    <item>
      <title>Stop Writing Walls of CSS: Refactoring Complex Selectors with :is()</title>
      <dc:creator>Komeyl Mohebian</dc:creator>
      <pubDate>Tue, 24 Feb 2026 10:55:40 +0000</pubDate>
      <link>https://dev.to/mkomeyl94/stop-writing-walls-of-css-refactoring-complex-selectors-with-is-592f</link>
      <guid>https://dev.to/mkomeyl94/stop-writing-walls-of-css-refactoring-complex-selectors-with-is-592f</guid>
      <description>&lt;p&gt;Today I found myself writing CSS rules that felt like I was solving a complex math problem instead of styling a webpage.&lt;/p&gt;

&lt;p&gt;I needed to style nested list bullets at different depths, but because the lists could be either unordered (&lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt;) or ordered (&lt;code&gt;&amp;lt;ol&amp;gt;&lt;/code&gt;), and they appeared in three different sections of the site, I ended up with a massive "combinatorial explosion."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The "Brute-Force" Way:&lt;/strong&gt;&lt;br&gt;
I started with this wall of selectors just to cover every possible nesting combination:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.box__description&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__context&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__overflow-content&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__description&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__context&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__overflow-content&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__description&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__context&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__overflow-content&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__description&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__context&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="nc"&gt;.box__overflow-content&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
  &lt;span class="c"&gt;/* 12 lines of code for one simple style! */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It was repetitive, hard to read, and a nightmare to maintain. If I wanted to add a fourth container or a new list type, I’d have to manually multiply all those lines again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The "Smart" Way:&lt;/strong&gt;&lt;br&gt;
Then I remembered the modern CSS &lt;code&gt;:is()&lt;/code&gt; pseudo-class. It allows you to group multiple selectors into one, acting like a multiplier for your CSS. I refactored that entire block into this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nd"&gt;:is&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;.box__description&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.box__context&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;.box__overflow-content&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nd"&gt;:is&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nd"&gt;:is&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;ul&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;ol&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c"&gt;/* Clean, efficient, and identical behavior */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The Result:&lt;/strong&gt;&lt;br&gt;
I cut the code down by about 80% while keeping the exact same behavior. Now, instead of scanning a wall of text, I can see the logic at a glance. It’s a great reminder that sometimes the most "intelligent" code isn't about adding more, but about finding the right tool to simplify what's already there.&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>frontend</category>
      <category>cleancode</category>
    </item>
    <item>
      <title>From Prompt to Production: Mastering Rules, Skills, and Subagents in Cursor</title>
      <dc:creator>Komeyl Mohebian</dc:creator>
      <pubDate>Wed, 28 Jan 2026 14:21:05 +0000</pubDate>
      <link>https://dev.to/mkomeyl94/from-prompt-to-production-mastering-rules-skills-and-subagents-in-cursor-47m4</link>
      <guid>https://dev.to/mkomeyl94/from-prompt-to-production-mastering-rules-skills-and-subagents-in-cursor-47m4</guid>
      <description>&lt;p&gt;We are moving past the era of simply "chatting" with AI code editors. The difference between a junior developer using AI and a senior architect using AI is &lt;strong&gt;context orchestration&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you treat Cursor like a chatbot, you get generic code. If you treat it like a specialized agent operating within rigid architectural boundaries, you get production-ready software.&lt;/p&gt;

&lt;p&gt;With Cursor’s latest updates—specifically the removal of Custom Modes and the introduction of &lt;strong&gt;Slash Commands&lt;/strong&gt;, &lt;strong&gt;Skills&lt;/strong&gt;, and &lt;strong&gt;Subagents&lt;/strong&gt;—we now have a powerful framework to automate development standards.&lt;/p&gt;

&lt;p&gt;Here is the concise guide to mastering this workflow.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. 🏗️ Structure Your Intelligence (&lt;code&gt;.cursor/rules/&lt;/code&gt;)
&lt;/h2&gt;

&lt;p&gt;Forget the single, massive &lt;code&gt;.cursorrules&lt;/code&gt; file. It is unmanageable and prone to context loss. Instead, use the &lt;strong&gt;&lt;code&gt;.cursor/rules/&lt;/code&gt;&lt;/strong&gt; directory to create modular, domain-specific rule files.&lt;/p&gt;

&lt;p&gt;We use the &lt;strong&gt;&lt;code&gt;.mdc&lt;/code&gt;&lt;/strong&gt; extension, which allows for metadata frontmatter to control exactly when the AI reads the rule.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example: `.cursor/rules/css-architecture.mdc&lt;/strong&gt;`&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Apply&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;this&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;rule&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;when&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;writing&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;CSS&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;or&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;styling&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;components"&lt;/span&gt;
&lt;span class="na"&gt;globs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;**/*.css"&lt;/span&gt;
&lt;span class="na"&gt;alwaysApply&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="gh"&gt;# CSS Architecture Rules&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; NO :root or @import declarations in widget files.
&lt;span class="p"&gt;-&lt;/span&gt; MUST use var(--design-token) variables.
&lt;span class="p"&gt;-&lt;/span&gt; NEVER use raw hex codes.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Configuration Options:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Always Apply:&lt;/strong&gt; Use for high-level context that &lt;em&gt;must&lt;/em&gt; be present in every request (e.g., &lt;code&gt;project-context.mdc&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apply Intelligently:&lt;/strong&gt; Let Cursor decide relevance based on the &lt;code&gt;description&lt;/code&gt;. Perfect for library-specific patterns (e.g., &lt;code&gt;@react-patterns.mdc&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scoped (Globs):&lt;/strong&gt; Enforce rules only on specific file types.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. 🧠 Define the "Source of Truth"
&lt;/h2&gt;

&lt;p&gt;You must prevent the AI from hallucinating about your tech stack. Create a single rule file (e.g., &lt;code&gt;project-context.mdc&lt;/code&gt;) with &lt;code&gt;alwaysApply: true&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Content:&lt;/strong&gt; Project goals, current tech stack, folder structure, and "No-Go" zones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; &lt;em&gt;"We are migrating FROM React TO Vanilla JS. The final output must be 100% vanilla. Do not suggest React solutions for output files."&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. ⚡ Replace "Custom Modes" with Slash Commands
&lt;/h2&gt;

&lt;p&gt;Custom Modes have been removed from Cursor. The new, superior alternative is &lt;strong&gt;Custom Slash Commands&lt;/strong&gt;. These allow you to bundle specific prompts and rule sets into a reusable trigger.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to Implement:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a folder &lt;code&gt;.cursor/commands/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add a markdown file, e.g., &lt;code&gt;convert-widget.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Define your workflow prompt inside.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example: `.cursor/commands/convert-widget.md&lt;/strong&gt;`&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;You are an expert frontend developer. Convert the selected React component into a production-ready vanilla HTML/CSS/JS widget.

You MUST follow these rules:
&lt;span class="p"&gt;-&lt;/span&gt; @css-architecture.mdc
&lt;span class="p"&gt;-&lt;/span&gt; @design-system.mdc
&lt;span class="p"&gt;-&lt;/span&gt; @parallax-effects.mdc

Step-by-step plan:
&lt;span class="p"&gt;1.&lt;/span&gt; Analyze the React props and state.
&lt;span class="p"&gt;2.&lt;/span&gt; Create the HTML structure using our BEM naming convention.
&lt;span class="p"&gt;3.&lt;/span&gt; Extract CSS using only allowed design tokens.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Usage:&lt;/strong&gt; Type &lt;code&gt;/convert-widget&lt;/code&gt; in chat to trigger this specialized agent behavior immediately.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. 🛠️ Extend Capabilities with Skills
&lt;/h2&gt;

&lt;p&gt;Use &lt;strong&gt;Skills&lt;/strong&gt; (&lt;code&gt;.cursor/skills/&lt;/code&gt;) to give the AI executable tools, not just text instructions. A skill is a package that can contain scripts (Python, Bash, etc.) that the Agent can actually run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Cases:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Minification:&lt;/strong&gt; Create a skill that runs &lt;code&gt;npm run minify&lt;/code&gt; automatically after generating code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docs Fetching:&lt;/strong&gt; A skill that fetches the latest documentation from your internal wiki or specific URLs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. 🤖 Delegate Deep Thinking to Subagents
&lt;/h2&gt;

&lt;p&gt;For tasks that require heavy reasoning, research, or multi-step architecture, use &lt;strong&gt;Subagents&lt;/strong&gt; (&lt;code&gt;.cursor/agents/&lt;/code&gt;). Subagents run in their own isolated context window, preventing them from polluting your main chat history or hitting token limits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to use a Subagent:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The "Planner":&lt;/strong&gt; Before coding a complex feature, use a &lt;code&gt;planner.md&lt;/code&gt; subagent to generate a detailed implementation plan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "Architect":&lt;/strong&gt; Use a subagent to analyze the entire codebase map before suggesting a refactor.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💡 Pro Tip: The "Two-Pass" Protocol
&lt;/h2&gt;

&lt;p&gt;One of the most effective workflows I have discovered is decoupling &lt;strong&gt;creation&lt;/strong&gt; from &lt;strong&gt;verification&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you ask an AI to "Create this component and make sure it follows the rules," it often prioritizes creation and glosses over the rules. Instead, split this into two distinct Slash Commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: The Maker (&lt;code&gt;/build-widget&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;This command focuses purely on logic and implementation. It generates the code based on your requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: The Checker (&lt;code&gt;/qa-review&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;Once the code is generated, &lt;strong&gt;do not accept it yet.&lt;/strong&gt; Run a second command against the specific context of the generated code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create &lt;code&gt;.cursor/commands/qa-review.md&lt;/code&gt;:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;You are a Senior QA Engineer. 

Review the code generated in the previous turn. Cross-reference it STRICTLY against:
&lt;span class="p"&gt;1.&lt;/span&gt; @design-system.mdc (Did it use raw hex codes?)
&lt;span class="p"&gt;2.&lt;/span&gt; @css-architecture.mdc (Did it use :root?)
&lt;span class="p"&gt;3.&lt;/span&gt; @accessibility.mdc (Are ARIA labels present?)

Output a checklist of PASS/FAIL.
If there are failures, rewrite the code to fix them immediately.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Why this works:&lt;/strong&gt;&lt;br&gt;
When you force the AI to switch "personas" from a Creator to a Reviewer, it re-reads the output with a critical "eye," catching 90% of the errors it would have otherwise missed.&lt;/p&gt;


&lt;h2&gt;
  
  
  🚀 Bonus: The AI-Native Designer Handoff
&lt;/h2&gt;

&lt;p&gt;The most powerful application of this workflow isn't just writing code from scratch—it's transforming "raw" AI output into production-ready software.&lt;/p&gt;

&lt;p&gt;Here is a real-world example of how I collaborate with designers who also use AI tools:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Designer's Role:&lt;/strong&gt; My designer uses &lt;strong&gt;Figma&lt;/strong&gt; (and tools like Figma's "Make" or Dev Mode) to generate a raw &lt;strong&gt;React&lt;/strong&gt; export of the design. This code is visually correct but often lacks our specific architectural standards or logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Developer's Role:&lt;/strong&gt; Instead of coding from zero, I treat this React export as my "Source Material."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Cursor Workflow:&lt;/strong&gt; I drag the raw React files into Cursor and run a custom Slash Command like &lt;code&gt;/adapt-design&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example Command (&lt;code&gt;/adapt-design&lt;/code&gt;):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;You are a Senior Frontend Architect.
Input: The raw React code from Figma in the current file.
Task: Refactor this strictly into our project structure.
&lt;span class="p"&gt;
1.&lt;/span&gt; KEEP the visual structure and Tailwind classes.
&lt;span class="p"&gt;2.&lt;/span&gt; REPLACE hardcoded strings with our i18n keys.
&lt;span class="p"&gt;3.&lt;/span&gt; EXTRACT types to &lt;span class="sb"&gt;`types.ts`&lt;/span&gt; according to @tech-stack.mdc.
&lt;span class="p"&gt;4.&lt;/span&gt; ENSURE accessibility rules from @a11y.mdc are applied.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The Result:&lt;/strong&gt; A seamless pipeline where the designer handles the &lt;em&gt;visuals&lt;/em&gt; via AI, and your Cursor workflow instantly sanitizes and architects that code into your &lt;em&gt;system&lt;/em&gt;. This turns the dreaded "handoff" into a simple 30-second conversion task.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Stop typing code. Start orchestrating intelligence.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>ai</category>
      <category>software</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
