# 성능 최적화 (performance-optimization)

> 측정·식별·수정·검증·방지 단계로 프런트엔드, 백엔드, DB 성능을 개선하고 효과가 입증된 변경만 유지합니다.

- 카테고리: [성능 최적화](https://www.myskills.tools/ko/categories/performance/)
- 출처: 커뮤니티 · Addy Osmani
- 저장소: https://github.com/addyosmani/agent-skills/tree/main/skills/performance-optimization (commit ee3e850)
- SKILL.md: https://github.com/addyosmani/agent-skills/blob/main/skills/performance-optimization/SKILL.md
- 설치 명령: `npx skills add addyosmani/agent-skills --skill performance-optimization`
- 라이선스: MIT
- 호환 도구: Claude Code, Codex, Cursor, Copilot, Gemini CLI
- 권한: read-repo ✓, write-files ✓, shell ✓, network ✗
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.

## 핵심 규칙

최적화 전에 측정하고 재측정으로 입증된 변경만 남기며, 효과 없는 변경은 되돌립니다.

## 실행 단계

1. **기준선 측정** — 합성 측정(Lighthouse, DevTools)과 실사용자 데이터(web-vitals, CrUX)로 기준선을 잡고 증상에 따라 무엇을 먼저 측정할지 정합니다.
2. **병목 식별** — 증상을 N+1 쿼리, 인덱스 누락, 큰 번들, 메인 스레드 긴 작업 같은 원인과 연결합니다.
3. **한 가지 병목 수정** — 이전 단계에서 찾은 문제만 N+1, 페이지네이션, EXPLAIN ANALYZE, 캐싱, 이미지, 번들 패턴을 참고해 고칩니다.
4. **재측정 후 결정** — 같은 조건으로 재측정해 실행 간 편차와 비교하고, 임계값을 넘고 테스트가 통과할 때만 유지하며 나머지는 되돌립니다. 모든 시도를 기록합니다.
5. **회귀 방지** — 사용자가 체감하는 지표에 대해 CI 합성 예산(bundlesize, Lighthouse CI)과 운영 모니터링을 추가합니다.

## 권한 설명 (SKILL.md 기준)

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | 앱 코드, 쿼리, 설정을 수정하고 시도를 PERF.md나 PR 설명에 기록합니다. |
| 명령 실행 | 필요 | Lighthouse CI, bundlesize, EXPLAIN ANALYZE, 테스트 스위트 같은 측정·테스트 명령을 실행합니다. |
| 네트워크 송신 | 필요 없음 | 외부 서비스 호출을 요구하지 않으며, 측정 대상은 자신의 앱입니다. |

## SKILL.md 프런트매터(YAML)

```yaml
---
name: performance-optimization
description: Optimizes application performance across frontend, backend, queries, and databases. Use when performance requirements exist, when you suspect performance regressions, when Core Web Vitals or load times need improvement, when N+1 query patterns need fixing, or when profiling reveals bottlenecks.
---
```

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/performance-optimization/
