architecting-systems
Guides clean, scalable system architecture during the build phase. Use when designing modules, defining boundaries, structuring…
Measure-first performance optimization that balances gains against complexity. Use when addressing slow code, profiling issues, or evaluating optimization trade-offs.
$ npx -y skills add rileyhilliard/claude-essentials --skill optimizing-performance --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/optimizing-performanceContext preview
The summary Claude sees to decide when to auto-load this skill.
Measure-first performance optimization that balances gains against complexity. Use when addressing slow code, profiling issues, or evaluating optimization trade-offs.
name: optimizing-performance description: Measure-first performance optimization that balances gains against complexity. Use when addressing slow code, profiling issues, or evaluating optimization trade-offs.
**Core principle:** Readable code that's "fast enough" beats complex code that's "optimal". Measure first.
**Focus area:** Use an explicitly named target if one was given. Otherwise, run `git diff` and focus on unstaged changes. If no unstaged changes exist, ask the user what to optimize.
IF optimization reduces complexity AND improves performance → ALWAYS DO IT IF optimization increases complexity → Only if 10x faster OR fixes critical UX (>16ms UI, >100ms input)
**Multiple loops → Single loop:**
// ❌ Three passes
const ids = users.map(u => u.id);
const active = users.filter(u => u.active);
// ✅ One pass
const { ids, active } = users.reduce((acc, u) => {
acc.ids.push(u.id);
if (u.active) acc.active.push(u);
return acc;
}, { ids: [], active: [] });**Nested loops → Hash map (O(n²) → O(n)):**
// ❌ O(n²) const matched = orders.filter(o => users.some(u => u.id === o.userId)); // ✅ O(n) const userIds = new Set(users.map(u => u.id)); const matched = orders.filter(o => userIds.has(o.userId));
| Pattern | When | Fix | |---------|------|-----| | Virtualization | Lists >1000 items | react-window, tanstack-virtual | | Memoization | >5ms calc OR unnecessary re-renders | `useMemo`, `React.memo` | | Batching | Multiple state updates | Single setState, bulk INSERT | | Lazy loading | Large dependencies | `import('./heavy-lib')` |
A unified development plugin for Claude Code with essential skills and specialized agents, all accessible under the ce namespace.
Guides clean, scalable system architecture during the build phase. Use when designing modules, defining boundaries, structuring…
Enforces precise, minimal design for dashboards and admin interfaces. Use when building SaaS UIs, data-heavy interfaces, or any…
Executes implementation plans directly with a verification gate and conditional code review. Use when carrying out a written plan…
Diagnose and fix tests that pass in isolation but fail when run concurrently. Covers shared state isolation, resource conflicts,…
Prevents silent failures and context loss in error handling. Use when writing try-catch blocks, designing error propagation,…
Guides database architecture for PostgreSQL, DuckDB, Parquet, PGVector, and Neo4j. Use when designing schemas, choosing storage…