CLAUDE LABJP
FORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as OctoberFORK — Claude Code 2.1.212 changes what /fork does: it copies your conversation into a new background session with its own row in claude agents, so you can keep working. The old in-session subagent is now /subtaskLIMITS — WebSearch calls are now capped at 200 per session by default, and subagent spawns get the same 200 ceiling, so a runaway search or delegation loop stops on its ownMCPBG — MCP tool calls running past two minutes now move to the background automatically, keeping the session usable. Tune the threshold with CLAUDE_CODE_MCP_AUTO_BACKGROUND_MSPLANFIX — Fixed plan mode auto-running file-modifying Bash commands such as touch and rm without a permission prompt or an SDK canUseTool callbackSONNET5 — Claude Sonnet 5 is running on introductory pricing of $2 per million input tokens and $10 per million output. After August 31 it moves to $3 and $15IPO — Bankers are reportedly lining up investor meetings for Anthropic ahead of a possible public listing as soon as October
Articles/Claude Code
Claude Code/2026-05-29Advanced

Hand Claude Code a One-Line Done-When and Let It Run — Inside My Four-Site Article Pipeline

How I built an E2E-driven article pipeline that runs Claude Code autonomously across four AI blogs, publishing 16 articles per day. The trick is collapsing the done-when into a single Python gate and capping retries at five.

Claude Code196E2EAutonomous AgentSlash CommandQuality Gate2Pipeline2Indie Developer9

Premium Article

I have been shipping iOS and Android apps as an indie developer since 2014. The wallpaper and ukiyo-e apps I run have crossed 50M cumulative downloads, and alongside them I operate four AI engineering blogs: Claude Lab, Gemini Lab, Antigravity Lab, and Rork Lab. The blogs publish 16 articles per day, generated and pushed by Claude Code running unattended. After keeping that loop alive for three weeks straight, I want to write down the E2E-driven design that made it possible.

Why "implemented" and "actually working" are different things

For the first two months, my scheduled task prompt simply said "write one article and push it." It worked, mostly, but three failure modes showed up.

First, Claude Code would report "written and pushed" while the new article never appeared on the site. The culprit was generate-content.mjs at build time, which sometimes failed to pick up newly added MDX. The push completed, but the deployed behavior did not match — exactly the situation the Canly tech blog described with their Slack bot.

Second, voice and tone drifted slowly over time. What started close to my own voice was, six months later, slipping back into "Hope this helps" closings and verbose AI explainer openings. That was not Claude Code's fault. It was mine, for writing a vague done-when. When "make it a good article" is the spec, the model converges on the safest template it knows.

Third, I had no machine check for Helpful Content System risks. Before I wrote article_gate.py, YMYL-adjacent phrasing could slip through, AdMob revenue numbers could be misquoted, and I had to catch all of it by hand afterwards.

These look like three separate problems, but the root cause is one thing: the done-when was never expressed in a form a machine could check.

Collapsing the done-when into one line

Codex's /goal command is built around handing the model a verifiable end state along with the objective, so the model can decide for itself when it is done. The Canly tech blog's /e2e-dev does the same thing — a one-liner <utterance> → <expected response> becomes the spec.

For the Dolice Labs pipeline, the done-when collapses to a single line:

article_gate.py returns exit 0, JA and EN MDX counts match, and premium posts have >= 3 highlights with >= 3 practical-value signals.

Abstract on its own, so article_gate.py makes it concrete. It is a single Python script that takes the JA and EN MDX paths and runs these checks mechanically:

  • Template intros (17 phrases like "this article will introduce") → violation
  • Template closings (7 phrases like "I hope this was helpful") → violation
  • AI explainer markers (9 phrases) appearing 3+ times → violation
  • Plain text written in informal Japanese style → violation
  • Naked URLs outside code blocks → violation
  • Premium posts must clear a 2,000-character sanity floor
  • Premium posts must satisfy 3 of 6 practical-value signal types
  • Premium frontmatter must declare >= 3 highlights
  • Author-specific signals (Hirokawa, 2014, 50M, 17 awards, AdMob, etc.) must appear >= 2 times

The scheduled-task prompt explicitly names the gate as the mandatory pre-push checkpoint. Claude Code no longer stops at "I wrote it." It stops at "the gate said yes."

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
How article_gate.py becomes a one-line done-when handed to Claude Code, keeping 16 articles per day flowing without manual checks.
The five-attempt retry cap with baseline check and gap analysis — and what the numbers look like after three weeks of unattended operation.
A reusable template that maps Codex /goal's Goal / Context / Constraints / Done-when onto Claude Code scheduled tasks.
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

Related Articles

Claude Code2026-06-14
A SubagentStop Hook That Grades Subagent Output and Sends It Back to Be Redone
When a Claude Code subagent occasionally returns rule-breaking work, a SubagentStop hook can grade it automatically and ask for a redo. Here is a working setup with code and field notes.
Claude Code2026-05-24
Putting an Autonomous Librarian on Top of Claude Code × Obsidian — Operating Notes From Running Four Sites Through a Three-Layer Knowledge OS
Starting from Andrej Karpathy's LLM Wiki idea, I redesign a Claude Code × Obsidian autonomous knowledge OS against the actual shape of running four AI tech blogs in parallel. The article covers the three-layer storage, ingest/compile Skills, Dataview monitoring, and a weekly audit job — all sized for real production use.
Claude Code2026-05-24
Five Filters I Use Before Wiring a Claude Code Skill Into My Daily Workflow
Public Claude Code Skills keep multiplying. As an indie developer running four AI tech blogs through Claude Code, I share the filters that decide which Skills stay in my daily workflow — and which ones I quietly remove after a few days.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →