Letting an agent generate content in bulk is easy. Letting it do so without shipping garbage is a three-step discipline.
1. Write a SPEC.md
Before any generation, I write a data/*/SPEC.md with the exact schema, the quality bar, and one example skeleton. The spec is what makes "done" checkable — the agent isn't guessing what good looks like, it's matching a defined shape.
2. Generate one pilot batch — and verify it
I have Codex generate a single pilot batch first, and I verify it by hand. This is the cheap checkpoint: if the schema is wrong, the tone is off, or the structure doesn't hold, I find out on one batch, not fifty. Only after the pilot passes do I scale up.
3. Parallel batches, gated by a schema parse
Then the parallel batches run:
codex exec -C <dir> -s workspace-write --skip-git-repo-check "$(cat SPEC-driven prompt)"…backgrounded with nohup. The gate is a strict schema parse (zod) wired into the build: a malformed file fails the build instead of shipping. The build passing is the content validation — I don't need a separate review pass to catch structural breakage.
The honest part
The temptation with a capable agent is to skip straight to "generate everything." Every time I've done that, I've paid for it in a batch of subtly-wrong files that all had to be redone. The pilot batch is the cheapest insurance I know: one verified example before you commit to volume. And a schema parse at the build boundary means the failure mode is a red build, not a quietly broken production dataset. Structure the delegation so the machine catches its own mistakes.