Generators catalogue
Every fresh install seeds Generator rows at boot (seedGenerators() in
apps/api/src/studio/generators/index.ts), idempotently — restarting the API refreshes their
definitions but never duplicates them. As of 2026-09-28 that is 132 generators, not the eleven
this page once documented: SEED_GENERATORS grew by 38 in a single day of capability promotions
(CAP-1 through CAP-4, LEGAL-3, LEGAL-6, WEEK-1, RECORDS-1 — each promotes one or more declared
cap.* entries from the capability catalogue into a real, runnable generator).
The last eight of those arrived together on 2026-09-21: Council 034 had filed them as
“buildable, lower value, honestly deprioritised” and the owner asked for the catalogue finished, so
a priority call was overruled rather than a prerequisite arriving. Catalogue order below is display
order in the Studio. See Generators for what a Generator actually is
(schema, templating, validation) and how a run differs from a free-text brief.
Every one of these is validated at API boot (assertSeedGeneratorsValid()) against the real
skill catalogue, the contract, and a set of structural rules — see
Generators. All 51 are real, runnable and
reachable today in the Studio’s generator gallery, which reads GET /api/studio/generators rather
than a fixed list — the gallery was never limited to eleven, only this page was.
The original eleven, with a full walkthrough page each
| Generator | Outputs | Pipeline (role → role → …) |
|---|---|---|
| Blog post | markdown | researcher → strategist → writer → editor |
| Research report | markdown, docx | researcher → researcher → analyst → publisher |
| Landing page | react-app | copywriter → designer → engineer → reviewer |
| Full-stack app | fullstack-app | product → architect → engineer → engineer → writer |
| Business plan | docx, markdown | researcher → analyst → analyst → writer → publisher |
| Data analysis | markdown, image, data | data-scientist → data-scientist → analyst |
| Logo and image set | image, markdown | art-director → illustrator → art-director |
| 3D scene | html, scene3d | scene-designer → engineer |
| Email campaign | markdown | researcher → writer → marketer → editor → courier |
| Widget maker | html | designer → engineer |
| Agent crew & pipeline | markdown | researcher → analyst → lead → lead → writer |
The last one is different in kind from the other ten: instead of producing something for you to read or ship, it produces Novaterra itself — agents that exist in your world after the run, and the generator that puts them to work.
The other 38, no individual page yet
These are real generators — seeded, validated at boot, runnable from the Studio exactly like the
eleven above — but this doc set does not yet carry a walkthrough page for each one. That is an
honest gap, not a hidden one: run any of them from the Studio’s generator gallery to see its own
input form and pipeline, or GET /api/studio/generators for the full definition.
| Generator | Outputs | Promoted by |
|---|---|---|
| Document review | pdf, markdown | CAP-1 |
| Form completion | pdf, markdown | CAP-2 |
| Statement of means | data, markdown, pdf | LEGAL-6 |
| Notice that starts a clock | markdown, pdf | LEGAL-6 |
| Request for records | markdown | LEGAL-6 |
| A claim, or a defence to one | data, markdown, pdf | LEGAL-3 |
| An appeal to an authority | markdown, pdf | LEGAL-3 |
| A formal complaint | data, markdown, pdf | LEGAL-3 |
| Agenda | markdown, data | CAP-3 |
| Decision record | markdown | CAP-3 |
| Checklist | markdown, data | CAP-3 |
| Consignment note | markdown, data, pdf | CAP-3 |
| Chronology | markdown, data | WEEK-1 |
| Handover | markdown | WEEK-1 |
| Status report | markdown | WEEK-1 |
| Commissioning brief | markdown, docx | WEEK-1 |
| Register | data, markdown | RECORDS-1 |
| Inventory | data, markdown | RECORDS-1 |
| Document pack | zip, markdown | RECORDS-1 |
| Translation | markdown | RECORDS-1 |
| Audio narration | data, markdown | RECORDS-1 |
| Draft prescription | pdf, markdown, data | CAP-4 |
| Social content set | markdown, image | CAP-4 |
| Proposed meeting times | markdown, data | earlier wave (scheduling) |
| Meeting notes | markdown | earlier wave |
| Slide deck | html, zip | earlier wave |
| Pitch deck | html, zip | earlier wave |
| Proposal | docx, markdown | earlier wave |
| Invoice | pdf, markdown, html | earlier wave (δ2) |
| Estimate | pdf, markdown, html | earlier wave (δ2) |
| Budget | data, markdown | earlier wave (δ2) |
| Timesheet | data, markdown, text, pdf | earlier wave (δ2) |
| Logbook | data, markdown | earlier wave (δ2) |
| Press release | markdown, docx | earlier wave |
| CV | docx, markdown | earlier wave |
| Job description | markdown, docx | earlier wave |
| Module maker | markdown | earlier wave (builds a Place, not a document) |
| Device program | code, markdown | earlier wave (esp32; verified by the device’s own reply, not the toolchain) |
Draft prescription is built deliberately incapable of looking signed — no template slot for a
signature and no field for a registration number — because cap.prescription itself can never be
promoted past that: the authority to prescribe belongs to a licensed prescriber, not a generator.
See apps/api/src/studio/generators/prescription.ts.
There is a wider picture behind these 51: packages/contracts/src/capabilities.ts carries a larger
declared-capabilities catalogue — names the planner can reason about that nothing runs yet — and
capabilityCounts() in that file is the only correct way to read the current built/declared split.
This doc set does not yet have a page for it; a hand-typed number here would go stale the same way
“eleven” did, which is the whole reason that function exists rather than a comment beside it.