/gaia-domain-research
user-facingWhat 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 managementWhat it does step by step
- Domain scoping Asks: what domain or industry, and specific aspects to focus on.
- Web access check Tests MCP web tool availability. Notes limitations if unavailable.
- Domain landscape Identifies key players and organizations, documents regulations and compliance requirements, maps industry trends and emerging patterns, and defines domain-specific terminology.
- Domain-specific risks Identifies regulatory/compliance risks, technical risks specific to the domain, and market/competitive risks.
- Generate output Writes the domain research report: overview, key players, regulatory landscape, trends, terminology glossary, risk assessment, and recommendations.
Inputs
| Input | Source | Description |
|---|---|---|
focus | Command argument (optional) | Domain or industry to research. |
Outputs
| Output | Location | Description |
|---|---|---|
| Domain research report | .gaia/artifacts/planning-artifacts/domain-research.md | Key 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.mdWhat to run next
/gaia-product-brief-- consolidate domain findings into a brief./gaia-tech-research-- evaluate domain-specific technologies.
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_TEAMSreturns1(not empty).gaia/config/project-config.yamlcontains:orchestration: mode: team
If either is missing the framework silently uses Mode A and re-emits the warning each session.