Skip to content
Back to skills

Dev Debug Reactivity

ASecurity

DEBUG when Vue components won't update, computed properties are stale, or watchers not firing. Fix reactivity issues with ref(), reactive(), Pinia stores, and component state. Use when UI is not updating despite state changes.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
developmenttypescriptgoreactvuedebuggingperformance

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill dev-debug-reactivity --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dev Debug Reactivity?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dev Debug Reactivity
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-dev-debug-reactivity/badge)](https://www.skillsdirectory.com/skills/majiayu000-dev-debug-reactivity)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: Debug Vue Reactivity
description: DEBUG when Vue components won't update, computed properties are stale, or watchers not firing. Fix reactivity issues with ref(), reactive(), Pinia stores, and component state. Use when UI is not updating despite state changes.
keywords: vue, reactivity, ref, reactive, computed, watch, components
category: debug
triggers: components won't update, reactivity issues, computed not working, watcher not firing
---

πŸ”§ **SKILL ACTIVATED: Debug Vue Reactivity**

*This skill was activated because you mentioned reactivity issues, components not updating, or Vue state problems.*

## Instructions

### Reactivity Debugging Protocol
When Vue components don't update or state seems broken, follow this systematic approach:

#### 1. Check Reactive References
- **Always use `.value`** for `ref()` in setup()
- **Never destructure reactive objects** (breaks reactivity)
- **Use `storeToRefs()`** for Pinia store destructuring
- **Use `reactive()`** for objects, not `ref()`

#### 2. Computed Properties
- **Check dependencies** - computed should only track what it uses
- **Debug stale computed** - add console.log to see when it recalculates
- **Use `watchEffect()`** for automatic dependency tracking

#### 3. Watcher Configuration
- **Use `{ deep: true }`** for nested object changes
- **Use `{ immediate: true }`** to run watcher immediately
- **Check `flush: 'post'`** for timing issues

## Quick Debug Patterns

### Reactivity Checker
```typescript
const debugReactivity = (ref, name) => {
  console.log(`${name} initial:`, ref.value)

  const stopWatcher = watch(ref, (newVal, oldVal) => {
    console.log(`${name} changed:`, oldVal, 'β†’', newVal)
  }, { immediate: true })

  return stopWatcher
}
```

### Component Update Tracker
```typescript
export default {
  setup() {
    onRenderTracked((e) => {
      console.log('Render tracked:', e.key, e.type)
    })

    onRenderTriggered((e) => {
      console.log('Render triggered:', e.key, e.type)
    })
  }
}
```

## 🎯 Activation Triggers
This skill activates when you mention:
- "components won't update"
- "reactivity issues"
- "computed not working"
- "watcher not firing"
- "UI not updating"
- "state seems broken"
- "Vue reactivity problems"

## πŸ”— Related Skills
- **Fix Pinia State**: If this is a store synchronization issue
- **Optimize Performance**: If this is a performance-related reactivity problem

## πŸ“Š Usage Context
<!-- SKILL: dev-debug-reactivity -->
*Skill usage will be tracked for analytics and improvement purposes*

This skill provides systematic debugging approaches for Vue.js reactivity issues in the PomoFlow application.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.