# Interface ExpertDefinition

Definition of an expert's capabilities and metadata.

interface ExpertDefinition {
id: string;
role: AgentRole;
name: string;
description: string;
capabilities: string[];
primaryDomain: ExpertTaskDomain;
secondaryDomains: ExpertTaskDomain[];
weight: number;
available: boolean;
}

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:38

##### Index

### Properties

id
role
name
description
capabilities
primaryDomain
secondaryDomains
weight
available

## Properties

### id

id: string

Unique expert identifier

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:40

### role

role: AgentRole

Expert role type

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:42

### name

name: string

Human-readable name

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:44

### description

description: string

Description of expert's specialty

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:46

### capabilities

capabilities: string[]

Core capabilities

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:48

### primaryDomain

primaryDomain: ExpertTaskDomain

Primary domain of expertise

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:50

### secondaryDomains

secondaryDomains: ExpertTaskDomain[]

Additional domains the expert can handle

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:52

### weight

weight: number

Base weight for scoring (0-1)

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:54

### available

available: boolean

Whether the expert is currently available

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:56