plugin-audit
Plugin Audit
Audit how well vercel-plugin skill injection performs on real-world Claude Code sessions.
Workflow
1. Locate conversation logs
Find JSONL conversation logs for a target project:
ls -lt ~/.claude/projects/-Users-*-<project-name>/*.jsonl
The path uses the project's absolute path with slashes replaced by hyphens and a leading hyphen.
2. Extract tool calls
Parse the JSONL log to extract all tool_use entries. Each line is a JSON object with message.content[] containing type: "tool_use" blocks. Extract name and input fields. Group by tool type (Bash, Read, Write, Edit).
3. Test hook matching
Use the exported pipeline functions directly — do NOT shell out to the hook script for each test. Import from the hooks directory:
import { loadSkills, matchSkills } from "./hooks/pretooluse-skill-inject.mjs";
import { createLogger } from "./hooks/logger.mjs";
Call loadSkills() once, then matchSkills(toolName, toolInput, compiledSkills) for each tool call. This is fast and gives exact match results.
4. Identify gaps
Compare matched skills against what SHOULD have matched based on the project's technology stack. Common gap categories:
- Path pattern gaps: Files that should trigger a skill but don't (e.g.,
src/db/schema.tsnot matchingvercel-storage) - Bash pattern gaps: Commands that should trigger but don't (e.g., missing package manager variants)
- Dedup masking: Skills that matched but were deduped before injection
- Budget/cap drops: Skills matched but dropped by the 12KB budget or 3-skill ceiling
5. Check plugin cache staleness
Compare the installed plugin cache against the dev version:
# Cache location
~/.claude/plugins/cache/vercel-labs-vercel-plugin/vercel-plugin/<version>/
# Compare skill content
diff <(grep 'pattern' skills/<skill>/SKILL.md) <(grep 'pattern' ~/.claude/plugins/cache/.../skills/<skill>/SKILL.md)
Check ~/.claude/plugins/installed_plugins.json for version and git SHA.
Report Format
Produce a structured report with:
- Session summary: Project, date, tool call count, model
- Match matrix: Table of tool calls × matched skills (with match type)
- Coverage gaps: Unmatched tool calls that should have matched, with suggested pattern additions
- Dedup timeline: Order of skill injections and what got deduped
- Cache status: Whether installed version matches dev, with specific diffs
References
More from vercel-labs/vercel-plugin
nextjs
Next.js App Router expert guidance. Use when building, debugging, or architecting Next.js applications — routing, Server Components, Server Actions, Cache Components, layouts, middleware/proxy, data fetching, rendering strategies, and deployment on Vercel.
3.4Kreact-best-practices
React best-practices reviewer for TSX files. Triggers after editing multiple TSX components to run a condensed quality checklist covering component structure, hooks usage, accessibility, performance, and TypeScript patterns.
417shadcn
shadcn/ui expert guidance — CLI, component installation, composition patterns, custom registries, theming, Tailwind CSS integration, and high-quality interface design. Use when initializing shadcn, adding components, composing product UI, building custom registries, configuring themes, or troubleshooting component issues.
296turbopack
Turbopack expert guidance. Use when configuring the Next.js bundler, optimizing HMR, debugging build issues, or understanding the Turbopack vs Webpack differences.
235deployments-cicd
Vercel deployment and CI/CD expert guidance. Use when deploying, promoting, rolling back, inspecting deployments, building with --prebuilt, or configuring CI workflow files for Vercel.
212vercel-cli
Vercel CLI expert guidance. Use when deploying, managing environment variables, linking projects, viewing logs, querying metrics, managing domains, or interacting with the Vercel platform from the command line.
209