# 점진적 구현 (incremental-implementation)

> 변경을 얇고 검증 가능한 슬라이스로 조금씩 전달합니다. 작게 구현하고 테스트·검증·커밋한 뒤 다음으로 넘어갑니다.

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

## 핵심 규칙

각 증분 후에도 시스템은 빌드되고 테스트가 통과하는 동작 상태를 유지해야 합니다.

## 실행 단계

1. **분할 방식 선택** — 수직 슬라이스를 우선하고, 프런트·백엔드를 병행하면 계약을 먼저 정하며, 불확실성이 크면 가장 위험한 부분부터 합니다.
2. **최소 구현** — 가장 단순하게 동작하는 방법을 먼저 묻고 작업에 필요한 부분만 바꾸며, 범위 밖 문제는 적어 두고 손대지 않습니다.
3. **테스트와 검증** — 저장소 자체 명령으로 테스트, 빌드, 타입 검사, lint를 실행하고 새 기능이 예상대로 동작하는지 확인합니다.
4. **커밋 후 계속** — 증분마다 한 가지만 바꿔 따로 커밋해 되돌리기 쉽게 하고, 미완성 기능은 기본 꺼짐인 기능 플래그 뒤에 둡니다.

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

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | 작업에 필요한 코드와 테스트를 수정하며 범위 밖 파일은 건드리지 않습니다. |
| 명령 실행 | 필요 | 저장소의 테스트, 빌드, 타입 검사, lint 명령과 git 커밋을 실행합니다. |
| 네트워크 송신 | 필요 없음 | 네트워크 접속을 요구하지 않습니다. |

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

```yaml
---
name: incremental-implementation
description: Delivers changes incrementally in thin, verifiable slices. Use when implementing any feature or change that touches more than one file, or when picking up the next task from a plan. Use when rolling a change out behind a feature flag, when you're about to write a large amount of code at once, or when a task feels too big to land in one step.
---
```

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/incremental-implementation/
