Skip to main content Skills Marketplace Discover and explore AI skills built by the community.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Copy promptShow prompt details A direct command skips the review prompt. Inspect the source before running it.
npx skills add https://github.com/BEKO2210/Firstbrain --skill performance-optimizerThe command stays on one line. Scroll horizontally to inspect it before copying.
Prefer a local copy? Download the files currently available to SkillsMP.
Download Zip Downloading... More from this repository
Related occupations SOC
Based on SOC occupation classification
name performance-optimizer description Identifies and fixes performance bottlenecks in code, databases, and APIs. Measures before and after to prove improvements. type skill created 2026-02-27T00:00:00.000Z domain ai-ml category prompt-engineering risk safe source community tags ["skill","ai-ml","prompt-engineering","performance","optimizer"]
Performance Optimizer
Find and fix performance bottlenecks. Measure, optimize, verify. Make it fast.
When to Use This Skill
App is slow or laggy
User complains about performance
Page load times are high
API responses are slow
Database queries take too long
User mentions "slow", "lag", "performance", or "optimize"
The Optimization Process
1. Measure First
Never optimize without measuring:
console .time ('operation' );
await slowOperation ();
console .timeEnd ('operation' );
What to measure:
Page load time
API response time
Database query time
Function execution time
Memory usage
Network requests
2. Find the Bottleneck
Use profiling tools to find the slow parts:
Browser:
DevTools → Performance tab → Record → Stop
Look for long tasks (red bars)
Node.js:
node --prof app.js
node --prof-process isolate-*.log > profile.txt
Database:
EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com' ;
3. Optimize
Fix the slowest thing first (biggest impact).
Common Optimizations
Database Queries
Problem: N+1 Queries
const users = await db. . ();
( user users) {
user. = db. . ({ : user. });
}
users = db. . ()
. ( );
users
find
for
const
of
posts
await
posts
find
userId
id
const
await
users
find
populate
'posts'
EXPLAIN SELECT * FROM users WHERE email = 'test@example.com' ;
CREATE INDEX idx_users_email ON users(email);
EXPLAIN SELECT * FROM users WHERE email = 'test@example.com' ;
const users = await db.query ('SELECT * FROM users' );
const users = await db.query ('SELECT id, name, email FROM users' );
const users = await db.users .find ();
const users = await db.users .find ()
.limit (20 )
.skip ((page - 1 ) * 20 );
API Performance
app.get ('/api/stats' , async (req, res) => {
const stats = await db.stats .calculate ();
res.json (stats);
});
const cache = new Map ();
app.get ('/api/stats' , async (req, res) => {
const cached = cache.get ('stats' );
if (cached && Date .now () - cached.time < 300000 ) {
return res.json (cached.data );
}
const stats = await db.stats .calculate ();
cache.set ('stats' , { data : stats, time : Date .now () });
res.json (stats);
});
Problem: Sequential Operations
const user = await getUser (id);
const posts = await getPosts (id);
const comments = await getComments (id);
const [user, posts, comments] = await Promise .all ([
getUser (id),
getPosts (id),
getComments (id)
]);
res.json (users);
res.json (users.map (u => ({
id : u.id ,
name : u.name ,
email : u.email
})));
Frontend Performance Problem: Unnecessary Re-renders
function UserList ({ users } ) {
return users.map (user => <UserCard user ={user} /> );
}
const UserCard = React .memo (({ user } ) => {
return <div > {user.name}</div > ;
});
import _ from 'lodash' ;
import debounce from 'lodash/debounce' ;
Problem: No Code Splitting
import HeavyComponent from './HeavyComponent' ;
const HeavyComponent = React .lazy (() => import ('./HeavyComponent' ));
Problem: Unoptimized Images
<img src ="photo.jpg" />
<img
src ="photo-small.webp"
srcset ="photo-small.webp 400w, photo-large.webp 800w"
loading ="lazy"
width ="400"
height ="300"
/>
Algorithm Optimization Problem: Inefficient Algorithm
function findDuplicates (arr ) {
const duplicates = [];
for (let i = 0 ; i < arr.length ; i++) {
for (let j = i + 1 ; j < arr.length ; j++) {
if (arr[i] === arr[j]) duplicates.push (arr[i]);
}
}
return duplicates;
}
function findDuplicates (arr ) {
const seen = new Set ();
const duplicates = new Set ();
for (const item of arr) {
if (seen.has (item)) duplicates.add (item);
seen.add (item);
}
return Array .from (duplicates);
}
Problem: Repeated Calculations
function getTotal (items ) {
return items.reduce ((sum, item ) => sum + item.price * item.quantity , 0 );
}
const getTotal = useMemo (() => {
return items.reduce ((sum, item ) => sum + item.price * item.quantity , 0 );
}, [items]);
Memory Optimization
useEffect (() => {
window .addEventListener ('scroll' , handleScroll);
}, []);
useEffect (() => {
window .addEventListener ('scroll' , handleScroll);
return () => window .removeEventListener ('scroll' , handleScroll);
}, []);
Problem: Large Data in Memory
const data = fs.readFileSync ('huge-file.txt' );
const stream = fs.createReadStream ('huge-file.txt' );
stream.on ('data' , chunk => process (chunk));
Measuring Impact Always measure before and after:
console .time ('query' );
const users = await db.users .find ();
console .timeEnd ('query' );
console .time ('query' );
const users = await db.users .find ();
console .timeEnd ('query' );
Performance Budgets Page Load: < 2 seconds
API Response: < 200ms
Database Query: < 50ms
Bundle Size: < 200KB
Time to Interactive: < 3 seconds
Tools
Chrome DevTools Performance tab
Lighthouse (audit)
Network tab (waterfall)
node --prof (profiling)
clinic (diagnostics)
autocannon (load testing)
EXPLAIN ANALYZE (query plans)
Slow query log
Database profiler
New Relic
Datadog
Sentry Performance
Quick Wins Easy optimizations with big impact:
Add database indexes on frequently queried columns
Enable gzip compression on server
Add caching for expensive operations
Lazy load images and heavy components
Use CDN for static assets
Minify and compress JavaScript/CSS
Remove unused dependencies
Use pagination instead of loading all data
Optimize images (WebP, proper sizing)
Enable HTTP/2 on server
Optimization Checklist
When NOT to Optimize
Premature optimization (optimize when it's actually slow)
Micro-optimizations (save 1ms when page takes 5 seconds)
Readable code is more important than tiny speed gains
If it's already fast enough
Key Principles
Measure before optimizing
Fix the biggest bottleneck first
Measure after to prove improvement
Don't sacrifice readability for tiny gains
Profile in production-like environment
Consider the 80/20 rule (20% of code causes 80% of slowness)
Related Skills
@database-design - Query optimization
@codebase-audit-pre-push - Code review
@bug-hunter - Debugging
Connections
Domain: [[KI & Machine Learning]]
Kategorie: [[Prompt Engineering]]
Navigation: [[Skills Uebersicht]], [[Home]]