Back to Skills
    🦞

    communication-coach

    Adaptive communication coaching that shapes

    By @rjmoggach
    View on GitHub
    SKILL.md
    ---
    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