<?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: SathishKumar Krishnan</title>
    <description>The latest articles on DEV Community by SathishKumar Krishnan (@sathishkumar_krishnan_4a9).</description>
    <link>https://dev.to/sathishkumar_krishnan_4a9</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%2F1719564%2F25a7a24b-9589-4531-92c2-f44c2373f765.png</url>
      <title>DEV Community: SathishKumar Krishnan</title>
      <link>https://dev.to/sathishkumar_krishnan_4a9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sathishkumar_krishnan_4a9"/>
    <language>en</language>
    <item>
      <title>GitHub Copilot - Claude Sonnet vs Claude: A Practitioner's Guide for 2026</title>
      <dc:creator>SathishKumar Krishnan</dc:creator>
      <pubDate>Mon, 18 May 2026 03:20:04 +0000</pubDate>
      <link>https://dev.to/sathishkumar_krishnan_4a9/github-copilot-claude-sonnet-vs-claude-a-practitioners-guide-for-2026-3obl</link>
      <guid>https://dev.to/sathishkumar_krishnan_4a9/github-copilot-claude-sonnet-vs-claude-a-practitioners-guide-for-2026-3obl</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; — You don't choose between GitHub Copilot and Claude Code. You use each where it fits. This article maps every Claude-powered tool to the right job in your workflow, with real patterns from enterprise Java and full-stack development.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Who This Is For
&lt;/h2&gt;

&lt;p&gt;You're a developer or IT architect with real production experience. You've seen AI assistants go from novelty to daily driver. You're not looking for a "what is AI" explainer — you want a clear map of &lt;em&gt;which tool does what&lt;/em&gt;, and &lt;em&gt;when to reach for which&lt;/em&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Claude Ecosystem in 2026 — A Map
&lt;/h2&gt;

&lt;p&gt;Before diving in, understand that these are &lt;strong&gt;not competing products&lt;/strong&gt;. They're different layers of the same capability:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────┐
│                   Claude AI Ecosystem                    │
├─────────────────────┬───────────────────────────────────┤
│  WHERE YOU USE IT   │  WHAT IT CAN DO                   │
├─────────────────────┼───────────────────────────────────┤
│  VS Code / IDE      │  GitHub Copilot + Claude Sonnet   │
│  Terminal / CLI     │  Claude Code                      │
│  Browser / Chat     │  Claude.ai (Projects, Deep        │
│                     │  Research, Artifacts, Web Search) │
│  Desktop App        │  Claude Cowork                    │
└─────────────────────┴───────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each layer has a different level of &lt;strong&gt;agency&lt;/strong&gt; — how much it can do without you directing every step.&lt;/p&gt;




&lt;h2&gt;
  
  
  Layer 1: GitHub Copilot + Claude Sonnet (IDE-native)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What it actually is
&lt;/h3&gt;

&lt;p&gt;GitHub Copilot (on Team/Enterprise plans) lets you swap the underlying model. Instead of GPT-4o, you route to &lt;strong&gt;claude-sonnet-4&lt;/strong&gt; (as of 2026, this is Claude Sonnet 4.6). This gives you Anthropic's reasoning quality inside the IDE experience you already have.&lt;/p&gt;

&lt;p&gt;You get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inline autocomplete as you type&lt;/li&gt;
&lt;li&gt;Chat panel with &lt;code&gt;@workspace&lt;/code&gt; context&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/fix&lt;/code&gt;, &lt;code&gt;/explain&lt;/code&gt;, &lt;code&gt;/tests&lt;/code&gt; slash commands&lt;/li&gt;
&lt;li&gt;Pull Request summaries (GitHub integration)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  When to reach for it
&lt;/h3&gt;

&lt;p&gt;Copilot + Sonnet is your &lt;strong&gt;always-on coding companion&lt;/strong&gt;. It's embedded in VS Code or IntelliJ, has flat subscription billing, and in enterprise settings is typically on the approved tools list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Token strategy:&lt;/strong&gt; Use GPT-4o for mechanical tasks (boilerplate, simple completions). Switch to Claude Sonnet for complex reasoning — debugging subtle concurrency issues, understanding legacy code, writing architecture-aware tests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Real patterns
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Spring Boot debugging:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/explain  → paste a 403 Forbidden stack trace from Microsoft Graph API
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copilot + Sonnet will trace through the OAuth scope chain, explain why a specific user identity type is failing, and suggest the exact permission addition needed. GPT-4o gives you a generic OAuth checklist. Sonnet gives you the specific answer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Angular multi-tab state:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/fix  → BroadcastChannel not syncing session timer across tabs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sonnet correctly identifies that &lt;code&gt;localStorage&lt;/code&gt; events don't fire on the originating tab and suggests the right &lt;code&gt;BroadcastChannel&lt;/code&gt; pattern with a cross-tab heartbeat. This is the kind of nuanced answer where model quality makes a real difference.&lt;/p&gt;

&lt;h3&gt;
  
  
  Limitations (be honest with yourself)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Copilot controls the context window — you can't directly prompt the model or pass a system prompt&lt;/li&gt;
&lt;li&gt;No autonomous file operations. It suggests; you apply&lt;/li&gt;
&lt;li&gt;No bash/terminal access&lt;/li&gt;
&lt;li&gt;Model availability depends on your Copilot plan tier&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Layer 2: Claude Code (CLI agent)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What it actually is
&lt;/h3&gt;

&lt;p&gt;Claude Code (&lt;code&gt;@anthropic-ai/claude-code&lt;/code&gt;) is Anthropic's CLI tool. You install it via npm, run &lt;code&gt;claude&lt;/code&gt; in your terminal, and give it tasks in natural language. It reads your codebase, writes files, runs commands, and loops until the task is done.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @anthropic-ai/claude-code
claude
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It uses Claude Sonnet 4 under the hood and is billed via Anthropic API usage (not a flat subscription).&lt;/p&gt;

&lt;h3&gt;
  
  
  What makes it different from Copilot
&lt;/h3&gt;

&lt;p&gt;The key distinction is &lt;strong&gt;agency&lt;/strong&gt;. Copilot suggests; you apply. Claude Code &lt;em&gt;acts&lt;/em&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reads your entire codebase (not just the open file)&lt;/li&gt;
&lt;li&gt;Makes changes across multiple files in one pass&lt;/li&gt;
&lt;li&gt;Runs &lt;code&gt;mvn test&lt;/code&gt;, &lt;code&gt;npm build&lt;/code&gt;, reads the output, and iterates&lt;/li&gt;
&lt;li&gt;Can set up new projects from scratch&lt;/li&gt;
&lt;li&gt;Works over SSH — no IDE required&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Real patterns
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Multi-file refactoring:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Refactor all @RestController classes to use consistent 
  error handling via a GlobalExceptionHandler. Follow the 
  existing pattern in UserController.java.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude Code reads all controllers, identifies inconsistencies, applies the pattern, and runs your test suite. What Copilot handles one file at a time, Claude Code handles as a batch operation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Legacy codebase reverse engineering:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Analyze this Spring MVC JSP application. Generate:
  1. A service dependency graph
  2. A list of all endpoints with HTTP methods
  3. Candidates for extraction to Spring Boot microservices
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is where Claude Code shines for modernization work. It reads the entire codebase and produces architectural analysis that would take a junior developer days.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP server scaffolding:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Create a Spring Boot 3.x MCP server that exposes 
  employee directory data via @Tool annotations. 
  Use SSE transport. Include basic auth.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude Code writes the entire project, including &lt;code&gt;pom.xml&lt;/code&gt;, configuration, and tool definitions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sub-agent patterns (advanced)
&lt;/h3&gt;

&lt;p&gt;Claude Code supports parallel model orchestration. You can write an orchestration script that fans out to multiple Claude API calls:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Orchestration pattern: parallel codebase analysis
&lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;analyze_codebase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;tasks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="nf"&gt;call_claude&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-opus-4-6&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;    &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;architecture_review&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="nf"&gt;call_claude&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-sonnet-4-6&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;security_scan&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
        &lt;span class="nf"&gt;call_claude&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;claude-haiku-4-5&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;   &lt;span class="n"&gt;task&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;dependency_inventory&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;results&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;gather&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;tasks&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;synthesize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Opus&lt;/strong&gt; for deep architectural reasoning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sonnet&lt;/strong&gt; for security and complex logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Haiku&lt;/strong&gt; for fast, cheap, repetitive tasks (parsing, inventory)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the pattern for large legacy codebase analysis — parallelize across models, synthesize results.&lt;/p&gt;

&lt;h3&gt;
  
  
  Limitations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;CLI only — no IDE inline completions&lt;/li&gt;
&lt;li&gt;API usage billing adds up on large codebases (watch token consumption)&lt;/li&gt;
&lt;li&gt;Enterprise environments may restrict outbound CLI tools — check IT policy before using on a corporate machine&lt;/li&gt;
&lt;li&gt;Not a replacement for Copilot's IDE integration&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Layer 3: Claude.ai (Projects, Deep Research, Artifacts)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What it actually is
&lt;/h3&gt;

&lt;p&gt;Claude.ai is the web/desktop chat interface. With a Pro or Max subscription, you get access to features that go well beyond basic chat:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Projects&lt;/strong&gt; — Persistent workspaces with their own system prompt, memory, and uploaded files. Think of it as giving Claude a permanent job description.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Project:  Application Architecture
System prompt: You are a senior architect working on 
migrating a Spring MVC/JSP application on WebSphere 
to Angular 18 + Spring Boot 3.x on Azure. The team 
uses Azure AD/MSAL for auth, Jenkins for CI/CD, 
and GitHub Copilot for development.

Files uploaded: architecture-decisions.md, 
               phase2-endpoints.xlsx,
               azure-migration-plan.pdf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every conversation inside this project starts with full context. No re-explaining the stack on every question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deep Research&lt;/strong&gt; — Claude spends 2–5 minutes running 20+ searches and synthesizes a cited research report. Not a chat response — an actual document.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Prompt: Research the trade-offs between Azure Service Bus 
and Apache Kafka for a 5,000-8,000 concurrent user 
enterprise application with existing Azure infrastructure.
Focus on operational complexity, cost at scale, 
and migration effort.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output: A 2,000-word cited report with specific Azure pricing, throughput comparisons, and a recommendation. This replaces 2 hours of manual research.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Artifacts&lt;/strong&gt; — Claude builds interactive tools that run in the chat window. React components, HTML dashboards, calculators.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Prompt: Build an interactive Azure migration timeline 
for 12 applications across 3 phases. Include risk 
indicators and dependency arrows. Make it filterable 
by team.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output: A live React dashboard you can interact with, share, or export.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-agent Projects setup&lt;/strong&gt; — You can create specialized agents as separate projects:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Project&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;System Architecture&lt;/td&gt;
&lt;td&gt;Technical decisions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Job Search&lt;/td&gt;
&lt;td&gt;Resume, cover letters, market research&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blog Operations&lt;/td&gt;
&lt;td&gt;SEO, content strategy, post drafts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finance&lt;/td&gt;
&lt;td&gt;Tax planning, portfolio reviews&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LinkedIn Writer&lt;/td&gt;
&lt;td&gt;Posts, articles, engagement strategy&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each agent maintains its own context. You route to the right one for each task.&lt;/p&gt;

&lt;h3&gt;
  
  
  Limitations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No local file system access (that's Cowork's job)&lt;/li&gt;
&lt;li&gt;Agents don't automatically route to each other — you switch manually&lt;/li&gt;
&lt;li&gt;Context window limits still apply within a session&lt;/li&gt;
&lt;li&gt;Not for production data or PII&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Layer 4: Claude Cowork (Desktop agent)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What it actually is
&lt;/h3&gt;

&lt;p&gt;Claude Cowork is the newest layer (launched January 2026 as research preview, generally available April 2026). It runs in the Claude Desktop app on macOS and Windows.&lt;/p&gt;

&lt;p&gt;The core difference from everything above: &lt;strong&gt;Cowork accesses your local file system&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Regular Claude → "Here's how to organize your folder"
Claude Cowork  → *opens your folder, reorganizes it, 
                  creates an index file, done*
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It uses the same agentic architecture as Claude Code but wrapped in the desktop app UI — no terminal required. It's specifically designed for knowledge workers who aren't developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it can do
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Read, create, and edit local files (in folders you explicitly grant access to)&lt;/li&gt;
&lt;li&gt;Run code in an isolated VM on your machine&lt;/li&gt;
&lt;li&gt;Work with Excel, Word, PowerPoint, and PDF natively via skills&lt;/li&gt;
&lt;li&gt;Connect to external services via MCP connectors (Google Drive, Zoom, Gmail, etc.)&lt;/li&gt;
&lt;li&gt;Accept tasks from your phone (Claude mobile app) and execute on your desktop&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Real patterns
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Document synthesis:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Point Cowork at a folder of 15 architecture docs, 
meeting notes, and email exports.

"Produce a structured Phase 3 migration readiness 
report as a Word document."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cowork reads all sources, synthesizes, and writes a &lt;code&gt;.docx&lt;/code&gt; — not a summary in chat, an actual file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;File organization:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"This folder has 200 downloaded files mixed between 
screenshots, PDFs, and code snippets. Organize by 
type, rename meaningfully, and delete duplicates."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Runs autonomously, shows you each action, asks for confirmation before deleting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Report from spreadsheet:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"Here's our Q1 expense spreadsheet. Generate a 
formatted PowerPoint summary with charts for 
the leadership review."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Two safety modes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ask before acting&lt;/strong&gt; — Claude pauses at each action for your approval. Use this for unfamiliar folders or anything sensitive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Act without asking&lt;/strong&gt; — Runs autonomously. Faster, but you need to supervise actively.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cowork always asks before permanently deleting files regardless of mode.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hard limits — know these
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Do not use for PII, HIPAA data, or regulated workloads.&lt;/strong&gt; Anthropic explicitly states this in their documentation.&lt;/li&gt;
&lt;li&gt;For Organizations specifically: Cowork is appropriate for your own architecture docs, code files, and local documentation. Never point it at folders containing citizen data, caseworker records, or anything under organization's data governance.&lt;/li&gt;
&lt;li&gt;A prompt injection vulnerability via the Files API was reported in January 2026 (by PromptArmor). Anthropic is actively patching. Until resolved, treat Cowork like any other agentic tool — give it the minimum file access needed.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Decision Framework
&lt;/h2&gt;

&lt;p&gt;Use this to pick the right tool:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Is the task in my IDE right now?
  → GitHub Copilot + Claude Sonnet

Does it need to touch multiple files autonomously, 
run build commands, or work in terminal?
  → Claude Code

Do I need persistent context, research, 
or to build an interactive tool?
  → Claude.ai Projects / Deep Research / Artifacts

Does it need to work with my actual local files 
or documents on my machine?
  → Claude Cowork (Desktop app)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  By task type
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Right tool&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Debug a Spring Boot exception&lt;/td&gt;
&lt;td&gt;Copilot + Sonnet in IDE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refactor 15 controllers to a new pattern&lt;/td&gt;
&lt;td&gt;Claude Code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Architecture decision record&lt;/td&gt;
&lt;td&gt;Claude.ai Project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Research Kafka vs Service Bus"&lt;/td&gt;
&lt;td&gt;Deep Research&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Build a migration dashboard&lt;/td&gt;
&lt;td&gt;Artifact&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Organize a folder of downloaded docs&lt;/td&gt;
&lt;td&gt;Cowork&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Write a Word report from scattered notes&lt;/td&gt;
&lt;td&gt;Cowork&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Parallel Opus/Sonnet/Haiku analysis&lt;/td&gt;
&lt;td&gt;Claude Code sub-agents&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Billing Reality Check
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Billing model&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GitHub Copilot + Sonnet&lt;/td&gt;
&lt;td&gt;Copilot subscription ($10–$39/mo individual, enterprise pricing)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Code&lt;/td&gt;
&lt;td&gt;Anthropic API usage — watch your token consumption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude.ai Pro&lt;/td&gt;
&lt;td&gt;$20/month flat — includes Projects, Deep Research, Artifacts, Cowork&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude.ai Max&lt;/td&gt;
&lt;td&gt;$100 or $200/month — higher usage limits, priority access&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Claude Cowork is included in your Pro plan. It does consume limits faster than regular chat because it's running multiple tool calls per task. For heavy Cowork usage, Max is worth it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Spring Boot MCP Server Pattern
&lt;/h2&gt;

&lt;p&gt;One pattern worth highlighting for Java developers: you can build your own MCP server in Spring Boot 3.x that exposes your internal data as tools Claude can call.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nd"&gt;@Service&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;EmployeeDirectoryTool&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="nd"&gt;@Tool&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;description&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Search employee directory by name or department"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Employee&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;searchEmployees&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;
        &lt;span class="nd"&gt;@ToolParam&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"name or department to search"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;employeeRepository&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;findByQuery&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="nd"&gt;@Tool&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;description&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"Get org chart for a given manager"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;OrgChart&lt;/span&gt; &lt;span class="nf"&gt;getOrgChart&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;
        &lt;span class="nd"&gt;@ToolParam&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"manager employee ID"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;managerId&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;orgChartService&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;buildChart&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;managerId&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With an SSE transport endpoint and the MCP server registered in Claude Desktop, Claude can now call your Spring Boot backend as a native tool — inside Cowork tasks, inside Claude.ai, or from Claude Code.&lt;/p&gt;

&lt;p&gt;This is the bridge between your existing enterprise Java backend and the Claude ecosystem.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The Claude ecosystem is evolving fast. Three things to watch:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cross-device Cowork sync&lt;/strong&gt; — Anthropic has indicated this is on the roadmap. When your desktop is running, you'll be able to assign tasks from mobile and pick up results wherever you are.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;MCP standardization&lt;/strong&gt; — With 100M+ monthly downloads, MCP is becoming the industry standard for connecting AI to tools. Any new tooling you build should be MCP-compatible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Agentic sub-agents in Cowork&lt;/strong&gt; — The Claude Code sub-agent pattern (Opus/Sonnet/Haiku parallel execution) will likely surface in Cowork as it matures. Right now it requires manual orchestration code.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;The developers getting the most out of this ecosystem aren't the ones asking "which AI tool should I use?" They're the ones who've mapped each tool to the right job and moved on.&lt;/p&gt;

&lt;p&gt;Copilot + Sonnet for the daily IDE flow. Claude Code for autonomous, multi-file agentic work. Claude.ai Projects for persistent context and research. Cowork for local file operations without touching the terminal. Map the tool to the job, then get out of your own way.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sathishkumar is a Senior Java Full Stack Architect currently leading a modernization effort at a Texas state agency. He writes about enterprise AI adoption, Java architecture, and developer productivity.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>claude</category>
      <category>github</category>
    </item>
    <item>
      <title>Stop Asking AI to Fix This Bug - Use This 5-Part Formula Instead</title>
      <dc:creator>SathishKumar Krishnan</dc:creator>
      <pubDate>Mon, 18 May 2026 00:03:49 +0000</pubDate>
      <link>https://dev.to/sathishkumar_krishnan_4a9/stop-asking-ai-to-fix-this-bug-use-this-5-part-formula-instead-2c0a</link>
      <guid>https://dev.to/sathishkumar_krishnan_4a9/stop-asking-ai-to-fix-this-bug-use-this-5-part-formula-instead-2c0a</guid>
      <description>&lt;p&gt;Bad prompts waste more time than bad code.&lt;/p&gt;

&lt;p&gt;You spend 30 minutes debugging. You finally turn to AI and type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Fix this bug.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You get a generic, surface-level answer. Useless. You go back to debugging alone.&lt;/p&gt;

&lt;p&gt;Sound familiar?&lt;/p&gt;

&lt;p&gt;The problem is not the AI. The problem is the prompt. And the fix is simpler than you think.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Mental Model: AI is a New Team Member on Day One
&lt;/h2&gt;

&lt;p&gt;Here is the one idea that changes everything:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI is like a brilliant developer who just joined your team today.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;They are sharp. They are fast. They have read every textbook and documentation ever written. But they know absolutely nothing about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your codebase&lt;/li&gt;
&lt;li&gt;Your tech stack&lt;/li&gt;
&lt;li&gt;Your team's conventions&lt;/li&gt;
&lt;li&gt;The constraints you are working under&lt;/li&gt;
&lt;li&gt;What "done" actually looks like for this task&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Would you walk up to a new team member and say &lt;em&gt;"fix the bug"&lt;/em&gt; and walk away?&lt;/p&gt;

&lt;p&gt;No. You would give them a proper briefing.&lt;/p&gt;

&lt;p&gt;That is exactly what a good prompt is — &lt;strong&gt;a briefing document for a capable person who just arrived.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The 5-Part Briefing Formula
&lt;/h2&gt;

&lt;p&gt;Every solid prompt answers these 5 questions. You do not need all 5 every time, but the more you include, the better your answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. ROLE — Who should the AI be?
&lt;/h3&gt;

&lt;p&gt;Set the expertise level and perspective you need. This shapes the tone, depth, and technical accuracy of the response.&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="gh"&gt;# Weak&lt;/span&gt;
Review my code.

&lt;span class="gh"&gt;# Strong&lt;/span&gt;
You are a senior backend developer specialising in Node.js performance.
Review this code for memory leaks and inefficient async patterns.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A security expert looks for different things than a performance engineer. Telling AI &lt;em&gt;who&lt;/em&gt; to be is the fastest way to get the right lens on your problem.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. TASK — What exactly do you need?
&lt;/h3&gt;

&lt;p&gt;Be specific. Vague tasks get vague answers. Every word of ambiguity in your task is a coin flip the AI has to make on your behalf.&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="gh"&gt;# Weak&lt;/span&gt;
Fix this bug.

&lt;span class="gh"&gt;# Strong&lt;/span&gt;
Find why this function throws a NullPointerException when the
input list is empty, and suggest a minimal fix without
refactoring the surrounding logic.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The more precisely you describe the job, the more accurately AI can do it.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. CONTEXT — What is your situation?
&lt;/h3&gt;

&lt;p&gt;This is the step most developers skip, and it is the one that matters most. Without context, AI gives you the answer for the &lt;em&gt;average&lt;/em&gt; situation — which is probably not yours.&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="gh"&gt;# Weak&lt;/span&gt;
Why is my API returning errors?

&lt;span class="gh"&gt;# Strong&lt;/span&gt;
Stack: Node.js 20, Express 5, deployed on AWS Lambda.
The POST endpoint /api/checkout returns a 502 error only when
the request body exceeds 1MB. Smaller payloads work fine.
The error appears in CloudWatch as "Task timed out after 3s."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tell AI your stack, your environment, what you have already tried, and what "correct" looks like. The more specific the context, the more targeted the answer.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. FORMAT — How should it respond?
&lt;/h3&gt;

&lt;p&gt;Tell AI the shape of the output you need. Do you want a code snippet? A list of options? A one-line explanation? A full refactor?&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="gh"&gt;# Weak&lt;/span&gt;
(nothing — let AI decide)

&lt;span class="gh"&gt;# Strong&lt;/span&gt;
Give me:
&lt;span class="p"&gt;1.&lt;/span&gt; The root cause in one sentence
&lt;span class="p"&gt;2.&lt;/span&gt; The minimal code fix (no full rewrites)
&lt;span class="p"&gt;3.&lt;/span&gt; One sentence explaining why this fix works
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Without a format instruction, AI guesses. Sometimes it writes an essay when you needed three lines. Tell it upfront.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. AVOID — What should it not do?
&lt;/h3&gt;

&lt;p&gt;This is the most underused part of any prompt. Negative instructions are guardrails. They stop AI from going down paths that waste your time.&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="gh"&gt;# Weak&lt;/span&gt;
(nothing — hope for the best)

&lt;span class="gh"&gt;# Strong&lt;/span&gt;
Do not suggest migrating to a different framework.
Do not refactor unrelated functions.
Do not add new dependencies.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you know what you do not want, say it. It saves two or three follow-up rounds of "no, not that."&lt;/p&gt;




&lt;h2&gt;
  
  
  A Full Example: Before and After
&lt;/h2&gt;

&lt;p&gt;Let's put it all together with a real debugging scenario.&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ Before — a wish
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;My React component is re-rendering too many times. How do I fix it?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ✅ After — a briefing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;ROLE: You are a senior React developer focused on performance optimisation.

TASK: Find why this component re-renders on every parent state change
even though its own props have not changed.

CONTEXT: React 18, functional components, using Context API for global state.
The component is a data table with 200+ rows. Re-renders are causing visible
lag on low-end devices. I have already tried wrapping it in React.memo
but it did not help.

FORMAT: Give me the most likely cause first, then the fix as a
code snippet, then a one-line explanation of why it works.

AVOID: Do not suggest rewriting the component in a class-based style.
Do not suggest switching to Redux or Zustand.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same problem. Second prompt gets a targeted, actionable answer. First prompt gets a textbook definition of &lt;code&gt;React.memo&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The 30-Second Checklist
&lt;/h2&gt;

&lt;p&gt;Before you hit send on any non-trivial prompt, run through this:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;✅&lt;/th&gt;
&lt;th&gt;Check&lt;/th&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;☐&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ROLE&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Have I told it who to be?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;☐&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;TASK&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Is the task specific and unambiguous?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;☐&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;CONTEXT&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Have I shared my stack, constraints, and what I've tried?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;☐&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;FORMAT&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Do I know what the output should look like?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;☐&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;AVOID&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Are there paths I want to close off upfront?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You do not need all five every time. A quick "what does X do" needs none of this. But for anything complex — debugging, architecture decisions, code reviews, refactoring — running this checklist takes 20 seconds and saves you 20 minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  One More Thing: Iterate, Don't Restart
&lt;/h2&gt;

&lt;p&gt;When the first answer is not quite right, most developers throw the whole prompt away and start over.&lt;/p&gt;

&lt;p&gt;Do not do that.&lt;/p&gt;

&lt;p&gt;AI remembers the full conversation. Build on it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Make the explanation shorter.
Now show me how this would look with TypeScript types added.
What edge cases does this fix not cover?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Think of it as pair programming, not a vending machine. Each follow-up sharpens the answer without repeating all the context.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;The formula is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ROLE → TASK → CONTEXT → FORMAT → AVOID&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI is not magic. It is a capable colleague with no context about your situation. Give it the briefing it needs and the results will surprise you.&lt;/p&gt;

&lt;p&gt;Developers who prompt well ship faster. Developers who prompt poorly keep re-asking.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;If this was useful, I also wrote about the deeper engineering mental models behind prompt design — things like prompt chaining, constraint calibration, and few-shot patterns for production pipelines.&lt;/p&gt;

&lt;p&gt;Drop a comment with the most frustrating AI interaction you have had. Chances are one of these five parts was missing.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Found this useful? Drop a ❤️ and share it with a teammate who keeps complaining that AI is useless.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>promptengineering</category>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
