Claude-skill-registry Optimize Performance
OPTIMIZE slow Vue applications, fix memory leaks, and improve render performance. Reduce unnecessary re-renders, optimize computed properties, and fix expensive operations. Use when application feels slow, memory usage grows, or animations lag.
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-optimize-performance" ~/.claude/skills/majiayu000-claude-skill-registry-optimize-performance && rm -rf "$T"
manifest:
skills/data/dev-optimize-performance/SKILL.mdsource content
Optimize Performance
Instructions
Performance Optimization Protocol
When Vue applications are slow or memory usage is high, systematically optimize:
1. Render Performance Issues
- Identify expensive components using Vue DevTools performance tab
- Add
for heavy components that don't need frequent updatesv-memo - Use
for large arrays/objects that don't need deep reactivityshallowRef - Optimize computed properties to avoid unnecessary recalculations
2. Memory Leak Detection
- Check for unmanaged event listeners in onUnmounted()
- Cleanup store subscriptions and async operations
- Debug timer/interval cleanup
- Monitor component reference cycles
3. Bundle Size Optimization
- Lazy load components and routes
- Tree shake unused imports
- Optimize asset loading with code splitting
Quick Performance Fixes
Component Memoization
<template> <!-- Memoize expensive components --> <ExpensiveComponent v-for="item in items" :key="item.id" v-memo="[item.id, item.lastModified]" :data="item" /> </template> <script setup> import { shallowRef } from 'vue' // Use shallowRef for large data structures const items = shallowRef([]) </script>
Computed Property Optimization
// ❌ BAD: Expensive recalculation const expensiveComputed = computed(() => { return heavyCalculation(props.data) }) // ✅ GOOD: Memoize with caching const expensiveComputed = computed(() => { if (!dataCache.has(props.data.id)) { dataCache.set(props.data.id, heavyCalculation(props.data)) } return dataCache.get(props.data.id) })
Memory Leak Detection
const memoryTracker = { components: new Set(), subscriptions: new Set(), track(component, name) { this.components.add({ component, name, createdAt: Date.now() }) onUnmounted(() => { this.components.delete(component) console.log(`✅ Component cleaned up: ${name}`) }) }, checkLeaks() { const now = Date.now() const leaked = Array.from(this.components).filter(c => now - c.createdAt > 30000 // Older than 30 seconds ) if (leaked.length > 0) { console.warn('🚨 Potential memory leaks:', leaked) } } }
This skill activates when you mention performance issues, slow applications, memory leaks, or optimization needs.