Nodes
communication-coach
Adaptive communication coaching that shapes
---
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
nodes
By
Comments
Sign in to leave a comment