ADR-006 — Pre-configured agent team presets
Context
Today every Tenant gets the full agent roster. provisionAgents() in src/platform/tenants.ts accepts a list of seed slugs, and the onboarding wizard defaults to ticking every department. Sub-agents auto-expand via seedChildrenOf() — pick a department, get its specialists.
That's 28 agent rows per Tenant. The Aroovo Brand → appLockr tenant needs all of them (Aroovo runs every department off the platform), but reseller customers buying from a downstream Brand often don't. Spinning up 28 agents for a customer that uses six is operator-visible UI noise, latent LLM cost, and onboarding cognitive load.
Seed catalogue
- Departments (10):
orchestrator,sales,marketing,success,engineering,product,qa,finance,legal,ops. - Sub-agents (18):
sdr,ae,revops(undersales);growth,brand,content(undermarketing);onboarding,retention,support(undersuccess);fe-dev,be-dev,dev-ops(underengineering);bookkeeping,fpa(underfinance);contracts,compliance(underlegal);people,it(underops).
Decision
Add a Team-Preset selector to the Tenant onboarding wizard. Five role-based presets plus a full-stack option:
| Preset | Best for | Includes |
|---|---|---|
marketing-agency | Marketing agencies reselling content + brand work | marketing → growth, brand, content |
sales-b2b | B2B SaaS resellers focused on outbound | sales → sdr, ae, revops; success → retention |
tech-services | Lean tech-team-as-a-service | engineering → fe-dev, be-dev, dev-ops; product; qa |
ops-coo | Operations / virtual-COO | ops → people, it; finance → bookkeeping |
support-only | Customer-service-only deployments | success → onboarding, retention, support |
full-stack | Aroovo itself (appLockr tenant); large customers | Every department, every sub-agent (28 total). |
Consequences
- Positive. Tenant onboarding is one click + three inputs, not 28 checkboxes. Demo lift — the design-partner motion can pitch a coherent agent bundle without ad-libbing.
- Negative. The preset taxonomy is opinionated; customers wanting an unusual mix have to start from a preset and add/remove. Mitigated by “preset is a starting point” copy in the wizard.
References
Full markdown: adr-006-team-presets.md.
Related: Quickstart, ADR-003 Brand layer.