Skip to content

assignment.yaml

File location: ~/.disclaw-team/assignment.yaml

Purpose: Maps bots to roles, stores Discord server info, defines human team members, and optionally overrides protocol behavior. This is the primary configuration file in the new format.

Minimal valid example:

discord:
guild_id: "123456789012345678"
channel_id: "987654321098765432"
assignments:
bot-1: orchestrator
bot-2: researcher

Full example:

discord:
guild_id: "123456789012345678"
channel_id: "987654321098765432"
workspace: /Users/you/projects/my-workspace
model: opus
assignments:
bot-1: tech-lead
bot-2: researcher
bot-3: validator
humans:
owner:
name: Jane Doe
discord_id: "555666777888999000"
role: owner
overrides:
protocol:
communication:
selective_replies: true
react_before_responding: true
default_reaction: "๐Ÿ‘€"
completion_reaction: "โœ…"
validation:
require_validation: true
never_skip_for:
- security changes
- database migrations
escalation:
human_approval_required:
- deploy to production
- access customer data

Field reference:

FieldTypeRequiredDefaultDescription
discord.guild_idstringYesโ€”Discord server (guild) ID
discord.channel_idstringYesโ€”General channel ID for bot communication
workspacestringNocwdWorking directory for bots
modelstringNoopusDefault model: opus, sonnet, haiku
assignmentsobjectYesโ€”Maps bot IDs to role filenames (without .yaml)
humansobjectNoโ€”Human team members
humans.<id>.namestringYesโ€”Human display name
humans.<id>.discord_idstringYesโ€”Human Discord user ID
humans.<id>.rolestringNoownerHumanโ€™s role
overrides.protocolobjectNoโ€”Persistent protocol customizations

Protocol overrides sub-fields:

FieldTypeDescription
communication.selective_repliesboolOnly reply when @mentioned
communication.acknowledge_teammatesboolSend a brief acknowledgement when a teammate delivers work
communication.react_before_respondingboolReact to messages before replying
communication.default_reactionstringEmoji for โ€œworking on itโ€
communication.completion_reactionstringEmoji for โ€œdoneโ€
validation.require_validationboolRequire teammate sign-off before shipping
validation.never_skip_forarrayConditions that always require validation
escalation.human_approval_requiredarrayConditions that require human approval

Related: bots.yaml, Role Files, CLI: assign