Claude-skill-registry Debug Vue Reactivity
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.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/dev-debug-reactivity" ~/.claude/skills/majiayu000-claude-skill-registry-debug-vue-reactivity && rm -rf "$T"
manifest:
skills/data/dev-debug-reactivity/SKILL.mdsource content
🔧 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
for.value
in setup()ref() - Never destructure reactive objects (breaks reactivity)
- Use
for Pinia store destructuringstoreToRefs() - Use
for objects, notreactive()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
for automatic dependency trackingwatchEffect()
3. Watcher Configuration
- Use
for nested object changes{ deep: true } - Use
to run watcher immediately{ immediate: true } - Check
for timing issuesflush: 'post'
Quick Debug Patterns
Reactivity Checker
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
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.