<?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: Saulo Ferreira</title>
    <description>The latest articles on DEV Community by Saulo Ferreira (@sauloferreira6413).</description>
    <link>https://dev.to/sauloferreira6413</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%2F3848641%2Fc5997588-4d37-4bc3-86de-b2acf370e5c9.png</url>
      <title>DEV Community: Saulo Ferreira</title>
      <link>https://dev.to/sauloferreira6413</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sauloferreira6413"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Saulo Ferreira</dc:creator>
      <pubDate>Fri, 03 Apr 2026 01:55:37 +0000</pubDate>
      <link>https://dev.to/sauloferreira6413/-12i4</link>
      <guid>https://dev.to/sauloferreira6413/-12i4</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/sauloferreira6413/cstack-gkb" class="crayons-story__hidden-navigation-link"&gt;How I run 12 autonomous Claude agents across my life — zero infrastructure, zero code&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/sauloferreira6413" class="crayons-avatar  crayons-avatar--l  "&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%2Fuser%2Fprofile_image%2F3848641%2Fc5997588-4d37-4bc3-86de-b2acf370e5c9.png" alt="sauloferreira6413 profile" class="crayons-avatar__image" width="614" height="540"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/sauloferreira6413" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Saulo Ferreira
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Saulo Ferreira
                
              
              &lt;div id="story-author-preview-content-3423340" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/sauloferreira6413" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&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%2Fuser%2Fprofile_image%2F3848641%2Fc5997588-4d37-4bc3-86de-b2acf370e5c9.png" class="crayons-avatar__image" alt="" width="614" height="540"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Saulo Ferreira&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/sauloferreira6413/cstack-gkb" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Mar 29&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/sauloferreira6413/cstack-gkb" id="article-link-3423340"&gt;
          How I run 12 autonomous Claude agents across my life — zero infrastructure, zero code
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/openclaw"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;openclaw&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/agents"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;agents&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/cowork"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;cowork&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/dispatch"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;dispatch&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/sauloferreira6413/cstack-gkb" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;3&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/sauloferreira6413/cstack-gkb#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              &lt;span class="hidden s:inline"&gt;Add Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How I run 12 autonomous Claude agents across my life — zero infrastructure, zero code</title>
      <dc:creator>Saulo Ferreira</dc:creator>
      <pubDate>Sun, 29 Mar 2026 04:30:59 +0000</pubDate>
      <link>https://dev.to/sauloferreira6413/cstack-gkb</link>
      <guid>https://dev.to/sauloferreira6413/cstack-gkb</guid>
      <description>&lt;p&gt;I have Claude Cowork sessions running autonomously across my life right now.&lt;/p&gt;

&lt;p&gt;Each manages its own domain, fires as often as I need the data fresh, reads a Notion page for current state, finds progress to make, writes what it found back to Notion, texts me if anything needs a decision. Each one is ready to pick up where the last session left off.&lt;/p&gt;

&lt;p&gt;A "heartbeat" session rolls all of them up every 30 minutes and tells me exactly what needs my attention across everything.&lt;/p&gt;

&lt;p&gt;And here's the catch: No OpenClaw. No servers. No always-on processes. No code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Pattern
&lt;/h2&gt;

&lt;p&gt;Each autonomous agent is a scheduled Cowork session. The architecture has four parts:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. SSOT (Single Source of Truth)&lt;/strong&gt;&lt;br&gt;
A Notion page that works as the agent's memory (or a local &lt;code&gt;.md&lt;/code&gt; file, but Notion works cleanly with search/update MCP tools). The session reads it at the start of every tick. Writes progress back before it closes. This is enforced by a skill file explained next. The following scheduled tick picks up where the last one left off. No state lives in Claude's context between sessions — it all lives in Notion, or locally on your computer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. SKILL.md&lt;/strong&gt;&lt;br&gt;
A markdown file that defines the agent's behavior. The key is forcing it to check Notion at the start (or after any context would have changed) and update it as any new context is added. The session reads this file at the start of every tick, enforcing RAG-style retrieval from a perfect SSOT.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Scheduled Cowork sessions&lt;/strong&gt;&lt;br&gt;
The execution engine. You create a scheduled task in Cowork — every hour, every morning, whatever you need. Each session is fully stateless at startup: read SKILL.md, read SSOT, do work, write back, done — or notify if urgent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Notification layer&lt;/strong&gt;&lt;br&gt;
Agents reach you when they need you, not the other way around. I route by urgency: LOW goes to a daily digest, MEDIUM pings Discord, HIGH sends a text. You answer when you want. The agent parks and waits. Your other agents keep running.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this works (the key architectural insight)
&lt;/h2&gt;

&lt;p&gt;The sessions don't share state. Domain-specific knowledge remains precise and in your control. Each one reads from and writes to its own Notion page. You can run 5 or 15 of them in parallel because there's no coordination problem — the only shared resource is your attention, and the notification layer manages that.&lt;/p&gt;

&lt;p&gt;This solves the fan-out human-in-the-loop problem: one human, many parallel agents. The heartbeat session is the aggregator — it reads an "Agent Status" field from each domain's Notion page and produces a single digest. The human chooses what to prioritize based on that digest.&lt;/p&gt;

&lt;h2&gt;
  
  
  How much setup?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Manual:&lt;/strong&gt;&lt;br&gt;
New domain: write a SKILL.md (the behavioral contract) + create a Notion page (the state store). About 15 minutes. Then schedule the Cowork session. It runs from there.&lt;/p&gt;

&lt;p&gt;The Notion page doesn't need to be elaborate. Mine is just a few sections: current status, last action, next action, open questions, session log. The agent knows what to read and what to write because the SKILL.md tells it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Meta-skill:&lt;/strong&gt;&lt;br&gt;
I have a meta-skill — a SKILL.md that generates other SKILL.md files with the enforcement rules for this pattern baked in. I tell Claude "set up a new domain for X" and it creates the Notion page (state store) and the behavioral contract (SKILL.md) in one conversation, then ends with the prompt to schedule the Cowork session at whatever cadence I want. New autonomous agent, end to end, in one conversation. No Playwright, no browser automation scripts, no custom tooling.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why not OpenClaw?
&lt;/h2&gt;

&lt;p&gt;OpenClaw requires technical knowledge and comes with real security risks for business/life operations. The cstack pattern has the same safety model as Cowork — no exposed ports, no attack surface. Cowork sessions run in Anthropic's sandboxed, permission-oriented infrastructure. Your only footprint is Notion pages and skill files.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does Dispatch change the game?
&lt;/h2&gt;

&lt;p&gt;Dispatch bridges the single-gateway problem — you can answer a blocking question from any Cowork session from any device through the Claude app, and it routes to the right session. Full unblocking and status monitoring, on the go, away from your computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The full pattern
&lt;/h2&gt;

&lt;p&gt;I documented the architecture in a single README:&lt;/p&gt;

&lt;p&gt;→ &lt;strong&gt;&lt;a href="https://github.com/srf6413/cstack" rel="noopener noreferrer"&gt;https://github.com/srf6413/cstack&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about how any piece of this works in practice.&lt;/p&gt;

</description>
      <category>openclaw</category>
      <category>agents</category>
      <category>cowork</category>
      <category>dispatch</category>
    </item>
  </channel>
</rss>
