Agent skill
performance-optimizing
Identifies and fixes performance bottlenecks. Use when optimizing code performance, fixing slow operations, or when asked to improve speed.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/performance-optimizing
SKILL.md
Performance Optimizing
Optimization Workflow
- Measure first - Don't optimize without data
- Find bottlenecks - Profile to identify hot paths
- Fix the biggest issue - Pareto principle (80/20)
- Measure again - Verify improvement
- Document - Record what changed and why
Common Bottlenecks
Database
| Problem | Solution |
|---|---|
| N+1 queries | Eager loading, batching |
| Missing indexes | Add indexes on WHERE/JOIN columns |
| Full table scans | Optimize queries, add indexes |
| Over-fetching | Select only needed columns |
// Bad - N+1 queries
for (const user of users) {
const posts = await db.posts.findByUserId(user.id);
}
// Good - single query with join
const usersWithPosts = await db.users.findAll({
include: ['posts'],
});
Memory
| Problem | Solution |
|---|---|
| Memory leaks | Clear references, use WeakMap |
| Large objects | Stream processing, pagination |
| Duplicated data | Normalize, use references |
CPU
| Problem | Solution |
|---|---|
| Blocking operations | Use async/workers |
| Redundant computation | Memoization, caching |
| Inefficient algorithms | Better data structures |
// Bad - O(n) lookup on every iteration
for (const item of items) {
if (list.includes(item.id)) { ... }
}
// Good - O(1) lookup with Set
const idSet = new Set(list);
for (const item of items) {
if (idSet.has(item.id)) { ... }
}
Network
| Problem | Solution |
|---|---|
| Too many requests | Batching, HTTP/2 |
| Large payloads | Compression, pagination |
| No caching | HTTP caching, CDN |
Quick Wins
- Add indexes on frequently queried columns
- Enable compression (gzip/brotli)
- Implement caching at appropriate layers
- Use pagination for large datasets
- Lazy load non-critical resources
Anti-Patterns
- Premature optimization without measurement
- Micro-optimizations that hurt readability
- Caching everything (cache invalidation is hard)
- Optimizing cold paths
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?