Manage Members
This guide covers hiring team members from profile skeletons and understanding the member directory structure.
Hire a member
Use the bm hire command:
Example:
This extracts the member skeleton from the profile on disk into members/<role>/, including all configuration files, and creates a Git commit.
You can optionally provide a name and target a specific team:
If you omit --name, bm auto-generates a 2-digit suffix (e.g., architect-01). Auto-suffix fills gaps: if 01 and 03 exist, it returns 02.
Available roles
The available roles depend on the profile. Use bm roles list to see them:
For the scrum profile:
| Role | Description |
|---|---|
human-assistant |
PO's proxy — board scanning, backlog management, review gating |
architect |
Technical authority — design docs, story breakdowns, issue creation |
If you specify a role that doesn't exist, the command lists all available roles.
Member directory structure
After hiring a member, the members/<role>/ directory contains the following structure. The specific files (invariants, hats, etc.) depend on the profile and role. This example shows the human-assistant role from the scrum profile:
members/human-assistant/
├── PROMPT.md # Role identity and behavioral rules
├── CLAUDE.md # Role context (workspace model, knowledge paths)
├── ralph.yml # Ralph orchestrator configuration
├── .botminter.yml # Member metadata (role name, emoji)
├── knowledge/ # Role-specific knowledge
├── invariants/ # Role-specific constraints
│ └── always-confirm.md # (example: present all decisions to human)
├── hats/ # Hat-specific directories (if applicable)
│ └── <hat-name>/
│ └── knowledge/ # Hat-specific knowledge
├── coding-agent/
│ ├── skills/ # Role-specific skills
│ └── agents/ # Role-specific sub-agents
└── projects/ # Per-project role config
└── <project>/
└── knowledge/ # Role+project-specific knowledge
Customize a member
After hiring a member, you can customize its configuration:
Modify prompts
Edit members/<role>/PROMPT.md to change role identity and behavioral rules. Edit members/<role>/CLAUDE.md to update role context.
Note
In session workspaces, PROMPT.md and CLAUDE.md are assembled from the team repo. Changes to the source files in the team repo take effect automatically on the next session start.
Add role-specific knowledge
Place knowledge files in members/<role>/knowledge/:
echo "# Debug Guide\n\nAlways check pod logs first." \
> members/architect/knowledge/debug-guide.md
git add members/architect/knowledge/debug-guide.md
git commit -m "docs: add architect debug guide"
Add role-specific invariants
Place invariant files in members/<role>/invariants/:
echo "# Design Quality\n\nEvery design must include security considerations." \
> members/architect/invariants/design-quality.md
git add members/architect/invariants/design-quality.md
git commit -m "chore: add architect design quality invariant"
Modify Ralph configuration
Edit members/<role>/ralph.yml to change hat definitions, event routing, or persistence settings.
Warning
ralph.yml is assembled into session workspaces at creation time. After editing it, restart agents with bm stop && bm start for changes to take effect.
Remove a member
Delete the member directory and commit:
Warning
This does not remove existing workspaces. Delete workspace directories separately.
List members
View all hired members for a team:
Related topics
- Launch Members — provisioning workspaces and starting agents
- Member Roles — detailed role definitions and hat models
- Knowledge & Invariants — scoping model