performance-optimisation

nicholasgriffintn's avatarfrom nicholasgriffintn

Analyses and optimises performance across frontend, backend and database interactions. Identifies bottlenecks and implements solutions to enhance speed and efficiency.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 3, 2026

When & Why to Use This Skill

This Claude skill is a comprehensive performance optimization toolkit designed to analyze and enhance full-stack applications. It provides a systematic workflow to identify and resolve bottlenecks across frontend interfaces, backend logic, and database interactions. By leveraging profiling tools and data-driven analysis, it helps developers improve application speed, reduce latency, and optimize resource consumption for high-performance software delivery.

Use Cases

  • Database Performance Tuning: Using EXPLAIN ANALYZE to identify slow queries and implementing indexing or schema optimizations to reduce data retrieval lag.
  • Backend Resource Profiling: Utilizing tools like cProfile for Python or Node.js profilers to detect CPU-intensive functions and memory leaks in server-side code.
  • Frontend Web Optimization: Analyzing Lighthouse reports to improve Core Web Vitals, minimize render-blocking resources, and enhance overall user experience scores.
  • Algorithm & Logic Refinement: Identifying inefficient data structures or redundant computations within the codebase and replacing them with optimized, high-efficiency alternatives.
nameperformance-optimisation
descriptionAnalyses and optimises performance across frontend, backend and database interactions. Identifies bottlenecks and implements solutions to enhance speed and efficiency.

Performance Optimisation Skill

Tooling Notes

This skill should only use read-only commands and avoid modifying files.

Workflow

Copy this checklist and use it to track your progress through the performance optimisation process:

Performance Optimisation Checklist

- [ ] Measure Baseline Performance
  - [ ] Use profiling tools to gather performance metrics.
  - [ ] Identify slow functions, database queries, and network requests.
- [ ] Identify Bottlenecks
  - [ ] Analyse profiling data to pinpoint performance issues.
  - [ ] Prioritise issues based on impact and ease of resolution.
- [ ] Implement Optimisations
  - [ ] Optimise algorithms and data structures.
  - [ ] Improve database query efficiency.
  - [ ] Reduce network latency and payload sizes.
  - [ ] Implement caching strategies where appropriate.
- [ ] Validate Improvements
  - [ ] Re-measure performance after optimisations.
  - [ ] Ensure that optimisations have led to measurable improvements.
- [ ] Document Changes
  - [ ] Update documentation to reflect performance changes.
  - [ ] Provide explanations for significant optimisations.

Profiling Commands

# Node.js profiling
node --prof app.js
node --prof-process isolate-0x*.log > processed.txt

# Python profiling
python -m cProfile -o profile.out app.py
snakeviz profile.out

# Database query analysis (PostgreSQL example)
EXPLAIN ANALYZE SELECT * FROM your_table WHERE condition;

# Web performance analysis
lighthouse https://yourwebsite.com --output html --output-path report.html

Common Bottlenecks and Ways to Fix Them

  • Inefficient Algorithms: Replace with more efficient algorithms or data structures.
  • Database Query Performance: Optimize queries, add indexes, or denormalize data.
  • Network Latency: Minimize requests, use CDNs, and compress payloads.
  • Unnecessary Computations: Cache results of expensive operations.
  • Memory Leaks: Identify and fix memory leaks to improve performance over time.