home / skills / openclaw / skills / communication-coach

communication-coach skill

/skills/rjmoggach/communication-coach

This skill provides adaptive communication coaching that analyzes text, gives concrete feedback, and builds practice drills to improve clarity, presence, and

npx playbooks add skill openclaw/skills --skill communication-coach

Review the files below or copy the command above to add this skill to your agents.

Files (6)
SKILL.md
4.9 KB
---
name: communication-coach
description: Adaptive communication coaching that shapes speaking and writing behavior through reinforcement, scoring, and micro-interventions. Use when the user shares communications for feedback, requests practice scenarios, or during scheduled check-ins. Trains clarity, vocal control, presence, persuasion, emotional regulation, and boundary setting. Based on rhetoric, negotiation, and performance psychology frameworks.
---

# Communication Training

Ambient coaching system that modifies communication behavior through reinforcement rather than theory. Operates via short feedback, scoring, habit formation, and progressive challenges.

## Core Principle

Not a teacher. A shaping environment. Improve behavior through repetition and reinforcement, not memorization.

## When to Engage

**Passive (cron-driven):**
- Weekly practice prompts
- Periodic comm sampling (analyze recent messages/emails)
- Monthly progress reviews

**Active (user-initiated):**
- User shares transcript, email draft, message for feedback
- User requests practice scenario
- User asks "how am I doing?"

## Workflow

### 1. Check State

Load current state (level, points, active dimensions):

```bash
scripts/manage_state.py --load
```

Returns JSON with current progress. Keep in context only during active session.

### 2. Analyze Communication

When user provides text (email, message, transcript):

```bash
scripts/analyze_comm.py --text "..." --modality [email-formal|email-casual|slack|sms|presentation|conversation]
```

Returns dimensional scores (0-10 scale) for:
- Clarity
- Vocal control (text proxy)
- Presence
- Persuasion
- Boundary setting

See `references/rubrics.md` for scoring criteria.

### 3. Deliver Feedback

**Format (always):**
```
Dimension: [weakest dimension]
Score: [X/10]
Issue: [one specific pattern observed]
Fix: [one concrete action to take]
```

**Rules:**
- Maximum 3 corrections per analysis
- Never praise vaguely ("great job!")
- Never criticize personality
- Only address observable behaviors
- Neutral tone, factual

**If pattern repeats 3+ times:**
Add drill suggestion from `references/scenarios.md`

### 4. Update State

Award points for improvements, track regression:

```bash
scripts/manage_state.py --update --dimension clarity --score 7 --points 5
```

### 5. Progressive Challenges

When consistency improves in a dimension, increase difficulty:
- Level 1: Reduce obvious weaknesses
- Level 2: Structure and polish
- Level 3: Persuasion and impact
- Level 4: High-pressure scenarios
- Level 5: Leadership communication

Deliver practice scenarios from `references/scenarios.md` matching current level.

## Modality Awareness

Different expectations per communication type:

| Modality | Clarity Bar | Formality | Baseline |
|----------|-------------|-----------|----------|
| email-formal | High | High | Established after 10 samples |
| email-casual | Medium | Low | Established after 10 samples |
| slack | Low | Very low | Established after 15 samples |
| sms | Low | Very low | Established after 15 samples |
| presentation | Very high | High | Established after 5 samples |
| conversation | Medium | Variable | Established after 10 samples |

Tag every analyzed communication. Score against modality-specific baseline.

## Baseline Calibration

First 10-15 samples per modality establish baseline. No feedback during calibration, only:

"Building baseline for [modality]. [X] more samples needed."

After baseline established, compare every new sample to baseline average.

## Practice Scenarios

Weekly practice prompt (Sunday 10am cron):
1. Identify weakest dimension from state
2. Select scenario from `references/scenarios.md` matching dimension + current level
3. Deliver scenario with clear task
4. Score response when provided

On-demand practice:
- User asks for practice → deliver scenario
- User struggling with specific dimension → targeted drill

## Memory Architecture

**Context-efficient storage:**

```
state.json           # Current session only: level, points, dimensions
baseline.json        # Modality baselines (loaded on-demand)
history/YYYY-MM.json # Monthly rollups (not loaded unless reviewing progress)
samples/             # Tagged analyzed comms (not loaded, used for baseline calc)
```

Only `state.json` loaded during active coaching. Everything else queried by scripts.

## Feedback Calibration

Never sycophantic. Truth over comfort.

- Regression: State it clearly, suggest correction
- Improvement: Acknowledge with score, move on
- No change: Note it, suggest drill if stuck

If user pushes back on feedback, explain scoring criteria from rubrics. Do not soften or hedge.

## Resources

- **scripts/analyze_comm.py** - Text analysis and dimensional scoring
- **scripts/manage_state.py** - State persistence without context bloat
- **references/rubrics.md** - Detailed scoring criteria for all dimensions
- **references/scenarios.md** - Practice scenario library organized by dimension and level

Overview

This skill provides adaptive communication coaching that shapes speaking and writing behavior through short feedback cycles, scoring, and progressive micro-interventions. It trains clarity, presence, persuasion, vocal control (text proxies), emotional regulation, and boundary setting using reinforcement and habit formation rather than lectures. Use it when sharing drafts, practicing scenarios, or during scheduled check-ins.

How this skill works

The system inspects submitted texts or transcripts and returns dimensional scores (0–10) for clarity, presence, persuasion, vocal control, and boundary setting, tagged by modality (email, slack, presentation, etc.). Feedback is concise and prescriptive: identify the weakest dimension, give one observable issue, and one concrete fix (max three corrections). The skill tracks state (level, points, active dimensions), builds modality baselines from multiple samples, and issues progressively harder practice scenarios as performance improves.

When to use it

  • When you want quick, actionable feedback on an email draft or message
  • Before a presentation to polish clarity and presence
  • To rehearse negotiation or boundary-setting scenarios
  • For weekly habit-driven practice and monthly progress reviews
  • When you want modal-specific guidance (formal email vs. casual Slack)

Best practices

  • Share authentic samples matching the intended modality for accurate scoring
  • Provide 10–15 samples per new modality to complete baseline calibration
  • Limit requests to one draft or scenario per active session for focused shaping
  • Act on one concrete fix at a time; repeat until pattern changes
  • Use scheduled check-ins to accumulate points and access higher-level challenges

Example use cases

  • Drafting a sensitive boundary-setting email and getting one concrete rewrite suggestion
  • Running a 5-minute practice scenario to strengthen persuasion at Level 2
  • Submitting recent Slack exchanges for weekly sampling and baseline building
  • Preparing for a leadership talk by advancing through progressive presentation drills
  • Asking “how am I doing?” to receive state summary, weakest dimension, and next drill

FAQ

How many corrections will I receive per submission?

I provide at most three concrete corrections per analysis, each tied to observable behavior and a single action to fix it.

What happens during baseline calibration?

During calibration I only count and label samples for the given modality. You’ll see messages like “Building baseline for [modality]. X more samples needed.” No corrective feedback is given until baseline completes.