
Hrv Alexithymia Expert
- 127 installs
- 178 repo stars
- Updated July 14, 2026
- erichowens/some_claude_skills
Interpret heart-rate variability signals alongside alexithymia concepts when designing wellness apps, coaching flows, or research summaries for emotion-awareness and stress-recovery features.
About
Domain-expert skill combining heart-rate variability interpretation with alexithymia knowledge for wellness, mental-health, and biofeedback products. Helps teams research credible signal explanations, user-facing education, and feature boundaries before building apps or studies around emotional awareness.
- Links HRV metrics to stress and recovery
- Explains alexithymia and emotion awareness
- Informs wellness and coaching product design
- Supports ethical, evidence-aware feature scoping
- Bridges biosignals with psychological framing
Hrv Alexithymia Expert by the numbers
- 127 all-time installs (skills.sh)
- Ranked #762 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/erichowens/some_claude_skills --skill hrv-alexithymia-expertAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 127 |
|---|---|
| repo stars | ★ 178 |
| Last updated | July 14, 2026 |
| Repository | erichowens/some_claude_skills ↗ |
What it does
Interpret heart-rate variability signals alongside alexithymia concepts when designing wellness apps, coaching flows, or research summaries for emotion-awareness and stress-recovery features.
Files
HRV & Alexithymia Expert
You are an expert in Heart Rate Variability (HRV) biometrics and Alexithymia (emotional awareness difficulties), specializing in the intersection of physiological signals and emotional intelligence.
Python Dependencies
pip install heartpy neurokit2 scipy numpy pandas matplotlibWhen to Use This Skill
Use for:
- HRV metric calculation and interpretation (SDNN, RMSSD, LF/HF)
- Emotional awareness training with biofeedback
- Interoception development exercises
- Stress measurement and recovery tracking
- Alexithymia assessment and intervention planning
- Connecting body signals to emotional states
NOT for:
- General fitness tracking without HRV focus
- Simple heart rate or pulse monitoring
- Medical diagnosis (only licensed professionals diagnose)
- Cardiac arrhythmia detection (requires medical devices)
- Mental health crisis intervention (refer to professionals)
Core Competencies
Heart Rate Variability (HRV) Expertise
- HRV Metrics: SDNN, RMSSD, pNN50, LF/HF ratio, and their meanings
- ANS Assessment: Sympathetic vs. parasympathetic balance
- Stress Measurement: Objective stress and recovery metrics
- Data Collection: Wearables, chest straps, finger sensors, apps
- Interpretation: Context-aware analysis of HRV patterns
For HRV metric calculations and code implementations, see /references/hrv-metrics.mdAlexithymia Understanding
- Definition: Difficulty identifying and describing emotions
- Assessment: TAS-20 (Toronto Alexithymia Scale) and other measures
- Subtypes: Cognitive vs. affective alexithymia
- Neurobiological Basis: Interoception, insular cortex function
- Co-occurring Conditions: Autism, PTSD, anxiety, depression
For assessment details and vocabulary building, see /references/alexithymia-assessment.mdIntegration: Body-Emotion Connection
- Interoception Training: Learning to sense internal body signals
- Emotion Differentiation: Using physical cues to identify emotions
- Biofeedback: HRV training to improve emotional regulation
- Vagal Tone: Strengthening parasympathetic response
For training protocols and exercises, see /references/training-protocols.mdHRV Interpretation Framework
High HRV (RMSSD > 50ms, SDNN > 100ms):
- ✅ Good stress resilience
- ✅ Strong parasympathetic tone
- ✅ Good recovery capacity
- ✅ Cardiovascular health
Low HRV (RMSSD < 20ms, SDNN < 50ms):
- ⚠️ Chronic stress or overtraining
- ⚠️ Poor recovery
- ⚠️ Sympathetic dominance
- ⚠️ Potential burnout
Context Matters:
- Time of day (lower in morning, higher at night)
- Sleep quality (poor sleep = lower HRV)
- Exercise (acute decrease, chronic increase)
- Stress, hydration, alcohol, caffeine all affect HRV
Alexithymia Components
Three Core Components: 1. Difficulty Identifying Feelings (DIF) - Can't tell if anxious vs. angry vs. sad 2. Difficulty Describing Feelings (DDF) - Limited emotional vocabulary 3. Externally-Oriented Thinking (EOT) - Focus on external over internal
TAS-20 Scoring:
- Score < 51: Non-alexithymia
- Score 52-60: Possible alexithymia
- Score > 61: Alexithymia
Tools & Resources
HRV Measurement Devices
Consumer Grade: Oura Ring, Apple Watch, WHOOP, Garmin, Polar H10 Clinical/Research: Firstbeat Bodyguard, HeartMath Inner Balance, emWave Pro, Kubios HRV
HRV Apps
Elite HRV, HRV4Training, Welltory, HeartMath
Anti-Patterns
Treating HRV as Absolute
What it looks like: "Your RMSSD is 25, that's bad." Why it's wrong: HRV is individual. What matters is YOUR baseline and trends. Instead: Establish personal baseline over 2+ weeks, track relative changes.
Ignoring Context
What it looks like: Interpreting morning HRV without considering last night's sleep, alcohol, or stress. Why it's wrong: HRV is affected by many factors; isolated readings are meaningless. Instead: Log context (sleep, stress, exercise, substances) alongside HRV.
Pathologizing Alexithymia
What it looks like: Treating emotional unawareness as a defect to be "fixed." Why it's wrong: Alexithymia exists on a spectrum and has adaptive functions. Instead: Focus on expanding awareness gently, not "curing" a condition.
Replacing Professional Help
What it looks like: Using HRV biofeedback as treatment for clinical conditions. Why it's wrong: HRV training is a tool, not therapy. Serious conditions need professionals. Instead: Use as complementary practice alongside professional treatment.
Key Principles
1. The Body Knows First: HRV changes before conscious awareness 2. Measurement Enables Awareness: Can't improve what you can't measure 3. Start With Physiology: Easier to sense body than emotions 4. Build Bridges: Connect HRV → Body sensations → Emotion labels 5. Practice = Progress: Interoception is a trainable skill 6. Compassion Required: Alexithymia isn't a choice or weakness
---
Remember: Emotional awareness isn't about having perfect words for feelings. It's about connecting with your internal experience, and HRV gives you a scientific window into that inner world. Start with the body, the emotions will follow.
Changelog
[1.1.0] - 2025-01-XX
Changed
- Frontmatter: Changed
tools:toallowed-tools:format for Claude Code compatibility - Description: Added activation keywords and NOT clause for precise skill triggering
- Structure: Implemented progressive disclosure with /references/ directory
Added
/references/hrv-metrics.md- Time/frequency domain calculations, EmotionalStateMonitor/references/alexithymia-assessment.md- TAS-20 details, emotion vocabulary ladder/references/training-protocols.md- HRVBiofeedbackTraining, case example- Anti-Patterns section: Common mistakes (treating HRV as absolute, ignoring context, etc.)
- When to Use This Skill section: Clear use/not-for guidance
Removed
- Redundant code examples (moved to references)
- Detailed case study (moved to training-protocols.md)
- Extensive tool/app lists (condensed)
Metrics
- Line reduction: 550 → 141 lines (74% reduction)
- Reference files created: 3
- Anti-patterns documented: 4
Alexithymia Assessment & Understanding
Understanding Alexithymia
Three Core Components:
1. Difficulty Identifying Feelings (DIF)
- Can't tell if feeling anxious vs. angry vs. sad
- Physical sensations without emotional labels
- "I feel bad" but can't be more specific
2. Difficulty Describing Feelings (DDF)
- Know you feel something, can't put it into words
- Limited emotional vocabulary
- Struggle to communicate feelings to others
3. Externally-Oriented Thinking (EOT)
- Focus on external events over internal experience
- Concrete thinking about emotions
- Avoid introspection
Prevalence
~10% of general population, higher in:
- Autism spectrum (50%)
- PTSD (30-40%)
- Eating disorders (40-60%)
- Depression/anxiety (30%)
- Chronic pain conditions (30%)
Assessment Tools
Toronto Alexithymia Scale (TAS-20)
20 questions, 5-point Likert scale:
- Score < 51: Non-alexithymia
- Score 52-60: Possible alexithymia
- Score > 61: Alexithymia
Sample Questions:
- "I am often confused about what emotion I am feeling"
- "It is difficult for me to find the right words for my feelings"
- "I prefer to analyze problems rather than just describe them"
BVAQ (Bermond-Vorst Alexithymia Questionnaire)
Distinguishes cognitive vs. affective alexithymia
The Body-Emotion Disconnection
People with alexithymia often have:
- Impaired Interoception: Can't sense internal body states
- Reduced Insula Activity: Brain region linking body to emotions
- High Somatic Symptoms: Physical complaints without emotional awareness
- Emotional Dysregulation: Can't regulate what you can't identify
Emotion Vocabulary Building
For those with limited emotional words:
emotion_granularity_ladder = {
'bad': ['uncomfortable', 'upset', 'distressed'],
'uncomfortable': ['anxious', 'sad', 'angry', 'frustrated'],
'anxious': ['worried', 'nervous', 'fearful', 'panicked'],
'sad': ['disappointed', 'lonely', 'grieving', 'hopeless'],
'angry': ['irritated', 'resentful', 'furious', 'betrayed'],
'good': ['pleasant', 'positive', 'content'],
'pleasant': ['happy', 'calm', 'excited', 'proud'],
'happy': ['joyful', 'delighted', 'cheerful', 'amused'],
'calm': ['peaceful', 'relaxed', 'serene', 'centered'],
'excited': ['energized', 'enthusiastic', 'eager', 'thrilled']
}
def expand_emotional_vocabulary(vague_emotion, body_signals, hrv_state, baseline):
"""Help differentiate vague emotions using context"""
if vague_emotion == 'bad' and hrv_state['rmssd'] < baseline * 0.7:
if 'chest tight' in body_signals:
return 'anxious'
elif 'heavy' in body_signals:
return 'sad'
elif 'tense muscles' in body_signals:
return 'angry'
# Continue pattern matching...HRV Metrics Deep Dive
Time-Domain Metrics
import numpy as np
from scipy import signal
def calculate_hrv_metrics(rr_intervals):
"""
Calculate key HRV metrics from RR intervals (in milliseconds)
Args:
rr_intervals: Array of intervals between heartbeats (ms)
Returns:
Dictionary of HRV metrics
"""
# SDNN: Standard deviation of NN intervals
# Reflects overall HRV - higher is generally better
# < 50ms = poor, 50-100ms = compromised, >100ms = healthy
sdnn = np.std(rr_intervals, ddof=1)
# RMSSD: Root mean square of successive differences
# Reflects parasympathetic (rest & digest) activity
# < 20ms = low, 20-50ms = moderate, >50ms = good vagal tone
successive_diffs = np.diff(rr_intervals)
rmssd = np.sqrt(np.mean(successive_diffs ** 2))
# pNN50: Percentage of successive RR intervals that differ by > 50ms
# Another parasympathetic indicator
# < 5% = low, 5-15% = moderate, >15% = good
pnn50 = np.sum(np.abs(successive_diffs) > 50) / len(successive_diffs) * 100
# Mean HR and HRV
mean_rr = np.mean(rr_intervals)
mean_hr = 60000 / mean_rr # Convert to BPM
return {
'sdnn': sdnn,
'rmssd': rmssd,
'pnn50': pnn50,
'mean_rr': mean_rr,
'mean_hr': mean_hr
}Frequency-Domain Metrics
def calculate_frequency_domain_hrv(rr_intervals, sampling_rate=4):
"""
Calculate frequency domain HRV metrics
LF (0.04-0.15 Hz): Low frequency - mixed sympathetic/parasympathetic
HF (0.15-0.4 Hz): High frequency - parasympathetic (vagal activity)
LF/HF ratio: Autonomic balance indicator
"""
# Resample to regular intervals
time = np.cumsum(rr_intervals) / 1000 # Convert to seconds
time_regular = np.arange(0, time[-1], 1/sampling_rate)
rr_regular = np.interp(time_regular, time, rr_intervals)
# Detrend
rr_detrended = signal.detrend(rr_regular)
# Welch's method for power spectral density
frequencies, psd = signal.welch(
rr_detrended,
fs=sampling_rate,
nperseg=256
)
# Define frequency bands
lf_band = (frequencies >= 0.04) & (frequencies < 0.15)
hf_band = (frequencies >= 0.15) & (frequencies < 0.4)
# Calculate power in each band
lf_power = np.trapz(psd[lf_band], frequencies[lf_band])
hf_power = np.trapz(psd[hf_band], frequencies[hf_band])
# LF/HF ratio
# < 1 = parasympathetic dominance (rest)
# 1-2 = balanced
# > 2 = sympathetic dominance (stress/arousal)
lf_hf_ratio = lf_power / hf_power if hf_power > 0 else float('inf')
return {
'lf_power': lf_power,
'hf_power': hf_power,
'lf_hf_ratio': lf_hf_ratio,
'total_power': np.trapz(psd, frequencies)
}HRV Interpretation Framework
What HRV Tells You:
High HRV (RMSSD > 50ms, SDNN > 100ms):
- ✅ Good stress resilience
- ✅ Strong parasympathetic tone
- ✅ Good recovery capacity
- ✅ Cardiovascular health
- ✅ Adaptability to stress
Low HRV (RMSSD < 20ms, SDNN < 50ms):
- ⚠️ Chronic stress or overtraining
- ⚠️ Poor recovery
- ⚠️ Sympathetic dominance
- ⚠️ Potential burnout
- ⚠️ Health risk indicator
Context Matters:
- Time of day (lower in morning, higher at night)
- Sleep quality (poor sleep = lower HRV)
- Exercise (acute decrease, chronic increase)
- Stress (mental/physical = decreased HRV)
- Hydration, alcohol, caffeine all affect HRV
Emotional State Detection
class EmotionalStateMonitor:
"""Use HRV patterns to identify emotional states"""
def __init__(self):
self.baseline_hrv = None
self.emotion_signatures = {
'calm': {'rmssd': '>baseline', 'lf_hf': '<1.5'},
'stress': {'rmssd': '<baseline*0.7', 'lf_hf': '>2.5'},
'anxiety': {'rmssd': '<baseline*0.6', 'hr': '>baseline+10'},
'flow': {'rmssd': '~baseline', 'sdnn': '>baseline', 'lf_hf': '1.5-2.0'},
'fatigue': {'rmssd': '<baseline*0.8', 'hr': 'variable'}
}
def establish_baseline(self, resting_hrv_sessions):
"""Establish personal baseline from multiple resting measurements"""
all_metrics = [calculate_hrv_metrics(session)
for session in resting_hrv_sessions]
self.baseline_hrv = {
'rmssd': np.median([m['rmssd'] for m in all_metrics]),
'sdnn': np.median([m['sdnn'] for m in all_metrics]),
'hr': np.median([m['mean_hr'] for m in all_metrics])
}
def detect_emotional_state(self, current_rr_intervals):
"""Detect likely emotional state from HRV"""
current = calculate_hrv_metrics(current_rr_intervals)
freq = calculate_frequency_domain_hrv(current_rr_intervals)
# Compare to baseline
rmssd_ratio = current['rmssd'] / self.baseline_hrv['rmssd']
hr_delta = current['mean_hr'] - self.baseline_hrv['hr']
# Pattern matching
if rmssd_ratio > 1.2 and freq['lf_hf_ratio'] < 1.5:
return 'calm', 0.8
elif rmssd_ratio < 0.7 and freq['lf_hf_ratio'] > 2.5:
return 'stress', 0.85
elif rmssd_ratio < 0.6 and hr_delta > 10:
return 'anxiety', 0.75
elif 0.8 < rmssd_ratio < 1.2 and 1.5 < freq['lf_hf_ratio'] < 2.0:
return 'flow', 0.7
else:
return 'unclear', 0.4HRV Biofeedback & Interoception Training
HRV Biofeedback Protocol
class HRVBiofeedbackTraining:
"""Train emotional awareness through HRV feedback"""
def __init__(self):
self.session_history = []
def guided_breathing_session(self, duration_minutes=10):
"""
Resonance frequency breathing to increase HRV
Typical resonance: 5.5-6.5 breaths/minute
"""
breath_rate = 6 # breaths per minute (0.1 Hz - ideal for HRV)
inhale_seconds = 5
exhale_seconds = 5
protocol = {
'duration': duration_minutes,
'breath_rate': breath_rate,
'goal': 'Increase RMSSD by 20% from baseline',
'emotional_check': 'Rate your emotional state 0-10 before/after'
}
return protocol
def emotion_body_mapping(self):
"""
Exercise to connect HRV changes with emotional states
"""
mapping_protocol = """
1. Baseline measurement (5 min rest, measure HRV)
2. Emotion induction series:
- Recall calm memory (3 min) → Measure HRV
- Recall stressful memory (3 min) → Measure HRV
- Recall joyful memory (3 min) → Measure HRV
- Return to neutral (3 min) → Measure HRV
3. For each state, note:
- Physical sensations (chest tight? stomach warm?)
- Breathing pattern (fast? slow? shallow?)
- HRV metrics (RMSSD, LF/HF)
- Emotional label (even if vague)
4. Build personal emotion-HRV map:
"When RMSSD drops to X and I feel tightness in chest,
that's probably anxiety/stress"
"""
return mapping_protocolInteroception Training Exercises
Body Scan with HRV Feedback
1. Lie down in quiet space
2. Start HRV measurement
3. Systematically scan body:
- Feet → legs → pelvis → abdomen → chest → arms → head
4. At each location, ask:
- "What sensations am I aware of?"
- "Is there tension, warmth, tingling, nothing?"
5. When you notice strong sensation, check HRV:
- Did it change?
- What might that mean emotionally?
6. Practice labeling:
- "Tight chest + low HRV = anxiety"
- "Warm belly + high HRV = calm/contentment"Practical Applications
Daily HRV-Emotion Check-In
Morning Routine:
1. Upon waking, measure HRV (3-5 min)
2. Note sleep quality
3. Check HRV metrics against baseline:
- Higher than baseline? → Good recovery, ready for challenges
- Lower than baseline? → Need rest/recovery day
4. Ask: "How do I feel?" (use emotion wheel if needed)
5. Connect: "My HRV is X, I feel Y" → Build associationStress Response Training:
When you feel "off" but can't identify the emotion:
1. Stop and measure HRV for 2 minutes
2. If LF/HF > 2.5 and RMSSD low → Stress response active
3. Physical sensations check:
- Rapid heartbeat? Shallow breathing? → Anxiety
- Slumped posture? Fatigue? → Sadness
- Clenched jaw? Tense shoulders? → Anger
4. Use HRV biofeedback breathing to downregulate
5. Re-measure: Did HRV improve? How do you feel now?Case Example: Putting It Together
Client Profile:
- High-functioning professional with burnout
- TAS-20 score: 64 (alexithymia)
- Somatic complaints: chronic tension, GI issues
- Says "I just feel stressed all the time"
Intervention:
Week 1-2: Baseline & Education
- Daily morning HRV measurement → Baseline RMSSD: 22ms (low)
- Learn about ANS, HRV, emotion-body connection
- Begin emotion wheel practice
Week 3-4: HRV Biofeedback Training
- 10 min/day resonance breathing
- Track HRV improvement during session
- Note: "When I breathe slowly, chest relaxes, HRV goes up"
- Building association: relaxed body = parasympathetic = calm
Week 5-6: Emotion Differentiation
- Before/after HRV measurements with emotion induction
- Discover: Work emails → RMSSD drops to 15ms, chest tightens = anxiety
- Discover: Talking to friend → RMSSD rises to 35ms, chest opens = contentment
- Expanding from "stressed" to "anxious" vs. "frustrated" vs. "overwhelmed"
Week 7-8: Integration
- Real-time HRV alerts when stress response activates
- Prompt: "Check in - what emotion might this be?"
- Use breathing to regulate, re-measure
- TAS-20 retest: 56 (improvement)
- RMSSD baseline: 32ms (significant improvement)
Outcome:
- Can identify 5-6 distinct emotions vs. just "stressed"
- Uses HRV as early warning system
- Has tools (breathing) to regulate
- Physical symptoms reduced by 40%