<?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: mufeng</title>
    <description>The latest articles on DEV Community by mufeng (@changyou).</description>
    <link>https://dev.to/changyou</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%2F3969584%2Fc906e166-2d8c-4b15-8630-8abd8638cad2.png</url>
      <title>DEV Community: mufeng</title>
      <link>https://dev.to/changyou</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/changyou"/>
    <language>en</language>
    <item>
      <title>How to Make AI Coding Agents Actually Follow Engineering Process</title>
      <dc:creator>mufeng</dc:creator>
      <pubDate>Sun, 07 Jun 2026 15:53:26 +0000</pubDate>
      <link>https://dev.to/changyou/how-to-make-ai-coding-agents-actually-follow-engineering-process-5b1b</link>
      <guid>https://dev.to/changyou/how-to-make-ai-coding-agents-actually-follow-engineering-process-5b1b</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbs1mpgipxfnnim9rvrcz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbs1mpgipxfnnim9rvrcz.png" alt="Engineering Process"&gt;&lt;/a&gt;&lt;br&gt;
The problem isn't that AI coding agents write bad code.&lt;/p&gt;

&lt;p&gt;The problem is that they skip steps.&lt;/p&gt;

&lt;p&gt;Ask an agent to fix a bug—it reads a few files, guesses a cause, patches the code. Ask it to add a feature—it starts writing before anyone's agreed on what the feature actually does. Ask it to refactor—it touches unrelated files, reformats half the codebase, and hands you a diff too large to review.&lt;/p&gt;

&lt;p&gt;None of this is stupidity. It's the absence of process discipline.&lt;/p&gt;

&lt;p&gt;Software development has always required workflow constraints: clarify before implementing, plan before coding, test before shipping, debug root causes not symptoms, verify before declaring done. The question is whether your AI agent follows them—or bypasses them entirely.&lt;/p&gt;

&lt;p&gt;Superpowers is a plugin framework for Claude Code and Codex that encodes those constraints as loadable, composable agent workflows. This is what it is, when to use it, and how to get started.&lt;/p&gt;


&lt;h2&gt;
  
  
  What "Skills" Actually Are
&lt;/h2&gt;

&lt;p&gt;The word "skill" is overloaded in AI contexts. Here it means something specific: a workflow protocol that loads into an agent session and constrains &lt;em&gt;how&lt;/em&gt; the agent approaches a category of task.&lt;/p&gt;

&lt;p&gt;Not "be more careful." Not a style guide. A specific sequence of steps with defined inputs, outputs, and verification gates.&lt;/p&gt;

&lt;p&gt;The analogy is a checklist for a surgeon or a pilot—not because either lacks expertise, but because cognitive discipline under pressure requires procedural anchors.&lt;/p&gt;

&lt;p&gt;The core Superpowers Skills cover the major failure modes in AI-assisted development:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Skill&lt;/th&gt;
&lt;th&gt;Failure Mode It Prevents&lt;/th&gt;
&lt;th&gt;What It Produces&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;brainstorming&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Implementing the wrong thing&lt;/td&gt;
&lt;td&gt;Clarified scope with edge cases surfaced&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;writing-plans&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Drifting mid-implementation&lt;/td&gt;
&lt;td&gt;Executable task list: file scope + verification per step&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;test-driven-development&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;"Works on my machine" guesswork&lt;/td&gt;
&lt;td&gt;RED-GREEN-REFACTOR cycles that lock behavior first&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;systematic-debugging&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Shotgun-patching symptoms&lt;/td&gt;
&lt;td&gt;Root cause hypotheses, evidence-based elimination, minimal fix&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;verification-before-completion&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;"Should be done" claims&lt;/td&gt;
&lt;td&gt;Actual test runs, browser paths, or device checks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;requesting-code-review&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Merging unreviewed code&lt;/td&gt;
&lt;td&gt;Severity-ranked risk list before merge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;using-git-worktrees&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Task bleed across workstreams&lt;/td&gt;
&lt;td&gt;Isolated workspaces with clean baseline&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These aren't independent tips—they chain into a complete development pipeline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Vague requirement
  → brainstorming  (scope + edge cases)
  → writing-plans  (executable task list)
  → test-driven-development  (behavior locked by tests)
  → requesting-code-review  (risks surfaced)
  → verification-before-completion  (actually verified)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The Key Insight: Process Errors vs. Code Errors
&lt;/h2&gt;

&lt;p&gt;AI agents will get better at writing correct code over time. They won't automatically get better at following process—unless process is encoded somewhere.&lt;/p&gt;

&lt;p&gt;The bugs Superpowers Skills prevents aren't syntax errors or logic bugs. They're:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building the wrong feature because nobody asked the right clarifying questions&lt;/li&gt;
&lt;li&gt;Writing code that "looks complete" but has zero coverage on the edge cases that matter&lt;/li&gt;
&lt;li&gt;Patching a symptom while the root cause persists&lt;/li&gt;
&lt;li&gt;Refactoring that expands scope until the diff is unmergeable&lt;/li&gt;
&lt;li&gt;Shipping because the agent said "done" without running anything&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A more capable model doesn't fix these. A faster agent arguably makes them worse—more code written in the wrong direction before anyone catches it.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Real Example: Adding Invoice Export
&lt;/h2&gt;

&lt;p&gt;Imagine you tell an agent: &lt;em&gt;"Add a billing export feature."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Without workflow constraints, it will probably find the billing service, write an endpoint, add a download button, and report completion. Whether that implementation handles empty data, unauthorized requests, large datasets, or export format edge cases depends entirely on whether the model guessed right.&lt;/p&gt;

&lt;p&gt;With Superpowers Skills, the flow looks like this:&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: &lt;code&gt;brainstorming&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Before touching any files, the agent surfaces questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Export format: PDF, CSV, or Excel?&lt;/li&gt;
&lt;li&gt;Date range limits?&lt;/li&gt;
&lt;li&gt;Permission checks required?&lt;/li&gt;
&lt;li&gt;Sync download or async background job?&lt;/li&gt;
&lt;li&gt;What does the user see on failure?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn't bureaucracy. This is the list of decisions that will otherwise get made silently—by the model, in the wrong direction.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: &lt;code&gt;writing-plans&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;A compliant plan doesn't say "implement invoice export." It says:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Add exportInvoiceCsv(userId, range) to billing service.
   Verify: unit tests covering empty data, normal data, unauthorized access.

2. Wire export endpoint in API routes.
   Verify: 403 on missing permissions, valid text/csv response on success.

3. Add download button to billing page.
   Verify: file downloads on click, loading and error states render correctly.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every task has a file scope and a verification gate. That's what makes it executable instead of aspirational.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: &lt;code&gt;test-driven-development&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Tests first. Not as documentation—as behavior contracts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nf"&gt;describe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exportInvoiceCsv&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;it&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;exports invoices as csv rows&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;csv&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;exportInvoiceCsv&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;inv_001&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1999&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;currency&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;USD&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;inv_002&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;amount&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2999&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;currency&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;USD&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;]);&lt;/span&gt;

    &lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;csv&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toContain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;id,amount,currency&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;csv&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toContain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;inv_001,1999,USD&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nf"&gt;expect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;csv&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toContain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;inv_002,2999,USD&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Write the failing test. Confirm it fails. Implement the minimum to pass. Confirm it passes. Then refactor. The order matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: &lt;code&gt;requesting-code-review&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Before merge, the review targets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does this match the agreed plan?&lt;/li&gt;
&lt;li&gt;Any authorization gaps?&lt;/li&gt;
&lt;li&gt;Large dataset edge cases?&lt;/li&gt;
&lt;li&gt;Unhandled error states?&lt;/li&gt;
&lt;li&gt;Files changed outside the agreed scope?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 5: &lt;code&gt;verification-before-completion&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Depending on project type:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Project Type&lt;/th&gt;
&lt;th&gt;Verification Method&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Web app&lt;/td&gt;
&lt;td&gt;Start dev server, walk the critical path in browser&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend service&lt;/td&gt;
&lt;td&gt;Run tests, type check, hit the endpoint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CLI tool&lt;/td&gt;
&lt;td&gt;Run the command, check actual output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;iOS app&lt;/td&gt;
&lt;td&gt;Test on real device (especially IAP, StoreKit, permissions)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SDK / Library&lt;/td&gt;
&lt;td&gt;Unit tests + integration tests + example project&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The principle: &lt;em&gt;evidence over claims&lt;/em&gt;. "I think it's done" is not verification.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Install
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Claude Code
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/plugin &lt;span class="nb"&gt;install &lt;/span&gt;superpowers@claude-plugins-official
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or via the Superpowers marketplace:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/plugin marketplace add obra/superpowers-marketplace
/plugin &lt;span class="nb"&gt;install &lt;/span&gt;superpowers@superpowers-marketplace
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Codex CLI
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/plugins
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Search &lt;code&gt;superpowers&lt;/code&gt;, select &lt;code&gt;Install Plugin&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Codex App
&lt;/h3&gt;

&lt;p&gt;Sidebar → Plugins → Coding category → Superpowers → &lt;code&gt;+&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  When to Use vs. Skip
&lt;/h2&gt;

&lt;p&gt;Not every task needs a full workflow. A typo fix doesn't need a plan. A one-liner doesn't need TDD.&lt;/p&gt;

&lt;p&gt;The right mental model is risk-proportional discipline:&lt;/p&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;Recommended Approach&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Typo fix, config lookup&lt;/td&gt;
&lt;td&gt;Direct action—just verify the output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Single-file small change&lt;/td&gt;
&lt;td&gt;Optional workflow; at minimum verify&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bug with unclear root cause&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;systematic-debugging&lt;/code&gt; required&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New feature&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;brainstorming&lt;/code&gt; + &lt;code&gt;writing-plans&lt;/code&gt; + TDD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cross-module refactor&lt;/td&gt;
&lt;td&gt;Plan + verification strongly recommended&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pre-merge / pre-deploy&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;requesting-code-review&lt;/code&gt; + &lt;code&gt;verification-before-completion&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Skills should add friction proportional to the blast radius of getting it wrong.&lt;/p&gt;




&lt;h2&gt;
  
  
  Three Skills to Start With
&lt;/h2&gt;

&lt;p&gt;If you're integrating Superpowers into an existing project, don't try to use everything at once. Start with three:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. &lt;code&gt;systematic-debugging&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Tell the agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Use systematic-debugging. Do not modify any code yet. List your root cause hypotheses first, then we'll validate them one by one."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This stops the shotgun-patch reflex before it starts.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. &lt;code&gt;writing-plans&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Before any non-trivial feature or change:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Use writing-plans. Produce an executable plan first. I'll confirm before you implement anything."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This surfaces scope creep before it happens, not after you're reviewing a 500-line diff.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. &lt;code&gt;verification-before-completion&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Add this to your project's &lt;code&gt;CLAUDE.md&lt;/code&gt; or &lt;code&gt;AGENTS.md&lt;/code&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Before declaring any task complete, use verification-before-completion. Run tests, verify in browser or device, report exactly what you checked and what the result was."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This closes the gap between "I think it works" and "I confirmed it works."&lt;/p&gt;




&lt;h2&gt;
  
  
  The Broader Pattern: Startup Superpowers
&lt;/h2&gt;

&lt;p&gt;Startup Superpowers—a companion project that applies the same framework to startup validation—illustrates why this pattern generalizes beyond coding.&lt;/p&gt;

&lt;p&gt;It applies the same idea (codify a professional workflow into loadable agent protocols) to hypothesis tracking, competitor research, customer interviews, and MVP scoping. Available slash commands:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&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;&lt;code&gt;/whats-next&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Assess current stage, recommend next action&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/competitors&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Map direct and indirect competitors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/market-research&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Research customers, pricing, and trends&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/hypotheses&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Write testable hypotheses with evidence tracking&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/interviews&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Design scripts and analyze transcripts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/surveys&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Design surveys and manage responses&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/mvp&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Design the minimum testable product&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Everything is stored as Markdown in a &lt;code&gt;startup/&lt;/code&gt; directory—version-controllable, agent-readable, no SaaS dependency.&lt;/p&gt;

&lt;p&gt;That's the actual pattern: take a repeatable professional workflow, encode it as agent steps with defined inputs and outputs, make it loadable in any session, and store all state in files the agent can read and write. The AI doesn't get smarter. The process gets stable.&lt;/p&gt;




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

&lt;p&gt;Superpowers Skills solves a specific problem: AI coding agents that know how to write code but don't know how to do software development.&lt;/p&gt;

&lt;p&gt;The six questions it forces an agent to answer before declaring a task complete:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Did you clarify the requirements before implementing?&lt;/li&gt;
&lt;li&gt;Did you make a verifiable plan before writing code?&lt;/li&gt;
&lt;li&gt;Did you write tests before the implementation?&lt;/li&gt;
&lt;li&gt;Did you find the root cause before patching?&lt;/li&gt;
&lt;li&gt;Did you get a review before merging?&lt;/li&gt;
&lt;li&gt;Did you actually verify—not just assume—that it works?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Without workflow constraints, developers have to ask these questions themselves, every session, every task. With Superpowers, the constraints are stable, loadable, and consistent across sessions, developers, and projects.&lt;/p&gt;

&lt;p&gt;If you're using AI coding agents in real projects today, start with three skills: &lt;code&gt;systematic-debugging&lt;/code&gt;, &lt;code&gt;writing-plans&lt;/code&gt;, and &lt;code&gt;verification-before-completion&lt;/code&gt;. They won't make development magical. They'll make your agent behave like a collaborator with engineering discipline instead of one without it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Superpowers: &lt;a href="https://github.com/obra/superpowers" rel="noopener noreferrer"&gt;github.com/obra/superpowers&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Startup Superpowers: &lt;a href="https://github.com/SergeiGorbatiuk/startup-superpowers" rel="noopener noreferrer"&gt;github.com/SergeiGorbatiuk/startup-superpowers&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codex</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
