/gaia-domain-research

user-facing
Category:
Discovery & Research
Lifecycle phase:
1 -- Analysis
Arguments:
[domain or industry focus]

What it does

/gaia-domain-research maps a domain landscape -- key players, regulations, industry trends, terminology, and domain-specific risks. It produces a structured report that informs product definition and technical decisions.

When to use it

  • You are entering an unfamiliar domain and need to understand regulations, compliance requirements, and industry conventions.
  • You want to identify domain-specific risks before writing a product brief or making architecture decisions.

Prerequisites

None required. Web access (MCP tools) enhances results but is not mandatory.

Orchestration mode

When /gaia-domain-research starts in subagent mode (Mode A -- the default), the framework emits a one-shot warning to your conversation. The warning text:


────────────────────────────────────────────────────────────────────────────
GAIA orchestration: running in subagent mode (Mode A)

The skill you're invoking belongs to a class (heavy-procedural or
conversational) whose output benefits from cross-step context. Mode A
dispatches each sub-agent in its own forked context, so context may
be lossy between steps — sub-agents return summaries, not full reasoning.

For the full-fidelity experience, enable Mode B (Agent Teams):
  1. Set CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 in your environment.
  2. Add orchestration.mode: team to .gaia/config/project-config.yaml.

Mode B uses persistent teammates that preserve in-conversation state
across dispatches.

This warning is shown once per session.
────────────────────────────────────────────────────────────────────────────

Why Mode B is better for this command

The /gaia-domain-research skill declares orchestration_class: heavy-procedural in its SKILL.md frontmatter. Heavy-procedural skills produce output that benefits from cross-step context -- under Mode A every sub-agent dispatch runs in its own forked context and can only return a summary back to the orchestrator, losing the full reasoning trace of every prior step. Mode B uses persistent teammates that retain in-conversation state across dispatches, so each agent's contribution can build on what was said before instead of receiving only a summary.

How to enable Mode B

Both steps are required. If either is missing, the framework falls back silently to Mode A and the warning fires again on the next session.

Step 1 -- set the environment variable:

export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

Add this to your shell rc file to persist across sessions, or set it in Claude Code's settings.json.

Step 2 -- add the YAML block to .gaia/config/project-config.yaml:

orchestration:
  mode: team

One-shot semantics

The warning is emitted once per Claude Code session. A marker file at _memory/checkpoints/orchestration-warning-shown.<session-id> suppresses the warning for the rest of the session. Starting a new session re-emits the warning once.

How to invoke

/gaia-domain-research
/gaia-domain-research healthcare data management

What it does step by step

  1. Domain scoping Asks: what domain or industry, and specific aspects to focus on.
  2. Web access check Tests MCP web tool availability. Notes limitations if unavailable.
  3. Domain landscape Identifies key players and organizations, documents regulations and compliance requirements, maps industry trends and emerging patterns, and defines domain-specific terminology.
  4. Domain-specific risks Identifies regulatory/compliance risks, technical risks specific to the domain, and market/competitive risks.
  5. Generate output Writes the domain research report: overview, key players, regulatory landscape, trends, terminology glossary, risk assessment, and recommendations.

Inputs

InputSourceDescription
focusCommand argument (optional)Domain or industry to research.

Outputs

OutputLocationDescription
Domain research report.gaia/artifacts/planning-artifacts/domain-research.mdKey players, regulations, trends, glossary, risks, and recommendations.

Output schema

The finalize.sh checklist enforces the following H2 section names verbatim against the produced artifact at .gaia/artifacts/planning-artifacts/domain-research.md. Authors (human or sub-agent) must reproduce these headings exactly — the optional numbered/lettered outline prefix is accepted (e.g. ## 1. Domain Overview, ## 1b. Domain Overview, ## 1.2 Domain Overview), but the section name itself must match.

  • ## Domain Overview
  • ## Terminology Glossary
  • ## Key Players
  • ## Regulatory Landscape
  • ## Trends
  • ## Risk Assessment
  • ## Recommendations

A missing required section causes the matching SV-NN check to FAIL with the heading name in the violation line. The heading_present() helper (shared at plugins/gaia/scripts/lib/heading-present.sh) accepts every variant listed above — so do not editorialize the section name to satisfy the gate, just use one of the documented heading forms.

Example session

> /gaia-domain-research healthcare data management

What domain or industry?
> Healthcare data management and interoperability

Specific aspects to focus on?
> HIPAA compliance, HL7 FHIR standards, patient data portability

Web access: available.

Domain Landscape:
  Key Players: Epic Systems, Cerner (Oracle Health), Allscripts...
  Regulations: HIPAA, HITECH Act, 21st Century Cures Act...
  Trends: FHIR adoption, patient-mediated exchange, AI diagnostics...

Terminology Glossary:
  PHI, ePHI, BAA, Covered Entity, FHIR, HL7v2, CDA... (12 terms)

Risk Assessment:
  Regulatory: HIPAA violation penalties ($100-$50K per record)
  Technical: HL7v2-to-FHIR migration complexity
  Market: EHR vendor lock-in risk

Report written to:
  .gaia/artifacts/planning-artifacts/domain-research.md

What to run next

Troubleshooting

Terminology glossary has fewer than 3 terms

Provide more specific domain aspects when prompted. The validation requires at least 3 glossary entries.

I keep seeing the GAIA orchestration warning every time I start this command

The warning is shown once per session, so if it fires again that's a new session -- not a per-skill repeat. If you want to silence it entirely, enable Mode B (full-fidelity orchestration via Agent Teams). Both of these conditions must be true:

  • echo $CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS returns 1 (not empty)
  • .gaia/config/project-config.yaml contains:
    orchestration:
      mode: team

If either is missing the framework silently uses Mode A and re-emits the warning each session.