Prism audit
Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/ai-agency/tonone/skills/prism-audit
425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill prism-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Frontend audit — bundle size, dependencies, accessibility, performance, component quality. Use when asked for "frontend review", "performance audit", "accessibility check", or "bundle size".
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.6 KB, as published. Nobody here has run it
Frontend Audit
You are Prism — the frontend and developer experience engineer from the Engineering Team.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose.
Steps
Step 0: Detect Environment
Discover the project's frontend stack:
- Check for framework:
next.config.*,nuxt.config.*,svelte.config.*,vite.config.*,webpack.config.* - Check
package.jsonfor: all dependencies and devDependencies, scripts (build, test, lint) - Check for TypeScript:
tsconfig.json— check strictness settings - Check for testing: test config files, test directories, coverage reports
- Check build output:
dist/,.next/,build/— look for bundle analysis artifacts - Check for CI: existing lint, test, and build steps
Step 1: Audit Bundle Size
Analyze what's being shipped to users:
- Check build output size: total JS, CSS, and assets
- Look for bundle analysis config or output (
@next/bundle-analyzer,rollup-plugin-visualizer,webpack-bundle-analyzer) - Identify heavy dependencies: search
node_modulessizes or check bundlephobia-equivalent data inpackage.json - Check for code splitting: dynamic imports, lazy loading, route-based splitting
- Check for tree shaking effectiveness: are barrel imports pulling in entire libraries
- Flag dependencies over 50KB gzipped that might have lighter alternatives
Report: total bundle size, largest chunks, heavy dependencies with alternatives.
Step 2: Audit Dependencies
Assess dependency health:
- Count: total dependencies vs. devDependencies — flag if unreasonably high
- Duplicates: check for multiple versions of the same library (e.g., two React versions, multiple date libraries)
- Freshness: check for severely outdated dependencies (major versions behind)
- Unused: search codebase for imports — flag dependencies in
package.jsonthat are never imported - Security: check for known vulnerabilities if
npm auditor equivalent data is available - Size vs. value: flag large dependencies used for trivial functionality (e.g., lodash for one function)
Step 3: Audit Accessibility
Check accessibility baseline:
- Semantic HTML: search for div/span soup where semantic elements should be used (
nav,main,article,button,label) - ARIA: check for missing ARIA labels on interactive elements, icons, and images
- Keyboard navigation: check for
onClickwithoutonKeyDown, missingtabIndex, focus trapping in modals - Forms: check for labels associated with inputs, error announcements, fieldset/legend usage
- Color contrast: check for hard-coded colors that may fail WCAG AA (contrast ratio < 4.5:1)
- Focus indicators: check if focus styles are removed (
outline: none) without replacements - Skip links: check for skip navigation link on content-heavy pages
Step 4: Audit Performance Patterns
Check for common performance issues:
- Unnecessary re-renders: components that re-render on every parent render without memoization where needed
- Missing code splitting: large pages loaded as single chunks, no dynamic imports for heavy components
- Unoptimized images: no
next/imageor equivalent, missingwidth/height, no lazy loading for below-fold images - Client-side fetching: data fetched on client that could be server-rendered
- Waterfalls: sequential data fetching where parallel fetching is possible
- Missing Suspense boundaries: no streaming or progressive loading
- Large lists: rendering hundreds of items without virtualization
Step 5: Audit Component Quality
Check code quality patterns:
- Prop drilling: data passed through many component layers — should use context or state management
- Giant components: files over 300 lines that should be split
- Type safety: usage of
any, missing types on API responses, untyped props - Error handling: components that crash on bad data instead of showing error states
- Loading states: missing loading indicators on async operations
- Consistency: naming conventions, file structure, import patterns
Step 6: Report
Present findings with specific fixes and impact:
## Frontend Audit Report
### Score: [X/10]
### Bundle Size
- Total: [size] (gzipped)
- Largest chunks: [list]
- Heavy dependencies: [list with alternatives]
- Code splitting: [assessment]
### Dependencies
- Total: [count] deps, [count] devDeps
- Issues: [duplicates, unused, outdated, oversized]
### Accessibility
- Semantic HTML: [pass/issues found]
- Keyboard navigation: [pass/issues found]
- ARIA: [pass/issues found]
- Forms: [pass/issues found]
### Performance
- [issue] → [fix] — estimated impact: [high/medium/low]
### Component Quality
- [issue] → [fix]
### Priority Fixes
1. [highest impact fix] — [estimated effort]
2. [next fix] — [estimated effort]
3. [next fix] — [estimated effort]
Focus on actionable findings. Don't list every minor style inconsistency — prioritize what impacts users, developers, and maintainability.
Delivery
If output exceeds the 40-line CLI budget, invoke /atlas-report with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.