zcf0508/vue-scan/src

Claude Code and agent skill by zcf0508/vue-scan

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Vue component render performance monitoring. Captures mount/update events with render time, FPS, and source locations. Provides per-component aggregated summaries for analyzing render frequency, slow components, and frame drops.

Install

npx vskill@latest install zcf0508/vue-scan/src

SKILL.md

Vue Scan Skill

Monitor and analyze Vue component render performance via real-time update event tracking.

⚠️ CRITICAL: Recording Must Be Active

Data is only collected while recording is active. Before querying, ensure recording has been started via the control panel (Ctrl+Shift+R) or RPC. If bufferSize is 0, remind the user to start recording and reproduce their scenario.

How It Works

  • Client-side hooks are injected into Vue 2/3 component mounted and updated lifecycle
  • Each render emits an event with: phase (mount/update), render time (ms), FPS, component name, source location, update count, viewport visibility
  • Render time is measured between beforeUpdate and updated hooks via performance.now()
  • FPS is tracked using a requestAnimationFrame sliding window (1s)
  • Events are stored server-side in a circular buffer (max 10,000 events)
  • queryVueScanData returns per-component aggregated summaries (not raw events) by default

Workflow

  1. Ensure recording: Ask user to start recording and interact with the page
  2. Query overview: Call queryVueScanData() — returns components sorted by totalUpdates
  3. Drill down: Filter by componentName or sort by updatesPerSecond to find hot spots
  4. Locate source: Use sourceLocation (format: file:line:col:tag) to pinpoint code

queryVueScanData Parameters

ParameterDefaultPurpose
limit50Max components to return
componentName-Filter by name (partial match, case-insensitive, ignores - and _)
timeRange-{ start, end } timestamps in ms (0 values ignored)
minUpdateCount-Only components updated >= N times
minRenderTime-Only events with render time >= N ms
onlyInViewport-Exclude off-screen renders
onlyUserComponentstrueFilter out library components (no source location)
includeRawEventsfalseInclude individual event details (usually not needed)
sortBytotalUpdatestotalUpdates / updatesPerSecond / renderTime / componentName

Response Structure

  • components[]: { componentName, sourceLocation, totalUpdates, updatesPerSecond, avgRenderTime, avgFps, firstUpdate, lastUpdate }
  • metadata: { recordingStatus, totalEvents, uniqueComponents, bufferSize, bufferCapacity, timeRange }
  • events[]: Only present when includeRawEvents: true

Best Practices

  • Don't set timeRange to zeros: Omit it entirely if not filtering by time
  • Sort by renderTime: Find the slowest components causing frame drops
  • Sort by updatesPerSecond: Reveals components re-rendering too rapidly
  • Check avgFps: Low avgFps (< 30) indicates the component causes jank
  • Use sourceLocation: Directly identifies the source file and line for fixes
  • Check onlyUserComponents=false: If results seem sparse, library components may be the source

Example: Find Performance Issues

1. queryVueScanData({ sortBy: "renderTime" })
→ Find slowest components by average render time
2. queryVueScanData({ sortBy: "totalUpdates" })
→ Review top re-rendering components with source locations
3. queryVueScanData({ minRenderTime: 16, sortBy: "renderTime" })
→ Find components exceeding one frame budget (16ms)
4. queryVueScanData({ componentName: "UserList", sortBy: "updatesPerSecond" })
→ Find the most frequently re-rendering component among partial matches
5. queryVueScanData({ onlyUserComponents: false, sortBy: "totalUpdates" })
→ Include library components to see full picture

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
271
Repository forks
11
7-day trend score
28

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 25 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/zcf0508/vue-scan/src/badge)](https://verified-skill.com/skills/zcf0508/vue-scan/src)

Something wrong with this skill or its page? Tell us.