profile-design

Designs and troubleshoots BotMinter profiles — team methodology templates that define roles, statuses, hats, skills, and process conventions. Use when the operator asks to "design a profile", "create a new role", "fork a profile", "fix my profile", "troubleshoot profile issues", "design a process workflow", "add a hat", "customize a profile", or "validate my profile". Operates on profile templates, not live team repos.

8 stars

Best use case

profile-design is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Designs and troubleshoots BotMinter profiles — team methodology templates that define roles, statuses, hats, skills, and process conventions. Use when the operator asks to "design a profile", "create a new role", "fork a profile", "fix my profile", "troubleshoot profile issues", "design a process workflow", "add a hat", "customize a profile", or "validate my profile". Operates on profile templates, not live team repos.

Teams using profile-design should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/profile-design/SKILL.md --create-dirs "https://raw.githubusercontent.com/botminter/botminter/main/minty/.claude/skills/profile-design/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/profile-design/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How profile-design Compares

Feature / Agentprofile-designStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Designs and troubleshoots BotMinter profiles — team methodology templates that define roles, statuses, hats, skills, and process conventions. Use when the operator asks to "design a profile", "create a new role", "fork a profile", "fix my profile", "troubleshoot profile issues", "design a process workflow", "add a hat", "customize a profile", or "validate my profile". Operates on profile templates, not live team repos.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Profile Design

Designs, customizes, and troubleshoots BotMinter profiles at the template level. Profiles are methodology templates that `bm init` extracts into team repos. This skill works before any team exists or when a team is broken and needs fixes from outside.

For live team changes on a working team, suggest `bm chat chief-of-staff` instead.

## When to Use This vs Chief of Staff

| Situation | Use This Skill | Use Chief of Staff |
|-----------|---------------|-----------------|
| No team exists yet | Yes | No |
| Team is broken / won't start | Yes | No |
| Designing a new profile from scratch | Yes | No |
| Forking an existing profile | Yes | No |
| Tweaking a live team's process | No | Yes (`bm chat chief-of-staff`) |
| Running a retrospective | No | Yes |
| Tuning a member's behavior | No | Yes |

## Profile Location

| Context | Path |
|---------|------|
| Extracted profiles | `~/.config/botminter/profiles/<name>/` |
| Source tree (dev) | `profiles/<name>/` |

## Six Operations

### 1. Browse Profile

Show the full structure of a profile: roles, statuses, hats, skills, process, and knowledge.

**Steps:**

1. Read the manifest: `<profile>/botminter.yml`
2. List roles: `ls <profile>/roles/`
3. For each role, list its coding-agent skeleton: `ls <profile>/roles/<role>/coding-agent/`
4. Read process: `<profile>/PROCESS.md`
5. List knowledge: `ls <profile>/knowledge/`

**Present as:**

````
## Profile: <name>

### Roles
| Role | Hats | Skills |
|------|------|--------|
| superman | 15 | 0 |
| chief-of-staff | 2 | 5 |

### Status Lifecycle
<status list from botminter.yml>

### Process
<summary from PROCESS.md>
````

### 2. Design New Role

Guided conversation to create a role template within a profile.

**Interview the operator:**

1. What does this role do? What is its purpose?
2. Is it single-hat or multi-hat? What hats does it need?
3. For each hat: What triggers it? What does it publish? What are its instructions?
4. Does it need skills? Which ones?
5. Does it need role-specific knowledge files?

**Generate these files in `<profile>/roles/<role-name>/`:**

| File | Purpose |
|------|---------|
| `coding-agent/PROMPT.md` | Work objective and role identity |
| `coding-agent/CLAUDE.md` | Context and conventions |
| `coding-agent/ralph.yml` | Hat collection, skill dirs, preset |
| `coding-agent/.botminter.yml` | Agent identity tags |
| `coding-agent/hats/<hat>.md` | One file per hat with instructions |

**Role skeleton template:**

```yaml
# ralph.yml
preset: feature-development  # or custom
skill_dirs:
  - "coding-agent/skills"
```

```markdown
# PROMPT.md
You are the <role-name> for this team.

## Responsibilities
- <responsibility 1>
- <responsibility 2>
```

After generation, run profile validation (see below).

### 3. Design Process

Create or modify the status lifecycle and PROCESS.md for a profile.

**Interview the operator:**

1. Show current statuses if modifying an existing profile
2. What lifecycle stages does the team need?
3. Which stages need human review gates?
4. Which stages should auto-advance?
5. What role handles each status?

**Generate or update:**

- `botminter.yml` statuses section
- `PROCESS.md` with lifecycle documentation
- Verify each status has a role that handles it

**Status naming convention:** `<role-prefix>:<phase>` (e.g., `dev:implement`, `po:review`)

### 4. Design Hats

Create or modify hat collections for a role.

**For each hat, define:**

| Field | Description |
|-------|-------------|
| `name` | kebab-case identifier |
| `trigger` | When this hat activates (status label, event, or schedule) |
| `instructions` | What the hat does (markdown file in `hats/`) |
| `publishes` | Events this hat emits when done |

**Hat file template:**

````markdown
# <Hat Name>

## Trigger
Activates when: <trigger condition>

## Instructions
<what to do>

## Publishes
- `<event.name>` — <when/why>
````

**Board-scanner pattern:** If the role uses a board-scanner hat, ensure its dispatch table covers all statuses assigned to this role. Every status must route to a hat.

### 5. Fork Profile

Create a new profile by copying and customizing an existing one.

**Steps:**

1. Copy `profiles/<source>/` to `profiles/<new-name>/`
2. Update `botminter.yml`: name, display_name, description
3. Guide the operator through customizations:
   - Add/remove roles
   - Modify statuses
   - Adjust process
4. Run profile validation on the new profile

**Include in forked profiles:**

- `agreements/` directory with `decisions/`, `retros/`, `norms/` subdirectories
- `knowledge/team-agreements.md` convention documentation
- All existing knowledge files from the source profile

### 6. Troubleshoot Profile

Diagnose why a profile is not working correctly.

**Diagnostic checklist:**

1. **Manifest validity** — Does `botminter.yml` parse correctly? Are all required fields present?
2. **Status coverage** — Does every status have at least one role whose hats handle it?
3. **Hat trigger validity** — Do all hat triggers reference statuses or events that exist?
4. **Board-scanner completeness** — Does the board-scanner dispatch table cover all statuses for this role?
5. **Skeleton completeness** — Does each role have the required files?
   - `coding-agent/PROMPT.md`
   - `coding-agent/CLAUDE.md`
   - `coding-agent/ralph.yml`
   - `coding-agent/.botminter.yml`
6. **Process consistency** — Does PROCESS.md match the statuses in botminter.yml?
7. **Skill references** — Do skill dirs in ralph.yml point to directories that exist?
8. **Knowledge paths** — Do knowledge file references resolve?

**Common issues and fixes:**

| Symptom | Likely Cause | Fix |
|---------|-------------|-----|
| Member won't start | Missing ralph.yml or PROMPT.md | Create the missing skeleton file |
| Hat never activates | Trigger doesn't match any status | Update trigger to match a status in botminter.yml |
| Status stuck | No hat handles this status | Add a hat with this status as trigger |
| Board scanner misses work | Dispatch table incomplete | Add missing status to board-scanner dispatch |
| Broken after fork | botminter.yml name not updated | Update name/display_name in manifest |

**Inspection commands:**

```bash
# Check manifest
cat <profile>/botminter.yml

# List all statuses
grep "name:" <profile>/botminter.yml | grep -v "^name:"

# Check role skeleton
ls <profile>/roles/<role>/coding-agent/

# Check hat triggers
grep -r "trigger" <profile>/roles/<role>/coding-agent/hats/

# Validate ralph.yml
cat <profile>/roles/<role>/coding-agent/ralph.yml
```

## Profile Validation Checklist

Run after any design change. Report each check as PASS or FAIL.

| # | Check | How |
|---|-------|-----|
| 1 | botminter.yml parses | Read and validate YAML structure |
| 2 | All statuses have handlers | Cross-reference statuses with role hat triggers |
| 3 | All hat triggers are valid | Each trigger references a real status or event |
| 4 | Board-scanner dispatch complete | Dispatch table covers all role statuses |
| 5 | Skeleton files present | Each role has PROMPT.md, CLAUDE.md, ralph.yml, .botminter.yml |
| 6 | PROCESS.md consistent | Statuses mentioned in PROCESS.md exist in botminter.yml |
| 7 | Skill dirs exist | Directories in ralph.yml skill_dirs exist on disk |
| 8 | No orphan statuses | Every status is reachable in the lifecycle graph |
| 9 | No dead-end statuses | Every non-terminal status has a successor |
| 10 | Agreements dir present | `agreements/` with `decisions/`, `retros/`, `norms/` exists |

## CLI Quick Reference

| Task | Command |
|------|---------|
| List profiles | `bm profiles list` |
| Describe a profile | `bm profiles describe <name>` |
| Initialize profiles | `bm profiles init` |
| Chat with team manager | `bm chat chief-of-staff` |
| Show team status | `bm status -t <team>` |

Related Skills

team-design

8
from botminter/botminter

Entry point for all day-2 team design operations. Routes operator intent to the appropriate sub-skill — retrospective, role-management, member-tuning, or process-evolution — and provides a unified dashboard of team design state. Use when asked to "design the team", "show me the team", "team overview", "what's our team setup", "let's evolve the team", "team health check", or when the operator's intent spans multiple team design areas.

profile-browser

8
from botminter/botminter

Browses and describes BotMinter profiles — team methodology templates that define roles, statuses, coding agents, and process conventions. Use when the operator asks to "list profiles", "show profiles", "what profiles are available", "describe a profile", "what roles does X have", or "compare profiles". Reads ~/.config/botminter/profiles/.

workspace-sync

8
from botminter/botminter

Sync and diagnose BotMinter workspaces. Use when the operator says "sync workspaces", "apply profile changes", "propagate changes", "update all workspaces", "check workspace health", "diff against profile", "full sync", "my workspace has old files", or "why is the workspace out of date". Do NOT use for member behavior/config tuning (use member-tuning) or structured process changes (use process-evolution).

role-management

8
from botminter/botminter

Manages team role composition — list, add, remove, and inspect roles defined in botminter.yml. Includes impact analysis of statuses, hats, and knowledge before changes, and records every change as a team agreement decision. Use when asked to "add a role", "remove a role", "list roles", "inspect a role", "change team composition", "what roles do we have", "team structure", or when an cos:exec:todo issue requests a role change.

retrospective

8
from botminter/botminter

Guides a structured team retrospective examining what went well, what didn't, and produces typed action items. Outputs a retro summary to agreements/retros/. Use when asked to "run a retro", "do a retrospective", "reflect on the sprint", "what went well", "review team performance", or when an cos:exec:todo issue requests a retrospective.

process-evolution

8
from botminter/botminter

Guides deliberate, team-wide process changes — adding or removing statuses, modifying transitions, updating review gates, and evolving the workflow lifecycle. Validates changes against the status graph before applying and records every decision as a team agreement. Use when asked to "change the process", "add a status", "remove a status", "modify the workflow", "update transitions", "add a review gate", "evolve the process", "change auto-advance rules", or when an cos:exec:todo issue requests a process change.

member-tuning

8
from botminter/botminter

Diagnoses and tunes individual member configurations by mapping symptoms to the responsible artifact — PROMPT.md, CLAUDE.md, ralph.yml (hats), skills, or PROCESS.md. Provides a diagnostic decision tree, inspection commands, example edits, and propagation steps for each artifact type. Use when asked to "tune a member", "fix a member", "troubleshoot a member", "member isn't working", "adjust member behavior", "member diagnostic", "why is the member doing X", or when an cos:exec:todo issue requests member tuning.

cos-session

8
from botminter/botminter

Chief of Staff working session with the operator. Use when the operator says "chief of staff session", "cos session", "I have things to file", "let's work through some items", "I found some problems", "what's <member> doing", "let's go over the board", or brings any mix of observations, bugs, ideas, or operational concerns.

github-project

8
from botminter/botminter

Manages GitHub Projects v2 workflows for issue tracking and project management. Use when user asks to "show the board", "view issues", "what's in [status]", "create an epic", "add a story", "create a bug", "move issue

workspace-doctor

8
from botminter/botminter

Diagnoses common BotMinter workspace issues — stale submodules, broken symlinks, missing files, outdated context, and sync problems. Use when the operator asks to "check my workspace", "diagnose issues", "why isn't X working", "fix my setup", "workspace health", or "something seems wrong".

team-overview

8
from botminter/botminter

Shows registered BotMinter teams, their members, roles, workspaces, and running state. Use when the operator asks to "show teams", "list teams", "who is on the team", "team status", "show members", or "what teams do I have". Reads ~/.botminter/config.yml and workspace directories.

hire-guide

8
from botminter/botminter

Interactive guide for hiring team members with `bm hire`. Helps operators choose roles, pick names, and understand hiring implications. Use when the operator asks to "hire someone", "add a member", "what roles can I hire", "help me hire", "who should I hire next", or "explain the roles".