Skip to content

Role Files

File location: ~/.disclaw-team/roles/<role-id>.yaml

Purpose: Defines a bot’s identity. Each role file specifies how a bot presents itself, when it engages, what it can delegate, and which model it uses.

Minimal valid example:

name: Researcher
type: specialist
description: Handles deep research and analysis tasks.
personality:
tagline: Thorough, curious, evidence-driven

Full schema example:

name: Tech Lead
type: orchestrator
description: Technical leader who owns architecture and code quality.
leadership_style: Delegative
responsibilities:
- Define technical direction
- Review critical code changes
- Mentor the team
personality:
tagline: Chief architect of the technical vision
tone: Precise and technical, but collaborative
domain:
- architecture
- code-review
- technical-planning
instructions: |
You own the technical direction. Think architecture first,
then delegate implementation. When in doubt, ask.
engagement:
respond_to_all_teammates: false
require_mention_from_humans: true
require_mention_from_bots: true
delegation:
can_delegate_to:
- executor
- specialist
reports_to:
- owner
execution:
use_subagents: true
keep_main_thread_free: true
presentation:
use_visuals: false
frame_with_conviction: true
model_config:
model: opus
reasoning: high

Field reference:

FieldTypeRequiredDefaultDescription
namestringYesDisplay name shown in CLAUDE.md
typeenumYesorchestrator, specialist, executor, generalist
descriptionstringYesLong description
personality.taglinestringYesOne-line identity statement
personality.tonestringNoProfessionalHow the bot speaks
personality.domainarrayNo[]Areas of expertise
personality.instructionsstringNo""Extended system prompt additions
engagement.respond_to_all_teammatesboolNofalseAlways respond, without @mention
engagement.require_mention_from_humansboolNotrueHumans must @mention to get response
engagement.require_mention_from_botsboolNotrueOther bots must @mention to get response
delegation.can_delegate_toarrayNo[]Role types this bot can assign work to
delegation.reports_toarrayNo[]Role types this bot reports to
execution.use_subagentsboolNotrueCan spawn Claude subagents for deep work
execution.keep_main_thread_freeboolNotrueStay responsive to Discord while working
model_config.modelenumNosonnetopus, sonnet, haiku
model_config.reasoningenumNomediumlow, medium, high, max

Role types:

TypeDescription
orchestratorDelegates tasks to other bots, owns outcomes
specialistDeep expertise in a domain, receives tasks
executorRuns actions and tools, implements instructions
generalistFlexible, no fixed domain

Related: CLI: roles, CLI: assign, Concepts: Roles