arch-performance-optimization
π―Skillfrom duc01226/easyplatform
Optimizes system performance by triaging and routing to specific strategies for database, frontend, API, jobs, and cross-service bottlenecks.
Installation
npx skills add https://github.com/duc01226/easyplatform --skill arch-performance-optimizationSkill Details
Use when analyzing and improving performance for database queries, API endpoints, frontend rendering, or cross-service communication. Triage skill that routes to database-optimization, frontend-patterns, or provides API/job/cross-service profiling guidance.
Overview
# Performance Optimization
Triage skill for performance issues. Routes to the correct sub-tool or reference based on bottleneck type.
Decision Tree
```
Performance Issue?
βββ Database (slow queries, N+1, indexes, pagination)
β β Invoke database-optimization skill (covers all DB patterns)
βββ Frontend (rendering, bundle size, change detection)
β β β οΈ MUST READ docs/claude/frontend-patterns.md
β β Key: OnPush, trackBy, lazy loading, virtual scroll, tree-shaking
βββ API/Endpoint (response time, payload, serialization)
β β β οΈ MUST READ references/performance-patterns.md (parallel queries, caching, DTOs)
βββ Background Jobs (throughput, batch processing)
β β β οΈ MUST READ references/performance-patterns.md (bounded parallelism, batch ops)
βββ Cross-Service (message bus, eventual consistency)
β β οΈ MUST READ references/performance-patterns.md (payload size, idempotency)
```
Quick Assessment Checklist
- Identify bottleneck type using decision tree above
- Measure baseline (response time, query count, bundle size)
- Route to correct sub-tool or reference
- Apply patterns from the routed resource
- Verify improvement against baseline
- Monitor for regressions
EP-Specific Quick Wins
- Parallel tuple queries:
var (a, b) = await (queryA, queryB); - Eager loading:
repo.GetAllAsync(filter, ct, e => e.Related) - Projections:
.Select(e => new { e.Id, e.Name })instead of full entity - Full-text search:
searchService.Search(q, text, Entity.SearchColumns()) - Batch updates:
repo.UpdateManyAsync(items, dismissSendEvent: true, checkDiff: false) - Paged processing:
PageBy(skip, take)at database level
For detailed patterns, profiling commands, and anti-patterns:
β οΈ MUST READ: .claude/skills/arch-performance-optimization/references/performance-patterns.md
Approval Gate
Present findings and optimization plan. Wait for explicit user approval before making changes -- performance optimizations can have wide-reaching side effects.
IMPORTANT Task Planning Notes
- Always plan and break many small todo tasks
- Always add a final review todo task to review the works done at the end to find any fix or enhancement needed
More from this repository10
Generates comprehensive test plans, test cases, and coverage analysis to support QA engineers in systematic software testing and quality assurance.
Teaches Claude new patterns, preferences, and conventions to remember across coding sessions using explicit learning commands.
Helps Product Owners prioritize ideas, manage backlogs, and communicate product vision through structured decision-making frameworks.
pdf-to-markdown skill from duc01226/easyplatform
Generates comprehensive enterprise module documentation with a 26-section structure, creating detailed specs and folder hierarchy for business features.
readme-improvement skill from duc01226/easyplatform
Manages Claude's learned patterns by listing, viewing, archiving, and dynamically adjusting pattern confidence levels.
Develops comprehensive backend components for .NET microservices using EasyPlatform's CQRS, domain-driven design, and modular architecture patterns.
Analyzes implementation plans by extracting features, assessing change impacts, mapping specifications, and preparing comprehensive technical and business impact reports.
Generates Angular reactive forms with advanced validation, async validators, dependent validation, and FormArrays using platform-specific design patterns.