<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Specs on Aguilera Engineering</title><link>https://aguilera.ee/blog/tags/specs/</link><description>Recent content in Specs on Aguilera Engineering</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><managingEditor>eduardo@aguilera.ee (Eduardo Aguilera)</managingEditor><webMaster>eduardo@aguilera.ee (Eduardo Aguilera)</webMaster><copyright>Eduardo Aguilera</copyright><lastBuildDate>Mon, 20 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://aguilera.ee/blog/tags/specs/index.xml" rel="self" type="application/rss+xml"/><item><title>The ticket is the spec</title><link>https://aguilera.ee/blog/plan-mode/</link><pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate><author>eduardo@aguilera.ee (Eduardo Aguilera)</author><guid>https://aguilera.ee/blog/plan-mode/</guid><description>&lt;p&gt;I spend more time writing ticket descriptions than writing code.&lt;/p&gt;
&lt;p&gt;Examples of what success looks like, plus references to similar past work, let
Claude ship a feature in 20 minutes. The ticket becomes the spec.&lt;/p&gt;
&lt;p&gt;I use Claude Code&amp;rsquo;s plan mode. It explores the codebase, interviews me to clarify
the requirements, and lays out a multi-step plan. I just say &amp;ldquo;implement ticket
XX.&amp;rdquo; Activate it with Shift+Tab in the CLI.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I spend more time writing ticket descriptions than writing code.</p>
<p>Examples of what success looks like, plus references to similar past work, let
Claude ship a feature in 20 minutes. The ticket becomes the spec.</p>
<p>I use Claude Code&rsquo;s plan mode. It explores the codebase, interviews me to clarify
the requirements, and lays out a multi-step plan. I just say &ldquo;implement ticket
XX.&rdquo; Activate it with Shift+Tab in the CLI.</p>
]]></content:encoded></item><item><title>A SPEC.md is the difference</title><link>https://aguilera.ee/blog/spec-file/</link><pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate><author>eduardo@aguilera.ee (Eduardo Aguilera)</author><guid>https://aguilera.ee/blog/spec-file/</guid><description>&lt;p&gt;A SPEC.md file is the difference between vibe coding and software engineering.&lt;/p&gt;
&lt;p&gt;For a complex feature I write a spec and hand it to the agent to turn into an
implementation plan. What goes in it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Introduction.&lt;/strong&gt; &amp;ldquo;You are building a dashboard to change settings on a
security platform.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Problem.&lt;/strong&gt; If it knows why, it finds solutions I didn&amp;rsquo;t think of.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scope.&lt;/strong&gt; Keeps it focused on what I want.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Out of scope.&lt;/strong&gt; Paradoxically, this sharpens the scope.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Functional requirements.&lt;/strong&gt; The list of tasks to complete.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-functional requirements.&lt;/strong&gt; Respects my architectural decisions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;References and glossary.&lt;/strong&gt; Points it at the knowledge it should read.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The spec is where the thinking happens. The code is the easy part.&lt;/p&gt;</description><content:encoded><![CDATA[<p>A SPEC.md file is the difference between vibe coding and software engineering.</p>
<p>For a complex feature I write a spec and hand it to the agent to turn into an
implementation plan. What goes in it:</p>
<ul>
<li><strong>Introduction.</strong> &ldquo;You are building a dashboard to change settings on a
security platform.&rdquo;</li>
<li><strong>Problem.</strong> If it knows why, it finds solutions I didn&rsquo;t think of.</li>
<li><strong>Scope.</strong> Keeps it focused on what I want.</li>
<li><strong>Out of scope.</strong> Paradoxically, this sharpens the scope.</li>
<li><strong>Functional requirements.</strong> The list of tasks to complete.</li>
<li><strong>Non-functional requirements.</strong> Respects my architectural decisions.</li>
<li><strong>References and glossary.</strong> Points it at the knowledge it should read.</li>
</ul>
<p>The spec is where the thinking happens. The code is the easy part.</p>
]]></content:encoded></item></channel></rss>