<?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: Solo AI Lab</title>
    <description>The latest articles on DEV Community by Solo AI Lab (@soloailab).</description>
    <link>https://dev.to/soloailab</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%2F3876535%2F40f945d3-e39d-4230-8495-7c9241cd5e7f.png</url>
      <title>DEV Community: Solo AI Lab</title>
      <link>https://dev.to/soloailab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/soloailab"/>
    <language>en</language>
    <item>
      <title>I Turned 3 Days of Content Work Into 25 Minutes With Claude Code</title>
      <dc:creator>Solo AI Lab</dc:creator>
      <pubDate>Mon, 13 Apr 2026 12:56:50 +0000</pubDate>
      <link>https://dev.to/soloailab/i-turned-3-days-of-content-work-into-25-minutes-with-claude-code-1mdp</link>
      <guid>https://dev.to/soloailab/i-turned-3-days-of-content-work-into-25-minutes-with-claude-code-1mdp</guid>
      <description>&lt;p&gt;Last Tuesday, 10:47 PM. I was staring at a blog post I had finished and published four hours earlier. Now I needed the same idea as a podcast script, a Twitter thread, a YouTube description with chapter markers, and a long-form community article.&lt;/p&gt;

&lt;p&gt;Same thought. Five different shapes.&lt;/p&gt;

&lt;p&gt;Each platform had its own quirks. One banned markdown bold. One ate tables. One wanted ①②③ instead of numbered lists. One needed a 140-character blockquote at the top.&lt;/p&gt;

&lt;p&gt;I had been at it for two hours. I had six more to go. Outside, everyone was asleep.&lt;/p&gt;

&lt;p&gt;I closed the laptop. Opened it again. And whispered the question that had been sitting in my head for months: &lt;em&gt;why am I doing this by hand at all?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That was the night I stopped scheduling my content and started writing it in a single command.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Turn
&lt;/h2&gt;

&lt;p&gt;The commercial automation tools had all failed me. Zapier could schedule, but couldn't write. Make.com could route files, but couldn't hold a voice. Custom GPTs could draft, but forgot my rules every conversation.&lt;/p&gt;

&lt;p&gt;The missing piece wasn't orchestration. It was &lt;em&gt;memory&lt;/em&gt;. A system that knew my voice, my platform quirks, and my session-over-session lessons — and applied them to every new topic without being reminded.&lt;/p&gt;

&lt;p&gt;Then Claude Code arrived. And I realized the memory I needed was already sitting in my project directory. I just had to put it in the right files.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Three-Layer Architecture
&lt;/h2&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2Facvmg8iee7lf6u2fuc9y.png" class="article-body-image-wrapper"&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%2Farticles%2Facvmg8iee7lf6u2fuc9y.png" alt="Three stacked layers labeled Constitution, Meta-Prompt, and Skills, with a single command arrow running through all three." width="700" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The system has three layers. Strip any of them out and the whole thing collapses back into generic LLM output.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 1: The constitution
&lt;/h3&gt;

&lt;p&gt;A file at the project root called &lt;code&gt;CLAUDE.md&lt;/code&gt;. Claude Code reads it on every session. This is where the non-negotiables live:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice rules: first person, no markdown bold, numbered lists use ①②③&lt;/li&gt;
&lt;li&gt;Banned words: the phrases that make writing sound like AI&lt;/li&gt;
&lt;li&gt;Platform quirks: no tables here, emoji-heavy there, H3 max somewhere else&lt;/li&gt;
&lt;li&gt;Lessons learned: every time I catch a mistake, it gets added to the file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The constitution grows. When the system makes a mistake, I fix the file, not the output. The pipeline gets smarter across sessions without any retraining.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 2: The meta-prompt
&lt;/h3&gt;

&lt;p&gt;A second file defines the pipeline as twelve stages — C1 through C12. Each stage has a clear input, output, and set of rules:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## C3: Podcast script&lt;/span&gt;

Input: 02_outline.md
Output: 03_podcast_script_draft.md
Target length: 3,000–3,500 characters
Rules: follow CLAUDE.md voice rules
Close with "Until next time."
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The meta-prompt is the shape of the work. When I ask Claude to run C3, it knows exactly what to produce.&lt;/p&gt;

&lt;h3&gt;
  
  
  Layer 3: Skills and scripts
&lt;/h3&gt;

&lt;p&gt;The third layer touches the outside world. Claude Code supports skills — packaged sub-agents with their own frontmatter and tools. Mine include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A fact-check skill that runs parallel web searches on every claim&lt;/li&gt;
&lt;li&gt;An image-check skill that compares generated images against their prompts&lt;/li&gt;
&lt;li&gt;A podcast-optimization skill built from retention research&lt;/li&gt;
&lt;li&gt;A trend-scout skill that surveys social platforms for topic ideas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alongside the skills sit PowerShell glue scripts. They handle clipboard copying for platforms that refuse markdown uploads. They push WordPress drafts. They convert markdown to HTML for community sites. Claude calls them when a task leaves the LLM sandbox.&lt;/p&gt;

&lt;p&gt;Three layers. Plain markdown files and small scripts. No external orchestrator. No hidden pipeline. No "automation platform" subscription.&lt;/p&gt;

&lt;h2&gt;
  
  
  One Walkthrough
&lt;/h2&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2Fh7h6wbinzzonlmwnavb8.png" class="article-body-image-wrapper"&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%2Farticles%2Fh7h6wbinzzonlmwnavb8.png" alt="Horizontal timeline: a topic enters the pipeline, passes through stages C1 through C12, and emerges as fourteen files across seven channels." width="700" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is what happens when I run it.&lt;/p&gt;

&lt;p&gt;I open Claude Code in my project directory and type: &lt;em&gt;Run C1 through C12 for today's topic.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C1 — Research.&lt;/strong&gt; Claude runs parallel web searches. Pulls top articles. Finds the missing angle. Writes &lt;code&gt;01_research_brief.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C2 — Outline.&lt;/strong&gt; Section by section: hook, three main points, objections, call to action.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C3 — Podcast script.&lt;/strong&gt; 3,500 characters in my voice. Opens with a 30-second hook. Banned phrases filtered automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C3.5 — Fact-check.&lt;/strong&gt; The fact-check skill scans the script for numerical claims, product names, and exaggerated statements. It runs searches in parallel. Discrepancies come back as a table. I approve the fixes. The file is renamed from &lt;code&gt;_draft&lt;/code&gt; to &lt;code&gt;_revised&lt;/code&gt; — a rule that lives in &lt;code&gt;CLAUDE.md&lt;/code&gt;, so future me knows which scripts have been verified.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C4 — Blog post.&lt;/strong&gt; Two files. One plain text for WordPress. One with &lt;code&gt;[IMAGE: scene/XXX.png]&lt;/code&gt; tags at every heading. Producing only one file is a "constitutional violation." The constitution literally says so.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C5 — Image prompts.&lt;/strong&gt; One prompt per scene, in consistent art direction. Every prompt begins with a style anchor to prevent drift.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C6 through C12.&lt;/strong&gt; Blog export variants. Twitter thread with &lt;code&gt;### Tweet N&lt;/code&gt; markers. YouTube description with chapter markers pulled from an audio label file. Long-form community article in a GIVE-first tone.&lt;/p&gt;

&lt;p&gt;Total wall time: about 25 minutes. Files produced: typically 14. Manual typing on my part: one prompt at the start and a few approval clicks along the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why It Doesn't Break
&lt;/h2&gt;

&lt;p&gt;People build pipelines like this all the time. Most collapse in a few weeks. Here is why this one doesn't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Memory lives in files, not in the model.&lt;/strong&gt; The voice rules, the platform quirks, the session lessons all sit in &lt;code&gt;CLAUDE.md&lt;/code&gt; in the repo. The LLM doesn't remember anything. It reads fresh every session. When something changes, I change the file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skills are first-class.&lt;/strong&gt; Each skill has its own frontmatter, its own tools, its own scope. Fact-check logic doesn't pollute podcast-writing logic. I can upgrade any skill without touching the others.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-in-the-loop at the right places.&lt;/strong&gt; I don't review every stage. I review two: after fact-check, and after image generation. Everything else runs unattended. Choosing checkpoints carefully is the difference between a helpful tool and an interrupt machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Failure is promoted to policy.&lt;/strong&gt; When I spot an AI-sounding phrase, I don't just fix the output. I add the phrase to the banned list in the constitution. Next session it can't happen. Every mistake compounds into a smarter system instead of a bigger correction queue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2F94e21rz2q70rp7ecle7z.png" class="article-body-image-wrapper"&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%2Farticles%2F94e21rz2q70rp7ecle7z.png" alt="Side-by-side comparison: 3 days manual on the left, 25 minutes automated on the right." width="700" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before the pipeline: one topic took the better part of three working days.&lt;/p&gt;

&lt;p&gt;After: 25 minutes of LLM wall time plus about 10 minutes of my own approval clicks.&lt;/p&gt;

&lt;p&gt;I have run this for dozens of topics by now. Quality has climbed, because every session's mistakes get promoted into the constitution. And because everything is files, the pipeline scales horizontally. I run multiple topics in parallel Claude Code sessions, each in its own folder, sharing the same constitution and skills.&lt;/p&gt;

&lt;p&gt;The marginal cost of another piece of content has effectively gone to zero.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start Small
&lt;/h2&gt;

&lt;p&gt;This is overkill if you publish once a week to one platform. It makes sense when you run at least three distinct channels and your voice is non-negotiable.&lt;/p&gt;

&lt;p&gt;If that's you, start tiny. Write a &lt;code&gt;CLAUDE.md&lt;/code&gt; with your top five voice rules. Define one stage — just podcast script, or just blog post. Iterate from there. Add a stage every time you catch yourself doing manual work twice. In a month you will have something you would be proud to ship.&lt;/p&gt;

&lt;p&gt;The lesson I would distill from all of it: stop fitting your workflow into a prompt. Start treating your project directory as the workflow.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post is part of **Solo AI Lab&lt;/em&gt;* — a field journal of one-person media pipelines, Claude Code experiments, and AI-assisted creative workflows. If you're building something similar, follow along. I publish every time I ship a new layer.*&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>ai</category>
      <category>productivity</category>
      <category>contentcreation</category>
    </item>
  </channel>
</rss>
