member-tuning

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.

8 stars

Best use case

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

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.

Teams using member-tuning 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/member-tuning/SKILL.md --create-dirs "https://raw.githubusercontent.com/botminter/botminter/main/profiles/agentic-sdlc-minimal/roles/chief-of-staff/coding-agent/skills/member-tuning/SKILL.md"

Manual Installation

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

How member-tuning Compares

Feature / Agentmember-tuningStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

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

# Member Tuning Skill

Diagnose and fix member behavior problems by identifying the responsible
configuration artifact and applying targeted edits. Every significant change
is recorded as a decision in `agreements/decisions/`.

## When to Use

- An `cos:exec:todo` issue requests tuning or troubleshooting a member
- A retrospective action item of type `member-tuning` needs execution
- The operator reports a member is behaving incorrectly
- A member keeps making the same kind of mistake

## Diagnostic Decision Tree

Start here. Ask the operator to describe the symptom, then map it to an artifact.

| Symptom | Likely Artifact | Section |
|---------|----------------|---------|
| Member is doing the wrong thing / wrong scope | PROMPT.md | [Tune PROMPT.md](#tune-promptmd) |
| Member doesn't understand the workspace or context | CLAUDE.md | [Tune CLAUDE.md](#tune-claudemd) |
| Member isn't switching hats correctly / wrong behavior mode | ralph.yml (hats) | [Tune Hats](#tune-hats-ralphyml) |
| Member is missing a capability or using a broken one | skills | [Tune Skills](#tune-skills) |
| Member is blocked by the process / wrong status transitions | PROCESS.md | [Tune PROCESS.md](#tune-processmd) |
| Member keeps repeating the same mistake | knowledge/ or invariants/ | Defer to knowledge-manager skill |

If the symptom is ambiguous, inspect multiple artifacts. Start with the most
likely one and work outward.

## Identifying the Member

First, determine which member needs tuning:

```bash
# List members and their roles
ls members/

# Show a member's current config
cat members/<member>/ralph.yml
cat members/<member>/PROMPT.md
cat members/<member>/CLAUDE.md
```

## Tune PROMPT.md

PROMPT.md controls **what** the member does — its objective, scope, and
completion criteria.

### Inspect

```bash
cat members/<member>/PROMPT.md
```

Look for:
- Vague or missing objective
- Scope that's too broad or too narrow
- Missing completion criteria
- Stale references to completed work

### Common Fixes

**Scope too broad** — Member tries to do too much:
```markdown
# Before
## Objective
Handle all development tasks.

# After
## Objective
Implement backend API endpoints for the user service.
Only work on issues labeled `dev:todo` in the user-service milestone.
```

**Missing completion criteria** — Member doesn't know when to stop:
```markdown
## Completion Condition
Done when all issues in milestone "v0.5" are closed and all tests pass.
```

**Wrong focus** — Member works on the wrong things:
```markdown
## Scope
- Only pick up issues from the board with label `dev:todo`
- Do NOT work on infrastructure or deployment tasks
```

### Apply

Edit `members/<member>/PROMPT.md` in the team repo with the proposed changes.

## Tune CLAUDE.md

CLAUDE.md controls **how** the coding agent understands the workspace — project
context, build commands, architectural notes.

### Inspect

```bash
cat members/<member>/CLAUDE.md
```

Look for:
- Missing project-specific context (build commands, test commands)
- Wrong workspace layout assumptions
- Stale references to renamed files or removed modules
- Missing domain knowledge that causes repeated mistakes

### Common Fixes

**Missing build context**:
```markdown
## Build Commands
- `just build` — compile the project
- `just test` — run all tests
- `just lint` — run linters
```

**Wrong workspace assumptions**:
```markdown
## Workspace Layout
The project repo is at `projects/<project>/` (submodule).
The team repo is at `team/` (submodule).
Configuration lives in `team/members/<member>/`.
```

**Missing domain knowledge**:
```markdown
## Architecture Notes
The API uses a hexagonal architecture. Handlers are in `src/handlers/`,
domain logic in `src/domain/`, and ports in `src/ports/`.
```

### Apply

Edit `members/<member>/CLAUDE.md` in the team repo.

## Tune Hats (ralph.yml)

Hats in ralph.yml control **how** the member switches behavioral modes —
triggers, instructions, and event publishing.

### Inspect

```bash
cat members/<member>/ralph.yml
```

For each hat, check:
- **Triggers**: Does the hat activate on the right events?
- **Instructions**: Are the instructions clear and specific?
- **Publishes**: Does the hat emit the correct completion events?
- **Dispatch table**: If the member has a board-scanner hat, does it route
  to the correct hats?

### Common Fixes

**Wrong trigger** — Hat doesn't activate when it should:
```yaml
# Before — only triggers on explicit event
triggers:
  - event: "design.requested"

# After — also triggers from board scanner
triggers:
  - event: "design.requested"
  - event: "board.design_needed"
```

**Vague instructions** — Hat does inconsistent work:
```yaml
# Before
instructions: "Review the code"

# After
instructions: |
  Review the code for:
  1. Correctness — does it match the acceptance criteria?
  2. Style — does it follow project conventions?
  3. Tests — are there adequate tests?
  Publish review.approved or review.changes_requested.
```

**Missing hat** — Member lacks a needed capability:
Add a new hat to the `hats` list in ralph.yml with appropriate triggers,
instructions, and publish events.

**Board-scanner dispatch mismatch** — If modifying hat triggers or adding hats,
verify the board-scanner hat's dispatch table still routes correctly:
```bash
# Check which events board-scanner dispatches
grep -A 20 "board_scanner" members/<member>/ralph.yml
```

### Apply

Edit `members/<member>/ralph.yml` in the team repo.

## Tune Skills

Skills control **what tools** the member can invoke — SKILL.md files in
the skills directory.

### Inspect

```bash
# List current skills
ls members/<member>/coding-agent/skills/ 2>/dev/null

# Check ralph.yml for skill directory configuration
grep -A 5 "skills:" members/<member>/ralph.yml
```

### Common Fixes

**Missing skill** — Member lacks a needed capability:
1. Check if the skill already exists in the role skeleton: `ls roles/<role>/coding-agent/skills/`
2. If not, create a new `SKILL.md` in the appropriate skills directory
3. Ensure `ralph.yml` `skills.dirs` includes the path to the skills directory

**Broken skill** — Skill instructions are wrong or incomplete:
1. Read the SKILL.md: `cat members/<member>/coding-agent/skills/<skill>/SKILL.md`
2. Edit to fix the instructions
3. The fix should go in `roles/<role>/coding-agent/skills/<skill>/SKILL.md`
   to benefit all members in that role

**Stale skill reference** — ralph.yml references a skill directory that
doesn't exist:
1. Check `skills.dirs` in ralph.yml
2. Remove stale entries or create the missing directory

### Apply

Edit skills in `roles/<role>/coding-agent/skills/` (role-level) or
`members/<member>/coding-agent/skills/` (member-level) in the team repo.

## Tune PROCESS.md

PROCESS.md controls the **workflow** — status transitions, conventions, and
ceremonies. Only tune this when the process itself is the root cause.

### Inspect

```bash
cat PROCESS.md
```

Look for:
- Missing status transitions that block the member
- Auto-advance rules that skip needed review steps
- Status naming that doesn't match the member's hat triggers
- Missing conventions that lead to inconsistent behavior

### Common Fixes

**Missing status transition**:
```markdown
# Add to the status lifecycle section
| From | To | Trigger |
|------|-----|---------|
| dev:code-review | done | Review approved and tests pass |
```

**Auto-advance causing problems**:
```markdown
# Clarify when auto-advance should NOT happen
Auto-advance from `dev:implement` to `dev:code-review` only when:
- All acceptance criteria are met
- Tests pass locally
```

### Apply

Edit `PROCESS.md` in the team repo root. For large-scale process changes,
use the Process Evolution skill instead.

**Important**: Process changes affect ALL members, not just the target member.
Consider the broader impact before editing.

## Recording Changes

For significant tuning changes, write a decision record:

```bash
ls agreements/decisions/ | grep -oP '^\d+' | sort -n | tail -1
# Increment by 1, zero-pad to 4 digits
```

````markdown
---
id: <next-id>
type: decision
status: accepted
date: <today ISO date>
participants: [operator, chief-of-staff]
---
# Member Tuning: <member-name>

## Context
<What symptom was observed and why the change was needed>

## Decision
Modified `<artifact>` for member `<member-name>`:
- <Summary of changes>

## Impact
- Member behavior will change after sync and restart
- <Any side effects on other members or the process>
````

## Propagation

After any change to member configuration in `team/`:

1. **Commit** the changes in the team repo
2. **Sync** workspaces to propagate: `bm teams sync`
3. **Restart** the affected member: `bm stop <member> && bm start <member>`

Changes do NOT take effect until the member is restarted with the updated
configuration.

## Error Handling

- If the member directory doesn't exist, list available members and ask
  the operator to clarify.
- If `agreements/decisions/` doesn't exist, create it.
- If the symptom maps to knowledge/ or invariants/, defer to the
  knowledge-manager skill — do not duplicate that workflow here.
- If multiple artifacts need tuning, address them one at a time and
  verify each fix before moving to the next.

Related Skills

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).

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.

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.

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.

profile-design

8
from botminter/botminter

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.

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/.

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".