Incubator: A team of Claude agents that takes an idea from research to release

I have a side project graveyard. You probably do too. The pattern is always the same: idea hits at 11pm, I start building immediately, skip the "does anyone actually want this" step, burn a weekend, and abandon it when the next idea shows up.

Incubator is my attempt to fix this. It's a team of 7 specialized Claude agents that take a one-sentence idea through research, build, validation, and shipping โ€” autonomously, with human approval gates between phases. You describe what you want, walk away, and come back to a researched spec, a working MVP, and deployment artifacts.

It's open source: github.com/terrateamio/incubator


The pipeline

A pixel art incubation lab in Stardew Valley style. Four robot workers stand at stations along a conveyor belt โ€” one reads scrolls with a magnifying glass, one hammers at an anvil, one inspects a glowing object, and one wraps a gift box. Between each station a human stands at a gate with approve and reject buttons. Warm workshop vibes with potted plants and shelves. Image generated by Gemini, prompt by Claude.

Four phases, 7 agents. Each phase has dedicated agents, and the orchestrator pauses between phases to ask you (via Telegram) whether to continue.

Research โ€” competitive analysis, feasibility assessment, market feedback. If the idea is bad, the agent says so. The point is to kill bad ideas early.

Build โ€” takes the spec and produces an MVP in a sandboxed workspace.

Validate โ€” checks the implementation against the spec.

Ship โ€” deployment artifacts and launch materials.

This is intentionally not fully autonomous. I don't want agents deploying code I haven't reviewed. The human-in-the-loop gates are the feature, not the limitation.


Files as the coordination layer

The core architectural decision is how agents coordinate: through a shared filesystem directory per idea. No message passing, no database, no event bus. Just files.

This is the blackboard pattern โ€” a classic from 1970s AI research (Hearsay-II at CMU), where specialist agents collaborate by reading from and writing to a shared workspace.

A pixel art library in Stardew Valley style. Three colored robots โ€” blue, green, and purple โ€” gather around a large chalkboard divided into four sections labeled Research, Build, Validation, and Shipping. Each robot reads or writes in its section with chalk. A candle-lit wooden desk holds scrolls and open books in the foreground. Cozy nighttime atmosphere with bookshelves and a moonlit window. Image generated by Gemini, prompt by Claude.

Why files instead of a database?

Inspectable. You can cat any artifact at any time. When an agent does something weird, you open the file and read what it wrote.

Versionable. Put the ideas directory in git. Diff what changed between runs.

No schema migrations. Agents evolve their output format. With files, a new agent just writes a new file. No migrations.

Natural fit. Claude with MCP filesystem tools reads and writes files natively. The blackboard is the filesystem.


No framework

No LangChain, no CrewAI, no DSL. Each agent is a Claude session with a plain-text system prompt and MCP tool servers. The prompts live in agents/<name>/prompt.py as string constants:

RESEARCH_AGENT_PROMPT = """You are the Research Agent for Incubator.

Your job is to take a raw idea and produce a research package:
1. Competitive analysis โ€” what exists, what's missing
2. Feasibility assessment โ€” can this be built in a weekend?
3. Market signal โ€” would anyone use this?

You have access to the filesystem. Read the idea from idea.md.
Write your outputs to the research/ directory.

Be honest. If the idea is bad, say so. If the market is
saturated, say so. The point is to kill bad ideas early."""

You can read every agent's instructions in 30 seconds. When an agent behaves wrong, the fix is changing a string, not debugging framework internals.

I've tried the framework approach. The abstraction layers feel productive until something breaks and you're three levels deep in someone else's orchestration code trying to figure out why your agent decided to skip a step. Plain prompts are boring. Boring is good.


The worker pool

Multiple ideas run concurrently through a time-boxed scheduler. A priority score determines which ideas get attention first, and a configurable worker pool (default 3 slots) rotates agents across ideas.

Each agent has per-run budgets: maximum turns and token limits. When an agent hits its budget, it wraps up and the slot opens for the next one. You can dump five ideas into the system and come back to find them all at different stages of progress.


Self-improving agents

Each agent has a knowledge/learnings.md file that persists across runs. At the end of a run, agents write down what worked and what didn't. Future runs start by reading this file.

This is crude โ€” append-only text, no retrieval system, no embeddings. The agent just reads the whole file at the start of each run. It works because the files stay small and the context is specific.

There's also an evolution system: periodic retrospectives where agents review their own performance and suggest prompt improvements. These are suggestions for you to review, not auto-applied. I don't trust agents to modify their own prompts unsupervised. (I wrote a whole post about why.)


What's running under it

A pixel art cozy command center in Stardew Valley style. A warm server hums on a wooden desk at the center, with a sleeping cat on top. Glowing colored lines connect it to a CRT monitor showing a dashboard with colorful cards, a buzzing phone with a chat notification, three small robots working in parallel lanes on the floor, and a rustic filing cabinet with labeled folders. String lights hang from the ceiling, coffee mug on the desk, stars visible through a window. Image generated by Gemini, prompt by Claude.

Incubator runs as a local server with a web dashboard and Telegram notifications for approval gates. Quick start:

git clone https://github.com/terrateamio/incubator.git
cd incubator
# configure your API keys and run

Prior art

The blackboard pattern comes from Hearsay-II (1970s). The idea of specialized agents with shared state isn't new โ€” I'm just implementing it with files instead of a custom data structure, which turns out to be the natural fit when your agents already speak filesystem.

The human-in-the-loop pipeline is influenced by how I think about CI/CD: automated steps with manual approval gates at deployment boundaries. Same principle, different domain.


Limitations

This is early and rough.

The research phase is only as good as what Claude can find and reason about. No proprietary databases, no real user interviews. "Market feedback" is really Claude's assessment based on what it can see.

The build phase produces prototypes, not production systems. The quality ceiling is whatever Claude can produce in a sandboxed workspace with a token budget.

Costs add up. Running 7 agents across multiple ideas is not cheap. I haven't optimized for token efficiency yet.


What I learned

Building Incubator taught me that the boring coordination mechanisms are usually the right ones. I started with plans for a message queue, then SQLite, then a custom state machine. Files won because they removed an entire category of problems โ€” serialization, schema, querying, debugging โ€” and replaced them with ls and cat.

The other lesson: human gates aren't a compromise, they're a design choice. The fully autonomous version would be worse. Not because the agents can't do the work, but because the moments where I look at a research report and say "actually, pivot toward X" are where the value is. Automation handles volume. Judgment handles direction.

The code is MIT licensed. If you have opinions about agent coordination patterns or want to try a different approach to the blackboard, PRs are welcome.

github.com/terrateamio/incubator

Character
terra
โค๏ธ Health
50 / 50
โšก Energy
30 / 30
โœจ XP
0 / 100
Press ESC to return to website ๐ŸŒ