You're viewing v1 — the original design (early 2026). Switch back to v2 top-right for what Emi is today.
← Home
03 · The Coding Factory

An idea in.
A deployed product out.

The pipeline that turns specs into shipped software. Skills encode how. The loop runs on every job the resident fleet picks up. Four quality gates on every commit, then an independent review before anything merges. Three contracts at every project root. Same factory, every product.

What v2 changed: same loop, same gates — but it now runs on the resident fleet instead of a per-task scheduled job, and every product ships with three short contract files so a worker always knows the rules before it touches the code.

SKILLS
reusable agent capabilities

Skills are short markdown procedures the agents load when needed. They encode "how Michael wants this done" into something the fleet can reuse across products. A skill is small (a few KB), composable, and version-controlled. A few in active use:

brainstorming writing-plans executing-plans subagent-driven-development finishing-a-development-branch debugging clipping-processor document-skills (docx, pdf) session-routines replit-export-playbook

Skills follow the open agentskills.io standard, so the same skill is portable across different agent tools. A skill loads only when its trigger fires — it doesn't clutter the agent's context the rest of the time.

EVERY PROJECT
three contracts at the repo root v2

Where Skills are cross-project capabilities the fleet brings to any codebase, the three contracts below are the per-project files that ship inside each repo. They tell the factory what THIS product is, what its rules are, what it should look like. Without them, a worker has nowhere to anchor.

CLAUDE.md
Project context
What it is, how it's built, how it deploys. The agent reads this before any work.
AGENTS.md
In-scope vs hands-off
What the autonomous fleet may change, what needs Michael's call. Explicit guard-rails.
DESIGN.md
Visual contract
Colour tokens, typography, layout rules, anti-patterns. Enforced down to the pixel on UI changes.
THE LOOP
five stages — where skills and contracts meet

Skills define how the agents work. The three contracts define what the product is. The Loop is when they meet — five stages that turn an idea into a shipped commit. Every job the resident fleet picks up runs through this loop end-to-end.

01 — BRAINSTORM
Ideas, not yet code
Open-ended exploration. Surface 2-3 approaches with trade-offs. Pick a direction with Michael.
02 — SPEC
Write it down
A design doc captures the problem, the chosen approach, the architecture. Reviewed before code starts.
03 — PLAN
Bite-sized tasks
Spec → plan. Each step is testable, committable, and test-first. No placeholders.
04 — IMPLEMENT
A worker builds it
A worker becomes the Code Builder role, picks one task, writes the failing test, implements the minimum code, commits.
05 — REVIEW + SHIP
Independent review
A fresh reviewer reads the real change against the acceptance criteria. Pass merges to the main branch; concerns hold the commit and ping Slack.
QUALITY GATES
four checks on every commit

Nothing ships without passing four checks. The rule that drives them: a test passing isn't the same as a feature working.

GATE 1
Typecheck
Strict TypeScript / mypy. Every type error blocks the merge. No escapes.
GATE 2
Unit tests
Vitest / pytest, depending on stack. Fail-loud, no skips.
GATE 3
Live smoke
Automated browser tests run against the actual deployed app after every commit. If a real user would hit a broken page, it fails here first.
GATE 4
Screenshot proof
Every affected screen gets a screenshot attached to the commit. Evidence the feature works, not just that the tests say so.
TECH STACK
shared across products
Frontend
React · Next.js · Vite · Tailwind · shadcn/ui
Backend
FastAPI (Python) · Express (Node 24, TypeScript)
Database
Postgres + Drizzle · in-memory + JSON for early builds
Hosting (frontend)
Vercel — preview per PR, prod on merge
Hosting (backend)
Hetzner + Coolify (self-hosted Docker orchestrator)
DNS / Edge
Cloudflare
CI/CD
GitHub Actions — typecheck + build + Docker smoke + audit on every PR
Observability
Sentry · structured logs · Vercel Analytics
AI layer
Claude API — the cheapest capable model picked per task v2
← Home
03 · The Coding Factory

An idea in.
A deployed product out.

The agentic engineering pipeline that turns specs into shipped software. Skills encode how. The loop runs on every resident-fleet dispatch. Four blocking quality gates on every commit, then a fresh-context review before anything reaches master. Three contracts at every project root. Same factory, every product.

SKILLS
reusable agent capabilities

Skills are markdown procedures the agents auto-load when needed. They encode "how Michael wants this done" into something the fleet can reuse across products. A skill is small (a few KB), composable, and version-controlled. A few examples in active use:

brainstorming writing-plans executing-plans subagent-driven-development finishing-a-development-branch debugging clipping-processor document-skills (docx, pdf) session-routines replit-export-playbook

Skills follow the open agentskills.io standard, so the same skill works across Claude Code, Codex, Cursor, OpenCode and other agent harnesses. Skills are loaded only when their trigger fires — they don't pollute the agent's context the rest of the time.

EVERY PROJECT
three contracts at the repo root

Where Skills are cross-project capabilities the fleet brings to any codebase, the three contracts below are the per-project artifacts that ship inside each repo. They tell the factory what THIS product is, what its rules are, what it should look like. Without them a dispatched worker has nowhere to anchor.

CLAUDE.md
Project context
What it is, how it's built, how it deploys. The agent reads this before any work.
AGENTS.md
In-scope vs hands-off
What the autonomous fleet may change, what needs Michael's call. Explicit guard-rails.
DESIGN.md
Visual contract
Color tokens, typography, layout rules, anti-patterns. Pixel-level enforcement on UI PRs.
THE LOOP
five stages — the workflow that consumes both

Skills define how the agents work. The three contracts define what the product is. The Loop is when they meet — five stages that turn an idea into a shipped commit. Every resident-fleet dispatch runs one work-item through this loop end-to-end.

01 — BRAINSTORM
Ideas, not yet code
Open-ended exploration. Surface 2-3 approaches with trade-offs. Pick a direction with Michael.
02 — SPEC
Write it down
A design doc captures the problem, the chosen approach, the architecture. Reviewed before code starts.
03 — PLAN
Bite-sized tasks
Spec → implementation plan. Each step is testable, committable, in TDD shape. No placeholders.
04 — IMPLEMENT
Resident dispatch
A warm-pool worker becomes the code-sprint role, picks one task, writes the failing test, implements minimum code, commits.
05 — REVIEW + SHIP
Soft-gate review
A fresh-context Sonnet reviewer reads the actual diff vs the acceptance criteria. Pass fast-forwards to master; concerns park the commit and ping Slack.
QUALITY GATES
blocking on every commit
GATE 1
Typecheck
Strict TypeScript / mypy. Every type error blocks the merge. No any, no implicit, no escapes.
GATE 2
Unit tests
Vitest / pytest, depending on stack. Fail-loud, no skips.
GATE 3
Live smoke
Automated browser tests run against the actual deployed app after every commit. If a user-facing route breaks in production, it fails here — before any user sees it.
GATE 4
Screenshot proof
Every affected route gets a screenshot attached to the commit. Code-passes ≠ feature-works.
TECH STACK
shared across products
Frontend
React · Next.js · Vite · Tailwind · shadcn/ui
Backend
FastAPI (Python) · Express (Node 24, TypeScript)
Database
Postgres + Drizzle · in-memory + JSON for v1
Hosting (frontend)
Vercel — preview per PR, prod on merge
Hosting (backend)
Hetzner CX23 + Coolify (self-hosted Docker orchestrator)
DNS / Edge
Cloudflare
CI/CD
GitHub Actions — typecheck + build + Docker smoke + audit on every PR
Observability
Sentry · structured logs · Vercel Analytics
AI layer
Anthropic Claude API (Haiku/Sonnet/Opus per task)