<?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>Claude-Code on Aguilera Engineering</title><link>https://aguilera.ee/blog/tags/claude-code/</link><description>Recent content in Claude-Code 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/claude-code/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>Optimize your CLAUDE.md for Claude</title><link>https://aguilera.ee/blog/claude-md-content/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><author>eduardo@aguilera.ee (Eduardo Aguilera)</author><guid>https://aguilera.ee/blog/claude-md-content/</guid><description>&lt;p&gt;Claude reads your CLAUDE.md file. Write it for Claude.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;What should I put in my CLAUDE.md&amp;rdquo; is the question I hear most from engineers
trying to speed up their work.&lt;/p&gt;
&lt;p&gt;The common mistake is treating it as documentation for product managers. &amp;ldquo;We&amp;rsquo;re
explaining what the code does anyway, so we&amp;rsquo;ll use it as docs.&amp;rdquo; Wrong.&lt;/p&gt;
&lt;p&gt;Give Claude directions for finding the right information.&lt;/p&gt;
&lt;p&gt;Bad: &amp;ldquo;In the class Calculator I export the methods sum and subtract.&amp;rdquo;&lt;/p&gt;</description><content:encoded><![CDATA[<p>Claude reads your CLAUDE.md file. Write it for Claude.</p>
<p>&ldquo;What should I put in my CLAUDE.md&rdquo; is the question I hear most from engineers
trying to speed up their work.</p>
<p>The common mistake is treating it as documentation for product managers. &ldquo;We&rsquo;re
explaining what the code does anyway, so we&rsquo;ll use it as docs.&rdquo; Wrong.</p>
<p>Give Claude directions for finding the right information.</p>
<p>Bad: &ldquo;In the class Calculator I export the methods sum and subtract.&rdquo;</p>
<p>Good: &ldquo;To do math, look at the Calculator class.&rdquo;</p>
]]></content:encoded></item><item><title>Skills over MCP servers</title><link>https://aguilera.ee/blog/skills-vs-mcp/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><author>eduardo@aguilera.ee (Eduardo Aguilera)</author><guid>https://aguilera.ee/blog/skills-vs-mcp/</guid><description>&lt;p&gt;I use Skills instead of MCP servers.&lt;/p&gt;
&lt;p&gt;MCP servers port existing APIs into something agents can use. They also eat your
context window with verbose definitions.&lt;/p&gt;
&lt;p&gt;Skills are small markdown files with instructions for using CLI tools. They load
into context only when your question matches the skill&amp;rsquo;s description.&lt;/p&gt;
&lt;p&gt;I tested reading my reminders list through Claude Code. The Skill used 40
tokens. The MCP server used 749. Multiply that across the dozens of tools a power
user touches and Skills scale better.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I use Skills instead of MCP servers.</p>
<p>MCP servers port existing APIs into something agents can use. They also eat your
context window with verbose definitions.</p>
<p>Skills are small markdown files with instructions for using CLI tools. They load
into context only when your question matches the skill&rsquo;s description.</p>
<p>I tested reading my reminders list through Claude Code. The Skill used 40
tokens. The MCP server used 749. Multiply that across the dozens of tools a power
user touches and Skills scale better.</p>
<p>Some of your MCP servers are a markdown file waiting to happen.</p>
]]></content:encoded></item><item><title>Claude Code can't see</title><link>https://aguilera.ee/blog/claude-cant-see/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><author>eduardo@aguilera.ee (Eduardo Aguilera)</author><guid>https://aguilera.ee/blog/claude-cant-see/</guid><description>&lt;p&gt;Claude Code doesn&amp;rsquo;t have eyes.&lt;/p&gt;
&lt;p&gt;Agents feel natural enough that you start treating them like coworkers. Then you
forget they can&amp;rsquo;t read your nonverbal cues.&lt;/p&gt;
&lt;p&gt;Stop saying &amp;ldquo;this&amp;rdquo; and &amp;ldquo;that&amp;rdquo; to your coding agent. It doesn&amp;rsquo;t know what you mean.
Say &amp;ldquo;do the research first, then build the website.&amp;rdquo;&lt;/p&gt;</description><content:encoded><![CDATA[<p>Claude Code doesn&rsquo;t have eyes.</p>
<p>Agents feel natural enough that you start treating them like coworkers. Then you
forget they can&rsquo;t read your nonverbal cues.</p>
<p>Stop saying &ldquo;this&rdquo; and &ldquo;that&rdquo; to your coding agent. It doesn&rsquo;t know what you mean.
Say &ldquo;do the research first, then build the website.&rdquo;</p>
]]></content:encoded></item><item><title>Stop using AI in your browser</title><link>https://aguilera.ee/blog/media-server/</link><pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate><author>eduardo@aguilera.ee (Eduardo Aguilera)</author><guid>https://aguilera.ee/blog/media-server/</guid><description>&lt;p&gt;I set up a home media server with Claude Code in two hours, after failing for two
days.&lt;/p&gt;
&lt;p&gt;I started in the browser version of Claude, learning what to do and which
commands to run. No success.&lt;/p&gt;
&lt;p&gt;So I asked it for one thing: &amp;ldquo;Give me a prompt to ask an AI to do this for me.&amp;rdquo; I
pasted that prompt into Claude Code. Everything worked in two hours.&lt;/p&gt;
&lt;p&gt;Mission critical? No. Fun? Yes. Can I watch my movies? Yes.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I set up a home media server with Claude Code in two hours, after failing for two
days.</p>
<p>I started in the browser version of Claude, learning what to do and which
commands to run. No success.</p>
<p>So I asked it for one thing: &ldquo;Give me a prompt to ask an AI to do this for me.&rdquo; I
pasted that prompt into Claude Code. Everything worked in two hours.</p>
<p>Mission critical? No. Fun? Yes. Can I watch my movies? Yes.</p>
<p>Claude Code is for anyone with a computer, not just developers.</p>
]]></content:encoded></item><item><title>Multiply yourself with Claude Code agents</title><link>https://aguilera.ee/blog/claude-code-agents/</link><pubDate>Sat, 06 Dec 2025 00:00:00 +0000</pubDate><author>eduardo@aguilera.ee (Eduardo Aguilera)</author><guid>https://aguilera.ee/blog/claude-code-agents/</guid><description>&lt;p&gt;Scripts and macros automate tasks. They can&amp;rsquo;t adapt when something unexpected
happens. Claude Code&amp;rsquo;s &lt;code&gt;/agents&lt;/code&gt; command gives you context-aware automation that
can.&lt;/p&gt;
&lt;p&gt;Here is how I tested 43 files in about an hour.&lt;/p&gt;
&lt;h2 id="the-agent"&gt;The agent&lt;/h2&gt;
&lt;p&gt;An agent is a prompt with its own context window. Each one tackles its assigned
task, handles the nuances, and keeps you in the loop.&lt;/p&gt;
&lt;p&gt;Test the prompt on a single file first. A QA engineer prompt:&lt;/p&gt;</description><content:encoded><![CDATA[<p>Scripts and macros automate tasks. They can&rsquo;t adapt when something unexpected
happens. Claude Code&rsquo;s <code>/agents</code> command gives you context-aware automation that
can.</p>
<p>Here is how I tested 43 files in about an hour.</p>
<h2 id="the-agent">The agent</h2>
<p>An agent is a prompt with its own context window. Each one tackles its assigned
task, handles the nuances, and keeps you in the loop.</p>
<p>Test the prompt on a single file first. A QA engineer prompt:</p>
<blockquote>
<p>Be a QA Engineer.</p>
<p>Analyze the given file, understand the purpose of the class, and write a unit
test in <code>&lt;folder&gt;</code>.</p>
<p>Use a black box strategy: pass inputs, assert outputs. Don&rsquo;t mock anything
without planning it with me first.</p>
</blockquote>
<p>Once it works, save it with <code>/agents</code> as &ldquo;qa-engineer&rdquo;.</p>
<h2 id="the-coordinator">The coordinator</h2>
<p>Then create a coordinator that spawns agents in parallel:</p>
<blockquote>
<p>Be an AI Agents Coordinator.</p>
<p>Unit test all of these files:</p>
<p><code>file1.ts</code>
<code>file2.ts</code></p>
<p>Spawn one qa-engineer agent per file. All unit tests go in <code>./tests/</code>.</p>
</blockquote>
<p>Results: 43 files, about an hour, 100 dollars on Opus 4.5.</p>
<p>Each agent has its own 200k token context window. Understand your usage before
going wide.</p>
]]></content:encoded></item></channel></rss>