<?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: skyestrela</title>
    <description>The latest articles on DEV Community by skyestrela (@skyestrela).</description>
    <link>https://dev.to/skyestrela</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4047005%2F4514e289-7045-46ff-b245-1161c9a502ef.png</url>
      <title>DEV Community: skyestrela</title>
      <link>https://dev.to/skyestrela</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/skyestrela"/>
    <language>en</language>
    <item>
      <title>Stop Asking AI Coding Agents to Fix Vague Bugs</title>
      <dc:creator>skyestrela</dc:creator>
      <pubDate>Sat, 25 Jul 2026 15:34:38 +0000</pubDate>
      <link>https://dev.to/skyestrela/stop-asking-ai-coding-agents-to-fix-vague-bugs-4ji6</link>
      <guid>https://dev.to/skyestrela/stop-asking-ai-coding-agents-to-fix-vague-bugs-4ji6</guid>
      <description>&lt;p&gt;A coding agent can produce a confident patch for the wrong problem when the input is only:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The upload sometimes fails. Please fix it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That sentence does not identify the smallest failing input, exact error, environment, expected result, frequency, or even whether the reporter reproduced it personally.&lt;/p&gt;

&lt;p&gt;If the first instruction is “fix it”, the agent has room to turn a suspected cause into a fictional fact. The safer sequence is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;preserve the observed failure;&lt;/li&gt;
&lt;li&gt;record the real environment;&lt;/li&gt;
&lt;li&gt;state expected versus actual behaviour;&lt;/li&gt;
&lt;li&gt;reduce the failing case;&lt;/li&gt;
&lt;li&gt;prove whether it repeats;&lt;/li&gt;
&lt;li&gt;diagnose and repair only after that evidence exists.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Preserve the observed failure
&lt;/h2&gt;

&lt;p&gt;Capture the exact error, status code, incorrect output, affected route or command, timestamp, and smallest known input.&lt;/p&gt;

&lt;p&gt;Remove secrets and personal data before putting logs into an agent context. If the report came from another person and you have not reproduced it, label it as second-hand rather than silently upgrading it to fact.&lt;/p&gt;

&lt;p&gt;Weak:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CSV imports are broken.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Useful:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;At 14:22 UTC, POST /imports returned HTTP 500 for minimal.csv.
Response: "column index out of range".
The same account can import one-column.csv successfully.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Record the environment you can prove
&lt;/h2&gt;

&lt;p&gt;Inspect rather than guess:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;repository and commit;&lt;/li&gt;
&lt;li&gt;runtime version;&lt;/li&gt;
&lt;li&gt;operating system or container image;&lt;/li&gt;
&lt;li&gt;package lockfile;&lt;/li&gt;
&lt;li&gt;relevant feature flags;&lt;/li&gt;
&lt;li&gt;local, test, staging, or production target.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do not infer production configuration from your laptop. Environment differences are often part of the bug.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Separate expected and actual behaviour
&lt;/h2&gt;

&lt;p&gt;Write two observable statements:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Expected: POST /imports accepts the smallest valid two-column CSV and returns HTTP 201.
Actual:   The same fixture returns HTTP 500 with "column index out of range".
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Neither statement should include the suspected root cause.&lt;/p&gt;

&lt;p&gt;“Expected: parser handles the off-by-one bug” already assumes the diagnosis. You have not earned that conclusion yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Reduce the reproduction
&lt;/h2&gt;

&lt;p&gt;Start with the reported path. Remove unrelated records, services, fields, and steps one at a time.&lt;/p&gt;

&lt;p&gt;Keep the smallest fixture that still fails. When removing one condition stops the failure, restore it and record the boundary.&lt;/p&gt;

&lt;p&gt;Useful reductions include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;replacing a customer export with a sanitised two-row fixture;&lt;/li&gt;
&lt;li&gt;removing unrelated network requests;&lt;/li&gt;
&lt;li&gt;disabling background jobs that are not required;&lt;/li&gt;
&lt;li&gt;running one focused test instead of an entire suite;&lt;/li&gt;
&lt;li&gt;replacing a UI journey with the smallest direct request that proves the same fault.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do not mutate production data merely to make reproduction convenient.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Prove repeatability
&lt;/h2&gt;

&lt;p&gt;Run the minimal case at least twice where safe.&lt;/p&gt;

&lt;p&gt;If it fails two times out of ten, report &lt;code&gt;2/10 over 90 seconds&lt;/code&gt;. Do not call it deterministic. Frequency and duration are evidence too.&lt;/p&gt;

&lt;p&gt;A useful handoff looks like this:&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;# Bug Reproduction Brief&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Target and commit:
&lt;span class="p"&gt;-&lt;/span&gt; Environment:
&lt;span class="p"&gt;-&lt;/span&gt; Expected:
&lt;span class="p"&gt;-&lt;/span&gt; Actual:
&lt;span class="p"&gt;-&lt;/span&gt; Minimal steps:
&lt;span class="p"&gt;-&lt;/span&gt; Minimal fixture:
&lt;span class="p"&gt;-&lt;/span&gt; Reproduced: yes / no / intermittent
&lt;span class="p"&gt;-&lt;/span&gt; Evidence:
&lt;span class="p"&gt;-&lt;/span&gt; Unknowns:
&lt;span class="p"&gt;-&lt;/span&gt; Safe next hypothesis to test:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Keep reproduction separate from repair
&lt;/h2&gt;

&lt;p&gt;A verified reproduction is a stable contract for the next step. Now the agent can inspect the responsible code, rank hypotheses, create a failing regression test, apply the smallest fix, and prove that the fixture passes.&lt;/p&gt;

&lt;p&gt;Without that contract, a green test may only prove that the agent tested its own assumption.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install the complete free workflow
&lt;/h2&gt;

&lt;p&gt;The MIT-licensed Bug Reproduction Brief is public and readable before installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add skyestrela/ai-agent-skill-preview &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--skill&lt;/span&gt; bug-reproduction-brief &lt;span class="nt"&gt;--agent&lt;/span&gt; codex &lt;span class="nt"&gt;--global&lt;/span&gt; &lt;span class="nt"&gt;--yes&lt;/span&gt; &lt;span class="nt"&gt;--copy&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Source and three other free engineering workflows:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/skyestrela/ai-agent-skill-preview?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=bug-reproduction-guide" rel="noopener noreferrer"&gt;https://github.com/skyestrela/ai-agent-skill-preview?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=bug-reproduction-guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The full Markdown workflow can also be read directly:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ai-agent-skills-pack.vercel.app/preview/bug-reproduction-brief.md?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=bug-reproduction-guide" rel="noopener noreferrer"&gt;https://ai-agent-skills-pack.vercel.app/preview/bug-reproduction-brief.md?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=bug-reproduction-guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want the wider engineering set, the £19 AI Agent Skills Pack contains ten editable workflows for review, debugging, TDD, security, APIs, migrations, deployment, refactoring, PR shipping, and incident analysis:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ai-agent-skills-pack.vercel.app/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=bug-reproduction-guide" rel="noopener noreferrer"&gt;https://ai-agent-skills-pack.vercel.app/?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=bug-reproduction-guide&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The free workflow is complete on its own. The paid pack is optional, sold once with no subscription.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>testing</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
