# communication-coach > 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. - Author: clawdhub[bot] - Repository: openclaw/skills - Version: 20260130050700 - Stars: 640 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/openclaw/skills - Web: https://mule.run/skillshub/@@openclaw/skills~communication-coach:20260130050700 --- --- 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