Mastra performance-review
Performance-focused code review for identifying bottlenecks and optimization opportunities
install
source · Clone the upstream repo
git clone https://github.com/mastra-ai/mastra
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/mastra-ai/mastra "$T" && mkdir -p ~/.claude/skills && cp -r "$T/templates/template-github-review-agent/workspace/skills/performance-review" ~/.claude/skills/mastra-ai-mastra-performance-review && rm -rf "$T"
manifest:
templates/template-github-review-agent/workspace/skills/performance-review/SKILL.mdsource content
Performance Review
When reviewing code for performance issues, check each category below. Reference the detailed checklist in
references/performance-checklist.md.
Database & Queries
- N+1 query patterns (queries inside loops)
- Missing database indexes for frequently queried fields
- Unbounded queries without LIMIT/pagination
- SELECT * instead of selecting only needed columns
- Missing connection pooling
Memory & Resources
- Memory leaks: event listeners not removed, intervals not cleared, growing caches without bounds
- Large objects held in memory unnecessarily
- Unbounded arrays or maps that grow with usage
- Missing cleanup in component unmount/destroy lifecycle
Rendering (Frontend)
- Unnecessary re-renders (missing React.memo, useMemo, useCallback where appropriate)
- Large component trees re-rendering for small state changes
- Missing virtualization for long lists
- Synchronous heavy computation blocking the main thread
- Large bundle sizes from unnecessary imports
API & Network
- Missing caching for frequently accessed, rarely changing data
- Sequential API calls that could be parallelized
- Missing pagination for large data sets
- Over-fetching data (requesting more than needed)
- Missing request deduplication
Algorithmic Complexity
- O(n²) or worse operations on potentially large datasets
- Repeated computation that could be memoized
- String concatenation in loops (use array join or template literals)
- Unnecessary sorting or filtering passes
Severity Levels
- 🔴 CRITICAL: Will cause performance degradation under normal load
- 🟠 HIGH: Will cause issues at scale
- 🟡 MEDIUM: Optimization opportunity with measurable impact
- 🔵 LOW: Minor optimization suggestion