<?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: onepersonrd</title>
    <description>The latest articles on DEV Community by onepersonrd (@onepersonrd).</description>
    <link>https://dev.to/onepersonrd</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%2F4212252%2Fbf59335d-525e-4f37-8ea2-0e8ac5124746.png</url>
      <title>DEV Community: onepersonrd</title>
      <link>https://dev.to/onepersonrd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/onepersonrd"/>
    <language>en</language>
    <item>
      <title>Three documents that keep my AI coding agent honest (free templates + Claude Code skill)</title>
      <dc:creator>onepersonrd</dc:creator>
      <pubDate>Wed, 28 Oct 2026 06:06:29 +0000</pubDate>
      <link>https://dev.to/onepersonrd/three-documents-that-keep-my-ai-coding-agent-honest-free-templates-claude-code-skill-63f</link>
      <guid>https://dev.to/onepersonrd/three-documents-that-keep-my-ai-coding-agent-honest-free-templates-claude-code-skill-63f</guid>
      <description>&lt;p&gt;I run a one-person R&amp;amp;D operation that ships small hardware products — boards, firmware, PC tools. Most of the typing is done by AI coding agents (mainly Claude Code). They are fast, and for a year they failed in the same four ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They extended the scope without asking.&lt;/li&gt;
&lt;li&gt;They reported "done" without running the test.&lt;/li&gt;
&lt;li&gt;They stated facts they had not checked ("the sibling project uses the same part").&lt;/li&gt;
&lt;li&gt;They repeated the same mistake in the next session.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of this was fixed by a better model. It was fixed by a process the agent cannot skip. I've generalized it into a small kit and put it on GitHub under MIT: &lt;strong&gt;&lt;a href="https://github.com/onepersonrd/ai-rd-process-kit" rel="noopener noreferrer"&gt;ai-rd-process-kit&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea
&lt;/h2&gt;

&lt;p&gt;Before any implementation, the agent writes three documents, and I accept them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Plan&lt;/strong&gt; — scope decided in seven lines (constraints, vision, first release, one-sentence core concept, out of scope, MVP, deferred), completion criteria &lt;em&gt;before&lt;/em&gt; the task list, and a progress scale where &lt;strong&gt;100% means reviewed and tested&lt;/strong&gt;, nothing else.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design document&lt;/strong&gt; — every chapter created on day one. A chapter that doesn't apply says "N/A (reason)". Rejected options are kept with the reason. Design order is data → functions → UI, because starting from the screen is how you find the missing data at the end.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Requirements ↔ test matrix&lt;/strong&gt; — every requirement has at least one test, every pass criterion is a number, and "not run" is a status that is never reported as "pass".&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Then the agent works in small checked pieces, updates the documents in the same change that alters the design, and when it fails, &lt;strong&gt;it writes the lesson itself&lt;/strong&gt;: situation, cause, prevention. It reads that file at the start of every session.&lt;/p&gt;

&lt;h2&gt;
  
  
  The progress scale (the part people copy first)
&lt;/h2&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;Means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;Not started&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;Started&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;Draft complete, not self-checked&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;75&lt;/td&gt;
&lt;td&gt;Waiting for review, or under test&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;Accepted in review and tests passed&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Unverified work stays at 75. Where things can be counted, they are counted: &lt;code&gt;tests passed 38/52 → 73%&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two real lessons from the file
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;"Not found" is not "does not exist."&lt;/strong&gt; The agent searched a coding standard for two keywords, found nothing, and reported that no rule applied. The rule existed under different wording. Prevention: questions of the form "is there a rule about X" are answered by reading the relevant chapters, and the report says what was searched and what was not read.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ERC passed, the netlist had three shorts.&lt;/strong&gt; An auto-generated schematic passed the electrical rules check. The netlist showed a rotated protection diode shorting two supply rails, a pull-up routed onto a data line, and a duplicated reference designator. Prevention: after generating a schematic, export the netlist and script-check supply/ground separation, polarity of oriented parts and duplicate designators before layout.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's in the kit
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;templates/&lt;/code&gt; — plan, design doc, requirements↔test matrix, lessons-learned (with four real, anonymized examples)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;rules/CLAUDE.md.example&lt;/code&gt; — 13 promises for the root of your project&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;skills/rd-process/SKILL.md&lt;/code&gt; — a Claude Code skill: session start, create the docs, work, test, log, session end&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Five-minute setup: copy the templates into &lt;code&gt;docs/&lt;/code&gt;, put the rules in &lt;code&gt;CLAUDE.md&lt;/code&gt;, install the skill, and say "plan this". If the agent starts coding before showing you the scope table, the rules aren't loaded.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it is not
&lt;/h2&gt;

&lt;p&gt;Not a methodology, not a tool, not a prompt pack. Four Markdown files and a habit. It works with any agent that reads an instruction file; the skill is for Claude Code.&lt;/p&gt;

&lt;p&gt;If you try it, I'd like to know which rule your agent broke first. Mine was #4.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: this post and the templates were drafted with an AI assistant and rewritten by me from first-hand use.&lt;/em&gt;&lt;/p&gt;

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