tend-perf
Tend Perf — the Quickener
Find the single highest-priority performance issue in this repo, fix it minimally, verify, and hand the diff back for review. Every fix must be mechanically provable from code inspection alone — no profiling, no benchmarks, no intuition. One issue per run.
0. Load config
- Read
.claude/tend/config.yaml. Useskills.perf(off-limits globs,notes) + themodules:list. - No config? Run at core tier: core SvelteKit + TS assumptions, no modules, conservative built-in off-limits (never touch lockfiles, CI,
.env, config). Emit once: "runtend-onboardto sharpen." Continue. - Active modules gate which reference packs load in Phase 2 (progressive disclosure). This skill only ever loads
dataandrealtime— the other three (auth,validation,feature-flags) have no perf-specific pack and are ignored even if active.
1. Triage
MANDATORY READ references/scan-core.md.
Establish: active modules (from config), off-limits set (config globs + built-in rails), and this repo's hot paths — high-frequency event handlers (scroll/input/resize/WS/SSE), request handlers, and any loop over a collection that scales with real data (sessions, players, questions).
2. Scan — priority order, stop at the first real hit
Core (always): O(n²) algorithms with a clear O(n) alternative; redundant calculations or allocations inside hot loops or per-request middleware; missing debounce/throttle on high-frequency DOM events; repeated $derived filters re-traversing the same reactive array; images missing loading="lazy" or served uncompressed.