<?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: Eduardo Aguilera</title>
    <description>The latest articles on DEV Community by Eduardo Aguilera (@aguilera_ee).</description>
    <link>https://dev.to/aguilera_ee</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%2F3963353%2F32b0369a-5a07-4844-9a45-0f4e065d7496.jpeg</url>
      <title>DEV Community: Eduardo Aguilera</title>
      <link>https://dev.to/aguilera_ee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aguilera_ee"/>
    <language>en</language>
    <item>
      <title>Give your AI agent a ToDo list that survives every session</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Wed, 24 Jun 2026 01:17:03 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/give-your-ai-agent-a-todo-list-that-survives-every-session-3k25</link>
      <guid>https://dev.to/aguilera_ee/give-your-ai-agent-a-todo-list-that-survives-every-session-3k25</guid>
      <description>&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;If you ask an AI agent to track your tasks, it'll often store them in its memory file. That file travels with every conversation, so it can't grow without bound. It is trimmed automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why plain text, not an integration
&lt;/h2&gt;

&lt;p&gt;I didn't want to sign up for a task SaaS just to hold a list, and I didn't want my tasks on someone else's server. I also didn't want to maintain an API integration for something this simple. Plain text avoids all of it. todo.txt (a 2006 format: one line = one task, with a small CLI) is a text file with a CLI interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Install the skill
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add aguilera-ee/todo.txt-skill
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 2: Ask your agent to add a task
&lt;/h2&gt;

&lt;p&gt;Tell it, in plain language: "add buy milk to my list." The agent runs the CLI and appends a line. Ask "what's on my list?" and it reads the file back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Prove it's just a text file
&lt;/h2&gt;

&lt;p&gt;Open the file yourself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ cat todo.txt
(A) Call the dentist +health
buy milk @errands
Renew domain due:2026-07-01 +sideproject
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's the whole database. The agent and you are looking at the same file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this holds up
&lt;/h2&gt;

&lt;p&gt;A plain-text file you own is about the most durable interface an agent can have. The agent becomes optional: the file is useful on its own, and any other tool can read the same lines without asking permission.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/aguilera-ee/todo.txt-skill" rel="noopener noreferrer"&gt;https://github.com/aguilera-ee/todo.txt-skill&lt;/a&gt;&lt;br&gt;
Install: &lt;code&gt;npx skills add aguilera-ee/todo.txt-skill&lt;/code&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>What AI model to use?</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Wed, 17 Jun 2026 21:24:21 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/what-ai-model-to-use-4eha</link>
      <guid>https://dev.to/aguilera_ee/what-ai-model-to-use-4eha</guid>
      <description>&lt;p&gt;Choosing the wrong model can be 5x more expensive. But how to choose the correct one?&lt;/p&gt;

&lt;p&gt;I use Opus to help me plan a full feature. It is the equivalent of a seasoned Sr. Software Engineer who knows how to find gaps in a code base. Knows when to ask questions and drive you in the right direction.&lt;/p&gt;

&lt;p&gt;I use Sonnet for simple feature implementations. To write code previously planned by a more expensive model. Sonnet is your mid level engineer who knows how to code but doesn't have architectural expertise.&lt;/p&gt;

&lt;p&gt;I use Haiku for classification, labeling, and Yes/No questions. Haiku is just a calculator for nondeterministic values. "Is this picture a car?"&lt;/p&gt;

&lt;p&gt;Opus plans &amp;gt; Sonnet codes &amp;gt; Haiku answers&lt;/p&gt;

&lt;p&gt;More in &lt;a href="https://aguilera.ee" rel="noopener noreferrer"&gt;aguilera.ee&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>cursor</category>
      <category>learning</category>
    </item>
    <item>
      <title>Learn Claude Code: /sandbox</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Wed, 17 Jun 2026 21:10:30 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-sandbox-1ben</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-sandbox-1ben</guid>
      <description>&lt;p&gt;Run code you don't trust without handing it the keys to your filesystem or network.&lt;/p&gt;

&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Toggles sandbox mode, which restricts file and network access during the session — block reads of sensitive paths, pre-approve or block network domains, or route traffic through your own proxy for inspection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;You're testing a sketchy npm package's install script before trusting it in your real project. You flip on &lt;code&gt;/sandbox&lt;/code&gt; so it can't reach the network or touch files outside the project, then watch what it actually tries to do.&lt;/p&gt;

</description>
      <category>claude</category>
      <category>code</category>
      <category>ai</category>
      <category>learning</category>
    </item>
    <item>
      <title>Learn Claude Code: /export</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Tue, 16 Jun 2026 20:28:38 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-export-293i</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-export-293i</guid>
      <description>&lt;p&gt;Save your whole conversation to a text file in one command.&lt;/p&gt;

&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Exports the current conversation as plain text. With a filename argument, writes directly to that file; without, opens a dialog to copy to clipboard or save.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;A colleague asked how you fixed the flaky test. Rather than rewriting the story, you export the conversation and drop it in a Slack thread.&lt;/p&gt;

&lt;p&gt;Learn more at &lt;a href="https://aguilera.ee/blog" rel="noopener noreferrer"&gt;aguilera.ee/blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>learning</category>
      <category>programming</category>
    </item>
    <item>
      <title>Learn Claude Code: /agents</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Mon, 15 Jun 2026 21:40:50 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-agents-55k4</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-agents-55k4</guid>
      <description>&lt;p&gt;Open the subagent manager to create, edit, and wire up the helpers Claude delegates work to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Opens the subagent manager — the same configuration surface that lists every subagent Claude can delegate side-tasks to (built-in, project-scoped, and user-scoped) and lets you create or edit one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;You realized that every time you ask Claude for "a fresh second opinion" on your code, you'd like a dedicated code-reviewer subagent that always runs against &lt;code&gt;main&lt;/code&gt;. You open &lt;code&gt;/agents&lt;/code&gt; and add a project-scoped one.&lt;/p&gt;

</description>
      <category>claude</category>
      <category>ai</category>
      <category>learning</category>
      <category>agents</category>
    </item>
    <item>
      <title>AI and Creativity</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Fri, 12 Jun 2026 18:30:04 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/ai-and-creativity-39a9</link>
      <guid>https://dev.to/aguilera_ee/ai-and-creativity-39a9</guid>
      <description>&lt;p&gt;If you share something AI generated which you didn't read, why should someone else?&lt;/p&gt;

&lt;p&gt;I'm in favor of using AI as a creative tool, using it as an enhancer rather than a substitute of your own thoughts.&lt;/p&gt;

&lt;p&gt;I don't ask if he likes a color&lt;br&gt;
I don't ask it to create ideas. I have the ideas, the agent executes.&lt;/p&gt;

&lt;p&gt;I ask AI if my document's structure is coherent.&lt;br&gt;
I ask AI to give me a research outline.&lt;br&gt;
I ask AI to find competitors.&lt;/p&gt;

&lt;p&gt;Make AI a tool for your own creativity.&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>Learn Claude Code: /autofix-pr</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Thu, 11 Jun 2026 20:55:14 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-autofix-pr-260f</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-autofix-pr-260f</guid>
      <description>&lt;p&gt;Hand your PR to a web session that watches CI and reviews — and pushes fixes while you're away.&lt;/p&gt;

&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Spawns a Claude Code on the web session that watches the PR for the current branch and pushes fixes whenever CI fails or a reviewer leaves a comment. Optionally takes a prompt to scope the fixes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;You opened a PR right before lunch. While you eat, you'd like ESLint failures and review nits to fix themselves so the PR is mergeable when you get back.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>learning</category>
    </item>
    <item>
      <title>Learn Claude Code: /rewind</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Tue, 09 Jun 2026 22:00:00 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-rewind-23dn</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-rewind-23dn</guid>
      <description>&lt;p&gt;Roll back code &lt;em&gt;and&lt;/em&gt; conversation to an earlier checkpoint when things go sideways.&lt;/p&gt;

&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Rewinds code &lt;em&gt;and&lt;/em&gt; conversation to an earlier checkpoint, or summarizes the conversation starting from a selected message. Aliases: &lt;code&gt;/checkpoint&lt;/code&gt;, &lt;code&gt;/undo&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;Three turns ago everything compiled. Then Claude refactored a helper and now nothing builds. You roll back to before the refactor and approach it differently.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>code</category>
      <category>learning</category>
    </item>
    <item>
      <title>Learn Claude Code: /security-review</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Tue, 09 Jun 2026 19:25:56 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-security-review-4050</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-security-review-4050</guid>
      <description>&lt;p&gt;Catch injection, broken auth, and secret leaks before your PR does.&lt;/p&gt;

&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Reads the diff on the current branch and flags security risks — injection, broken auth, secret exposure, unsafe deserialization, dependency vulns surfaced in the diff, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;You're about to open a PR that touches authentication. You want a security-focused pass before reviewers do.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>claudecode</category>
      <category>security</category>
    </item>
    <item>
      <title>Learn Claude Code: /powerup</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Thu, 04 Jun 2026 21:30:57 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-powerup-2k6o</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-powerup-2k6o</guid>
      <description>&lt;p&gt;Short, animated, interactive lessons that demo Claude Code features — a built-in tour.&lt;/p&gt;

&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Opens short, animated, interactive lessons that demo specific Claude Code features. Like a built-in tour.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;You've been using Claude Code for months but never touched plan mode, goals, or hooks. You spend ten minutes flipping through the lessons to find what you've been missing.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>learning</category>
      <category>claude</category>
      <category>claudecode</category>
    </item>
    <item>
      <title>Learn Claude Code: /insights</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Wed, 03 Jun 2026 16:15:48 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-insights-40l3</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-insights-40l3</guid>
      <description>&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Produces a report on your Claude Code usage patterns: which projects, which tools, what areas of code you've been editing, where you hit friction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;Quarter wrap-up. You want a quick objective look at where your Claude-assisted time actually went before writing a self-review.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt; ~/code/api  &amp;gt;&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;/insights
&lt;span class="go"&gt;
   Last 30 days
   ──────────────────────────────────────────────
   Sessions             142
   Top projects         api (61%), web (24%), infra (9%)
   Top tools            Edit, Bash, Read
   Common friction      • test flakiness in tests/checkout
                        • repeated `gh pr view` permission prompts
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>claude</category>
      <category>ai</category>
      <category>vibecoding</category>
      <category>learning</category>
    </item>
    <item>
      <title>Learn Claude Code: /branch</title>
      <dc:creator>Eduardo Aguilera</dc:creator>
      <pubDate>Tue, 02 Jun 2026 20:30:39 +0000</pubDate>
      <link>https://dev.to/aguilera_ee/learn-claude-code-branch-2e3e</link>
      <guid>https://dev.to/aguilera_ee/learn-claude-code-branch-2e3e</guid>
      <description>&lt;h2&gt;
  
  
  /branch forks the conversation
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Description
&lt;/h2&gt;

&lt;p&gt;Forks the &lt;em&gt;conversation&lt;/em&gt; at the current point so you can explore an alternative path without losing the original. Switches you into the fork; the original is recoverable with &lt;code&gt;/resume&lt;/code&gt;. Alias: &lt;code&gt;/fork&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use case
&lt;/h2&gt;

&lt;p&gt;Claude proposed a clean refactor, but you want to see what happens if you ask it to take a totally different angle, without throwing away the conversation that produced the clean one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Example
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; the OOP refactor looks good, let's keep it

&amp;gt; /branch

  ⎇ Branched conversation.
    The original is preserved — return any time with /resume.

&amp;gt; now try the opposite: rewrite the handler as a pipeline of pure functions

  ⏺ Sure — here's a functional take on the same handler…
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ai</category>
      <category>claude</category>
      <category>claudecode</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
