.do
Role-Based Agents

Role-Based Agents

533 O*NET occupation-based AI agents for every digital-capable role

Role-based agents are AI agents mapped to Standard Occupational Classification (SOC) codes from O*NET, the US Department of Labor's authoritative occupational database. The .do platform provides 533 agents covering every digital-capable occupation.

What Are Role-Based Agents?

Unlike named agents which have specific personalities and specializations, role-based agents are defined by their occupation code and O*NET-defined capabilities. Each agent is trained on:

  • Official O*NET task descriptions
  • Required skills and knowledge areas
  • Tools and technologies used in the role
  • Education and experience requirements
  • Related occupations and career pathways

How They Differ from Named Agents

FeatureNamed AgentsRole-Based Agents
Count102 specialized agents533 occupation-based agents
IdentityNamed personas (e.g., "alex", "morgan")SOC codes (e.g., "15-1252.00")
DefinitionCustom-designed capabilitiesO*NET task definitions
Best ForSpecific workflows and personasStandardized occupational tasks
DiscoveryBrowse by name or capabilitySearch by SOC code or job title

When to use role-based agents:

  • You need standardized occupational capabilities
  • You're building HR, recruiting, or workforce tools
  • You want to map tasks to official job classifications
  • You need consistent skill assessments

When to use named agents:

  • You need a specific personality or workflow style
  • You're building conversational interfaces
  • You want specialized domain expertise
  • You need pre-configured agent teams

SOC Code Structure

SOC codes follow a hierarchical structure:

15-1252.00
│  │  │  └─ Detailed Occupation (6 digits)
│  │  └──── Minor Group (4 digits)
│  └────── Major Group (2 digits)
└────────── Domain (always 15 for Computer)

Example Hierarchy:

  • 15-0000 - Computer and Mathematical Occupations (major group)
  • 15-1250 - Software and Web Developers, Programmers (minor group)
  • 15-1252.00 - Software Developers, Applications (detailed occupation)

Complete Catalog

Visit roles.org.ai for the complete catalog of 533 occupation-based agents with:

  • Full SOC code hierarchy
  • Detailed task descriptions
  • Required skills and knowledge
  • Tools and technologies
  • Education requirements
  • Salary data and job outlook
  • Related occupations

Quick Start

TypeScript SDK

import { $ } from 'sdk.do'

// Get role details
const softwareDev = await $.Agent.getRole('15-1252.00')

// Invoke role-based agent
const task = await $.Agent.invokeRole({
  soc: '15-1252.00',
  task: 'Develop REST API for user authentication',
  context: {
    requirements: 'JWT-based auth, OAuth integration',
    stack: 'Node.js, Express, PostgreSQL',
  },
  skills: ['api-design', 'authentication', 'security'],
})

// Search by capability
const matches = await $.Agent.searchRoles({
  capabilities: ['data-analysis', 'machine-learning'],
  skills: ['Python', 'SQL'],
})

CLI

# Get role details
do agent get-role 15-1252.00

# Invoke role-based agent
do agent invoke-role 15-1252.00 "Develop REST API" \
  --stack "Node.js" \
  --skills api-design,authentication

# Search by capability
do agent search-roles \
  --capabilities data-analysis,machine-learning \
  --skills Python,SQL

MCP

{
  "method": "tools/call",
  "params": {
    "name": "getRole",
    "arguments": {
      "soc": "15-1252.00"
    }
  }
}

Examples

Example 1: Software Developer

// 15-1252.00 - Software Developers, Applications
const task = await $.Agent.invokeRole({
  soc: '15-1252.00',
  task: 'Build a mobile app with React Native',
  skills: ['React Native', 'TypeScript', 'Mobile UX'],
  deadline: '2024-12-01',
})

Example 2: Data Scientist

// 15-2051.00 - Data Scientists
const task = await $.Agent.invokeRole({
  soc: '15-2051.00',
  task: 'Build recommendation system using collaborative filtering',
  skills: ['Python', 'TensorFlow', 'SQL'],
  context: {
    dataset: 'user-behavior.csv',
    targetMetric: 'click-through-rate',
  },
})

Example 3: Technical Writer

// 27-3042.00 - Technical Writers
const task = await $.Agent.invokeRole({
  soc: '27-3042.00',
  task: 'Write API documentation for REST endpoints',
  context: {
    apiSpec: 'openapi.yaml',
    audience: 'developers',
    format: 'markdown',
  },
})

Browse by Category

Explore role-based agents by major occupation groups:

API Reference

For complete API documentation, see:

Support