AI-generated summary of Building a software factory entirely on a Claude subscription, Pierson Marks. Not written or verified by the author.
Takeaways: Building a software factory entirely on a Claude subscription
2026-07-09 · Source: https://www.piersonmarks.com/posts/building-a-software-factory · Pierson Marks
Gist
Marks describes a "duct-taped" software factory that runs on his existing Claude Code subscription, with Linear as the work queue. Phase one, pre-triage, is scheduled Claude Code Cloud Routines that find work and file it in Linear. Phase two, implementation, starts when an auto label on a Linear issue fires a remote Claude Code session that does the issue and opens a PR.
His design goals: simple, no babysitting, and it fits habits he already has. A system that forces habit change "will fade into irrelevance." That's from his experience, no data.
No results reported. No run counts, PR counts, success rates, cost, or usage numbers. Browser verification is "hopefully" working. Everything below is his claim, not checked here.
Takeaways
- Two phases. "Pre-triage (i.e. figuring out the stuff 'to do'), and implementation (actually 'doing' the stuff)." Seams: create work → store work → complete work.
- One central work store. Linear is "the source of truth." GitHub issues works too. Use one you already use.
- Start with one loop. He recommends against building both phases at once "to avoid over-engineering." Try one loop, refine it, then add more.
- Pre-triage alone pays. He says it gives "a lot of leverage" even without the implementation phase.
Pre-triage loops
| Loop | Schedule | Inputs | Output |
|---|---|---|---|
| System health (bug finder) | Daily 5am | PostHog errors, Vercel diagnostics | Linear issues |
| UX and customer feedback | Mondays 9am | New feedback, Intercom/Fin support chats, every PostHog session replay | Linear issues |
| Churn analysis | Daily 6am | Each customer who clicked cancel in the last 24h: Stripe payment and user data, their PostHog replay, Supabase usage | Slack report. Creates or comments on Linear issues to bump priority |
- Session replays are "a goldmine": rage clicks, users "struggling and confused."
- Churn loop checks for three causes: wrong ICP, never hit the "wow" moment, or hit bugs.
Why Cloud Routines
- Picked over a Hetzner VPS or "a caffeinated mac mini" as the easiest way to run always-on agents, on a schedule or a webhook, on an existing subscription.
- Lock-in answer: the routine is "literally just some text." Copy the prompt elsewhere.
- Claimed close parity with local Claude. Env vars must go in the cloud environment setup.
- MCP connectors set up in the Desktop App work for both local CLI and remote Claude, "unlike Codex." He calls it "the killer feature," what makes the pre-triage loops possible. Unverified.
- Parallel sessions don't load your laptop's memory.
Implementation trigger
- A human adds the
autolabel to a Linear issue. That's the human-in-the-loop default. Pre-triage agents could add it themselves. - Linear's webhook hits a new internal Hono app, a public API, which parses the event.
- The app POSTs to Anthropic's routine-fire API (
platform.claude.com/docs/en/api/claude-code/routines-fire) with an initial prompt.
The middle service exists to add auth headers, "which is why you can't have Linear trigger the routine directly." He doesn't show the failure. Untested alternative: a scheduled routine that polls for unstarted auto issues.
Skill and routine prompt
- One reusable skill for the whole SDLC, named like
/do, so the call is "/do ISSUE-NNN". It covers fetching issue context, implementing, browser verification, opening the PR, and watching for comments. - The routine prompt fetches only that exact issue, stops if it's done or in progress, comments on start, sets "In Progress", updates as it goes, and prefixes every Linear comment with "[Claude]". The issue reference arrives in a follow-up message wrapped in
<routine-fire-payload>. - Claimed result: parallel sessions that implement issues, open PRs, and "hopefully" verify with Playwright or Agent Browser. "Fully observable, runs while you sleep."
Patterns
- a tool that forces new habits gets abandoned ← "will fade into irrelevance"
- separate finding work from doing work, joined by one queue ← "figuring out the stuff 'to do'"
- build one loop end to end before adding more ← "Start small with a single loop"
- a human-set flag gates automation until trust exists ← "add an 'auto' label"
- a thin adapter bridges systems that can't talk directly ← "can't have Linear trigger the routine directly"
- watch real user behavior to find work nobody reports ← "Session replays are a goldmine"
- check whether a task is claimed before starting it ← "already complete or in progress"
- portable plain-text config limits vendor lock-in ← "it's literally just some text"