Smart Home & IoTDocumentedScanned

communication-coach

Adaptive communication coaching that shapes speaking and writing behavior through reinforcement, scoring, and micro-i.

Share:

Installation

npx clawhub@latest install communication-coach

View the full skill documentation and source below.

Documentation

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

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

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:

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:

ModalityClarity BarFormalityBaseline
email-formalHighHighEstablished after 10 samples
email-casualMediumLowEstablished after 10 samples
slackLowVery lowEstablished after 15 samples
smsLowVery lowEstablished after 15 samples
presentationVery highHighEstablished after 5 samples
conversationMediumVariableEstablished 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):

  • Identify weakest dimension from state

  • Select scenario from references/scenarios.md matching dimension + current level

  • Deliver scenario with clear task

  • 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