Docs > Creating Domains

Creating Domains

Add industry-specific knowledge overlays to sharpen agent analysis

What Domains Do

Domains are knowledge overlays that enhance agents with industry-specific vocabulary, metrics, frameworks, and reasoning patterns. They do not replace agent definitions — they extend them.

When you activate a domain (e.g., --domain saas), the runtime merges domain-specific enhancements into each agent before the session starts. The Catalyst still thinks like the Catalyst, but now it also knows about ARR, churn rate, and CAC payback periods.

Base Catalyst

"Who will pay for this?"
"What is the fastest path to revenue?"

+

SaaS Domain Overlay

"Quantify impact on ARR or MRR"
"Challenge CAC payback > 18 months"

=

Enhanced Catalyst

"Who will pay for this?"
"What is the fastest path to revenue?"
"Quantify impact on ARR or MRR"
"Challenge CAC payback > 18 months"

Key Concept

Domain values are always appended, never replaced. The agent's base thinking patterns, heuristics, evidence standards, and red lines remain intact. The domain adds to them.

Domain Schema

A complete domain.yaml:

schema: aos/domain/v1                   # Required. Schema identifier.
id: saas                                # Unique domain ID.
name: SaaS Business Context             # Display name.
description: >                          # What this domain adds.
  Domain pack for B2B and B2C SaaS
  businesses. Injects SaaS-specific
  lexicon, metrics, and agent overlays
  for subscription-based software.
version: 1.0.0

lexicon:                                # Industry vocabulary.
  metrics:
    - "ARR — Annual Recurring Revenue"
    - "MRR — Monthly Recurring Revenue"
    - "NRR — Net Revenue Retention"
    - "CAC — Customer Acquisition Cost"
    - "LTV — Lifetime Value"
    - "churn_rate — % customers or revenue lost per period"
  frameworks:
    - "PLG — Product-Led Growth"
    - "sales_led — Enterprise sales motion"
    - "land_and_expand — Start narrow, expand over time"
  stages:
    - "pre_seed — Pre-PMF, team and hypothesis"
    - "seed — Early traction, proving PMF"
    - "series_a — Scaling GTM, $1M-$10M ARR"
    - "growth — Scaling revenue efficiently"
    - "scale — Optimizing unit economics at scale"

overlays:                               # Per-agent enhancements.
  catalyst:
    thinking_patterns:
      - "Quantify impact on ARR or MRR for every opportunity"
      - "Challenge any initiative where CAC payback > 18 months"
    heuristics:
      - name: SaaS Revenue Test
        rule: "Quantify direct impact on ARR or MRR expansion."
      - name: Payback Obsession
        rule: "Challenge any initiative where CAC payback > 18 months."
    evidence_standard:
      convinced_by:
        - "Revenue claims with conversion rate, ACV, and time-to-close"
      not_convinced_by:
        - "Revenue claims without conversion rate assumptions"

  sentinel:
    thinking_patterns:
      - "Treat NRR below 100% as existential"
      - "Assess whether decisions increase or decrease switching costs"
    heuristics:
      - name: NRR Focus
        rule: "Treat NRR below 100% as existential. Flag churn-accelerating decisions."
      - name: Switching Costs
        rule: "Assess impact on customer switching costs."

  architect:
    thinking_patterns:
      - "Evaluate against 10x customer base with same team"
      - "Track ops cost per customer — must decline at scale"
    heuristics:
      - name: Multi-Tenant Scale
        rule: "Evaluate against 10x customers with the same team."

  provocateur:
    thinking_patterns:
      - "Challenge growth projections against SaaS benchmarks"
      - "Model competitor counterfactual for every strategic move"
    heuristics:
      - name: SaaS Base Rate Check
        rule: "Require published benchmark comparison for growth projections."

additional_input_sections:
  - heading: "## Metrics"
    guidance: >
      Current ARR, MRR, NRR, churn rate,
      CAC, LTV, payback period.

additional_output_sections:
  - section: financial_impact
    description: >
      Projected impact on ARR, churn,
      and unit economics for each path.

guardrails:
  - "Revenue projections must state conversion rate, ACV, volume, and time horizon"
  - "Recommendations with churn risk must include churn impact assessment"
  - "Initiatives with CAC payback > 24 months require CFO-level justification"

Lexicon

The lexicon block defines the shared vocabulary that all agents in the session will understand. It has three sub-sections.

metrics — Standard measurements and their definitions. Agents reference these consistently when discussing quantitative data.

frameworks — Industry models and strategies. Agents can reference these by name (e.g., "this is a PLG motion") and all participants share the same definition.

stages — Business lifecycle stages. Agents calibrate their advice based on the company's current stage.

Tip

Use the --domain flag when running a session to activate a domain:

aos run strategic-council --brief brief.md --domain saas

Multiple domains can be activated simultaneously:

aos run strategic-council --brief brief.md --domain saas --domain fintech

Overlays

The overlays block defines per-agent enhancements. Each key is an agent ID, and the value contains the fields to merge.

Overlay-able fields (any or all can be specified per agent):

  • thinking_patterns — Additional questions the agent asks itself
  • heuristics — Additional named decision rules
  • evidence_standard.convinced_by — Additional evidence the agent accepts
  • evidence_standard.not_convinced_by — Additional evidence the agent rejects
  • red_lines — Additional hard limits

You only need to define overlays for agents that benefit from domain-specific enhancement. If an agent does not have an overlay entry, it participates unchanged.

overlays:
  catalyst:
    thinking_patterns:
      - "Quantify impact on ARR or MRR for every opportunity"
    heuristics:
      - name: SaaS Revenue Test
        rule: "Quantify direct impact on ARR or MRR expansion."
    evidence_standard:
      convinced_by:
        - "Revenue claims with conversion rate, ACV, and time-to-close"
      not_convinced_by:
        - "Revenue claims without conversion rate assumptions"

Merge Rules

When a domain is activated, the runtime merges overlay values into agent definitions using these rules:

Field Merge Behavior Example
thinking_patterns Appended to base list Base has 3 + domain adds 2 = 5 patterns
heuristics Appended to base list Base has 4 + domain adds 2 = 6 heuristics
evidence_standard.convinced_by Appended to base list Base accepts 3 + domain adds 1 = 4 total
evidence_standard.not_convinced_by Appended to base list Base rejects 3 + domain adds 1 = 4 total
red_lines Appended to base list Base has 3 + domain adds 1 = 4 red lines

Key Rule

Domain values are always appended, never replaced. This is a core design principle. An agent's base identity is inviolable — domains enhance, they do not override.

When multiple domains are active, overlays from all domains are appended in the order the domains are specified. If both saas and fintech domains define thinking_patterns for the Catalyst, the Catalyst gets both sets appended to its base patterns.

Example: SaaS Domain

Walk through creating a SaaS domain pack from scratch.

Step 1 — Create the directory

mkdir -p core/domains/saas

Step 2 — Define the lexicon

Start with the metrics your agents need to speak fluently:

lexicon:
  metrics:
    - "ARR — Annual Recurring Revenue: annualized subscription contracts"
    - "MRR — Monthly Recurring Revenue: monthly subscription revenue"
    - "NRR — Net Revenue Retention: retained + expanded revenue from existing customers"
    - "CAC — Customer Acquisition Cost: fully loaded cost to acquire one customer"
    - "LTV — Lifetime Value: projected total revenue from a customer"
    - "churn_rate — % of customers or revenue lost per period"
    - "expansion_revenue — Additional revenue from upsell, cross-sell, seat growth"
    - "payback_period — Months of gross margin to recover CAC"
  frameworks:
    - "PLG — Product-Led Growth: product drives acquisition and expansion"
    - "sales_led — Enterprise sales motion drives acquisition"
    - "hybrid_motion — PLG for SMB + sales-led for enterprise"
    - "land_and_expand — Narrow beachhead, expand over time"
  stages:
    - "pre_seed — Pre-PMF; team and hypothesis"
    - "seed — Early traction; proving PMF with a cohort"
    - "series_a — Scaling GTM; $1M-$10M ARR"
    - "growth — Scaling revenue efficiently; building category"
    - "scale — Optimizing unit economics; preparing for IPO/M&A"

Step 3 — Add agent overlays

Think about what each agent needs to know about SaaS. The Catalyst needs revenue metrics. The Sentinel needs churn and retention signals. The Architect needs scalability heuristics.

overlays:
  catalyst:
    thinking_patterns:
      - "For every opportunity, quantify its direct impact on ARR or MRR expansion"
      - "Challenge any initiative where CAC payback exceeds 18 months"
    heuristics:
      - name: SaaS Revenue Test
        rule: "Quantify direct impact on ARR or MRR expansion for every opportunity."
      - name: Payback Obsession
        rule: "Challenge any initiative where CAC payback exceeds 18 months."

  sentinel:
    thinking_patterns:
      - "Treat NRR below 100% as an existential signal"
      - "Assess whether the decision increases or decreases customer switching costs"
    heuristics:
      - name: NRR Focus
        rule: "Treat NRR below 100% as existential. Flag churn-accelerating decisions."
      - name: Switching Costs
        rule: "Assess whether the decision increases or decreases switching costs."

Step 4 — Add guardrails

Guardrails are validation rules that apply to the entire session. The runtime flags outputs that violate them.

guardrails:
  - "Revenue projections must state assumptions on conversion rate, ACV, volume, and time horizon"
  - "Recommendations with material churn risk must include a churn impact assessment"
  - "Initiatives projecting CAC payback beyond 24 months require CFO-level justification"

Step 5 — Validate

aos validate domain core/domains/saas/domain.yaml

The validator checks:

  • Schema version is aos/domain/v1
  • All required fields present (id, name, lexicon)
  • Overlay agent IDs reference agents that exist
  • Overlay fields use valid merge-able field names
  • Guardrails are non-empty strings

Step 6 — Use it

aos run strategic-council --brief brief.md --domain saas

Every agent in the session now has SaaS-specific vocabulary, thinking patterns, and heuristics merged into their base definitions. The Catalyst will quantify ARR impact. The Sentinel will flag NRR risks. The Provocateur will demand SaaS benchmark comparisons.