옵션
집 Skill 생산성 및 작업흐름 planning-and-task-breakdown

planning-and-task-breakdown

addyosmani/agent-skills addyosmani/agent-skills

작업은 명확한 수락 기준을 갖춘 작고 검증 가능한 작업 단위로 분할하고, 종속성 순서대로 배열하며, 안정적인 구현을 위해 수직적으로 세분화해야 합니다.

...모든 것을 확장하십시오
8
업데이트 된 시간 2026년 9월 3일

계획 수립 및 업무 세분화

개요

업무를 명확한 인수 기준이 있는 작고 검증 가능한 작업으로 세분화하십시오. 적절한 작업 세분화는 업무를 안정적으로 완료하는 담당자와 엉망진창을 만들어내는 담당자의 차이를 결정합니다. 모든 작업은 한 번의 집중적인 세션 동안 구현, 테스트 및 검증이 가능할 정도로 충분히 작아야 합니다.

사용 시점

  • 사양서가 있으며 이를 구현 가능한 단위로 분할해야 할 때
  • 작업이 너무 방대하거나 모호하여 시작하기 어려울 때
  • 여러 담당자나 세션에 걸쳐 작업을 병렬로 처리해야 할 때
  • 작업 범위를 담당자에게 전달해야 할 때
  • 구현 순서가 명확하지 않은 경우

사용하지 말아야 할 경우: 범위가 명확한 단일 파일 변경 사항이거나, 사양서에 이미 명확하게 정의된 작업이 포함되어 있는 경우.

계획 수립 과정

1단계: 계획 모드 진입

코드를 작성하기 전에 읽기 전용 모드로 작업하십시오:

  • 사양서와 관련 코드베이스 섹션을 읽으십시오
  • 기존 패턴과 관례를 파악합니다
  • 컴포넌트 간의 종속성을 파악합니다
  • 위험 요소와 불확실한 사항을 기록하십시오

기획 단계에서는 코드를 작성하지 마십시오. 이 단계의 산출물은 구현물이 아닌 계획 문서입니다.

2단계: 의존성 그래프 파악

무엇이 무엇에 의존하는지 매핑하기:

데이터베이스 스키마
    │
    ├── API 모델/타입
    │       │
    │       ├── API 엔드포인트
    │       │       │
    │       │       └── 프론트엔드 API 클라이언트
    │       │               │
    │       │               └── UI 컴포넌트
    │       │
    │       └── 유효성 검사 로직
    │
    └── 시드 데이터 / 마이그레이션

구현 순서는 의존성 그래프를 하단에서 상단으로 따릅니다. 먼저 기반을 구축합니다.

3단계: 수직으로 분할하기

데이터베이스 전체를 먼저 구축하고, 그 다음 API 전체를, 마지막으로 UI 전체를 구축하는 대신, 한 번에 하나의 완전한 기능 경로를 구축합니다:

나쁜 예(수평적 분할):

작업 1: 전체 데이터베이스 스키마 구축
작업 2: 모든 API 엔드포인트 구축
작업 3: 모든 UI 컴포넌트 구축
작업 4: 모든 요소 연결

올바른 방법(수직 분할):

작업 1: 사용자가 계정을 생성할 수 있도록 하기 (등록을 위한 스키마 + API + UI)
작업 2: 사용자가 로그인할 수 있도록 하기 (인증 스키마 + API + 로그인을 위한 UI)
작업 3: 사용자가 작업을 생성할 수 있음 (작업 스키마 + API + 생성용 UI)
작업 4: 사용자가 작업 목록을 볼 수 있음 (쿼리 + API + 목록 보기용 UI)

각 수직 분할은 작동하고 테스트 가능한 기능을 제공합니다.

4단계: 작업 작성

각 태스크는 다음 구조를 따릅니다:

## 작업 [N]: [간결한 설명 제목]

**설명:** 이 작업이 무엇을 달성하는지 설명하는 한 단락.

**수락 기준:**
- [ ] [구체적이고 테스트 가능한 조건]
- [ ] [구체적이고 테스트 가능한 조건]

**검증:**
- [ ] 테스트 통과: `npm test -- --grep "feature-name"`
- [ ] 빌드 성공: `npm run build`
- [ ] 수동 확인: [검증할 내용에 대한 설명]

**의존성:** [이 작업에 필요한 다른 작업 번호, 또는 "없음"]

**수정될 가능성이 있는 파일:**
- `src/path/to/file.ts`
- `tests/path/to/test.ts`

**예상 범위:** [소규모: 1~2개 파일 | 중규모: 3~5개 파일 | 대규모: 5개 이상 파일]

5단계: 순서 및 체크포인트

다음과 같이 태스크를 구성하십시오:

  1. 의존성이 충족되도록 (먼저 기반을 구축)
  2. 각 작업이 완료된 후 시스템이 정상적으로 작동하는 상태를 유지해야 함
  3. 2~3개의 작업마다 검증 체크포인트가 발생하도록
  4. 고위험 작업은 초기 단계에 배치 (빠른 실패 확인)

명시적인 체크포인트를 추가하십시오:

## 체크포인트: 작업 1~3 완료 후
- [ ] 모든 테스트 통과
- [ ] 오류 없이 애플리케이션 빌드 완료
- [ ] 핵심 사용자 흐름이 종단 간 정상 작동
- [ ] 진행 전에 담당자와 검토

작업 규모 산정 지침

규모 파일 범위 예시
XS 1 단일 함수 또는 구성 변경 유효성 검사 규칙 추가
S 1-2 단일 컴포넌트 또는 엔드포인트 새로운 API 엔드포인트 추가
M 3-5 하나의 기능 슬라이스 사용자 등록 흐름
L 5-8 다중 구성 요소 기능 필터링 및 페이지 분할 기능이 포함된 검색
XL 8+ 너무 큽니다 — 더 세분화하세요

작업의 규모가 L이거나 그보다 크다면, 더 작은 작업들로 세분화해야 합니다. 담당자는 S 및 M 규모의 작업에서 가장 높은 성과를 냅니다.

작업을 더 세분화해야 하는 경우:

  • 집중해서 작업하는 세션 한 번 이상(대략 2시간 이상의 담당자 작업 시간)이 소요될 경우
  • 수락 기준을 3개 이하의 항목으로 설명할 수 없는 경우
  • 두 개 이상의 독립적인 하위 시스템(예: 인증 및 청구)에 영향을 미치는 경우
  • 작업 제목에 “그리고”라는 단어를 사용하게 되는 경우(이는 두 개의 작업으로 나뉘어야 한다는 신호임)

계획서 템플릿

# 구현 계획: [기능/프로젝트 이름]

## 개요
[개발 대상에 대한 한 단락 요약]

## 아키텍처 결정 사항
- [주요 결정 사항 1 및 근거]
- [주요 결정 사항 2 및 근거]

## 작업 목록

### 1단계: 기반 구축
- [ ] 작업 1: ...
- [ ] 작업 2: ...

### 점검 항목: 기반 구축
- [ ] 테스트 통과, 빌드 정상 완료

### 2단계: 핵심 기능
- [ ] 작업 3: ...
- [ ] 작업 4: ...

### 점검 항목: 핵심 기능
- [ ] 엔드투엔드 흐름 정상 작동

### 3단계: 마무리 작업
- [ ] 작업 5: ...
- [ ] 작업 6: ...

### 체크포인트: 완료
- [ ] 모든 승인 기준 충족
- [ ] 검토 준비 완료

## 위험 및 완화 방안
| 위험 | 영향 | 완화 방안 |
|------|--------|------------|
| [위험] | [높음/중간/낮음] | [전략] |

## 미해결 사항
- [사람의 개입이 필요한 질문]

병렬화 기회

여러 에이전트나 세션이 사용 가능한 경우:

  • 병렬화해도 안전한 항목: 독립적인 기능 단위, 이미 구현된 기능에 대한 테스트, 문서
  • 순차적으로 수행해야 함: 데이터베이스 마이그레이션, 공유 상태 변경, 종속성 체인
  • 조정이 필요한 경우: API 계약을 공유하는 기능(먼저 계약을 정의한 후 병렬화)

일반적인 타당성 근거

합리화 근거 현실
"하면서 알아서 해결할 거야" 그렇게 하면 결국 엉망진창이 되어 재작업이 발생합니다. 10분만 계획하면 몇 시간을 절약할 수 있습니다.
"할 일은 뻔하니까" 그래도 꼭 적어 두세요. 작업을 명확히 정리하면 숨겨진 의존 관계와 간과된 예외 사례가 드러납니다.
"계획은 불필요한 수고일 뿐이다" 계획 세우는 것 자체가 작업입니다. 계획 없이 구현하는 건 그저 키보드만 두드리는 것에 불과합니다.
"머릿속으로 다 기억할 수 있어" 컨텍스트 창은 유한합니다. 문서화된 계획은 세션 경계와 압축 과정을 넘어 살아남습니다.

주의 신호

  • 서면으로 작성된 작업 목록 없이 구현을 시작하는 경우
  • 수락 기준 없이 “기능 구현”이라고만 명시된 작업
  • 계획에 검증 단계가 없는 경우
  • 모든 작업이 XL 규모인 경우
  • 작업 간에 체크포인트가 없음
  • 의존성 순서를 고려하지 않음

검증

구현을 시작하기 전에 다음 사항을 확인하십시오:

  • 모든 태스크에 승인 기준이 있는지
  • 모든 작업에 검증 단계가 포함되어 있는지
  • 작업 간의 종속성이 식별되어 있고 올바르게 순서가 정해져 있는지
  • 어떤 작업도 ~5개 이상의 파일을 다루지 않아야 합니다
  • 주요 단계 사이에 점검 지점이 존재해야 합니다
  • 담당자가 계획을 검토하고 승인했습니다

참조

수락 기준은 작업별로 설정되며, “올바른 것을 구축했는가?”라는 질문에 답합니다. 이는 프로젝트 전체에 적용되는 ‘완료 정의(Definition of Done)’ 위에 위치하며, 모든 작업이 완료로 간주되기 전에 넘어야 할 필수 관문입니다. references/definition-of-done.md를 참조하십시오.

GitHub에서 보기
---
name: planning-and-task-breakdown
description: Decompose work into small, verifiable tasks with explicit acceptance criteria, ordered by dependencies and sliced vertically for reliable implementation.
---

# Planning and Task Breakdown

## Overview

Decompose work into small, verifiable tasks with explicit acceptance criteria. Good task breakdown is the difference between an agent that completes work reliably and one that produces a tangled mess. Every task should be small enough to implement, test, and verify in a single focused session.

## When to Use

- You have a spec and need to break it into implementable units
- A task feels too large or vague to start
- Work needs to be parallelized across multiple agents or sessions
- You need to communicate scope to a human
- The implementation order isn't obvious

**When NOT to use:** Single-file changes with obvious scope, or when the spec already contains well-defined tasks.

## The Planning Process

### Step 1: Enter Plan Mode

Before writing any code, operate in read-only mode:

- Read the spec and relevant codebase sections
- Identify existing patterns and conventions
- Map dependencies between components
- Note risks and unknowns

**Do NOT write code during planning.** The output is a plan document, not implementation.

### Step 2: Identify the Dependency Graph

Map what depends on what:

```
Database schema
    │
    ├── API models/types
    │       │
    │       ├── API endpoints
    │       │       │
    │       │       └── Frontend API client
    │       │               │
    │       │               └── UI components
    │       │
    │       └── Validation logic
    │
    └── Seed data / migrations
```

Implementation order follows the dependency graph bottom-up: build foundations first.

### Step 3: Slice Vertically

Instead of building all the database, then all the API, then all the UI — build one complete feature path at a time:

**Bad (horizontal slicing):**
```
Task 1: Build entire database schema
Task 2: Build all API endpoints
Task 3: Build all UI components
Task 4: Connect everything
```

**Good (vertical slicing):**
```
Task 1: User can create an account (schema + API + UI for registration)
Task 2: User can log in (auth schema + API + UI for login)
Task 3: User can create a task (task schema + API + UI for creation)
Task 4: User can view task list (query + API + UI for list view)
```

Each vertical slice delivers working, testable functionality.

### Step 4: Write Tasks

Each task follows this structure:

```markdown
## Task [N]: [Short descriptive title]

**Description:** One paragraph explaining what this task accomplishes.

**Acceptance criteria:**
- [ ] [Specific, testable condition]
- [ ] [Specific, testable condition]

**Verification:**
- [ ] Tests pass: `npm test -- --grep "feature-name"`
- [ ] Build succeeds: `npm run build`
- [ ] Manual check: [description of what to verify]

**Dependencies:** [Task numbers this depends on, or "None"]

**Files likely touched:**
- `src/path/to/file.ts`
- `tests/path/to/test.ts`

**Estimated scope:** [Small: 1-2 files | Medium: 3-5 files | Large: 5+ files]
```

### Step 5: Order and Checkpoint

Arrange tasks so that:

1. Dependencies are satisfied (build foundation first)
2. Each task leaves the system in a working state
3. Verification checkpoints occur after every 2-3 tasks
4. High-risk tasks are early (fail fast)

Add explicit checkpoints:

```markdown
## Checkpoint: After Tasks 1-3
- [ ] All tests pass
- [ ] Application builds without errors
- [ ] Core user flow works end-to-end
- [ ] Review with human before proceeding
```

## Task Sizing Guidelines

| Size | Files | Scope | Example |
|------|-------|-------|---------|
| **XS** | 1 | Single function or config change | Add a validation rule |
| **S** | 1-2 | One component or endpoint | Add a new API endpoint |
| **M** | 3-5 | One feature slice | User registration flow |
| **L** | 5-8 | Multi-component feature | Search with filtering and pagination |
| **XL** | 8+ | **Too large — break it down further** | — |

If a task is L or larger, it should be broken into smaller tasks. An agent performs best on S and M tasks.

**When to break a task down further:**
- It would take more than one focused session (roughly 2+ hours of agent work)
- You cannot describe the acceptance criteria in 3 or fewer bullet points
- It touches two or more independent subsystems (e.g., auth and billing)
- You find yourself writing "and" in the task title (a sign it is two tasks)

## Plan Document Template

```markdown
# Implementation Plan: [Feature/Project Name]

## Overview
[One paragraph summary of what we're building]

## Architecture Decisions
- [Key decision 1 and rationale]
- [Key decision 2 and rationale]

## Task List

### Phase 1: Foundation
- [ ] Task 1: ...
- [ ] Task 2: ...

### Checkpoint: Foundation
- [ ] Tests pass, builds clean

### Phase 2: Core Features
- [ ] Task 3: ...
- [ ] Task 4: ...

### Checkpoint: Core Features
- [ ] End-to-end flow works

### Phase 3: Polish
- [ ] Task 5: ...
- [ ] Task 6: ...

### Checkpoint: Complete
- [ ] All acceptance criteria met
- [ ] Ready for review

## Risks and Mitigations
| Risk | Impact | Mitigation |
|------|--------|------------|
| [Risk] | [High/Med/Low] | [Strategy] |

## Open Questions
- [Question needing human input]
```

## Parallelization Opportunities

When multiple agents or sessions are available:

- **Safe to parallelize:** Independent feature slices, tests for already-implemented features, documentation
- **Must be sequential:** Database migrations, shared state changes, dependency chains
- **Needs coordination:** Features that share an API contract (define the contract first, then parallelize)

## Common Rationalizations

| Rationalization | Reality |
|---|---|
| "I'll figure it out as I go" | That's how you end up with a tangled mess and rework. 10 minutes of planning saves hours. |
| "The tasks are obvious" | Write them down anyway. Explicit tasks surface hidden dependencies and forgotten edge cases. |
| "Planning is overhead" | Planning is the task. Implementation without a plan is just typing. |
| "I can hold it all in my head" | Context windows are finite. Written plans survive session boundaries and compaction. |

## Red Flags

- Starting implementation without a written task list
- Tasks that say "implement the feature" without acceptance criteria
- No verification steps in the plan
- All tasks are XL-sized
- No checkpoints between tasks
- Dependency order isn't considered

## Verification

Before starting implementation, confirm:

- [ ] Every task has acceptance criteria
- [ ] Every task has a verification step
- [ ] Task dependencies are identified and ordered correctly
- [ ] No task touches more than ~5 files
- [ ] Checkpoints exist between major phases
- [ ] The human has reviewed and approved the plan

## See Also

Acceptance criteria are per-task and answer "did we build the right thing?". They sit on top of the project-wide Definition of Done, the standing bar every task clears before it counts as done. See `references/definition-of-done.md`.

모든 파일

0개 파일

planning-and-task-breakdown 설치

스킬 파일을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어주세요.

ZIP 다운로드

저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.

git clone https://github.com/addyosmani/agent-skills/tree/main/skills/planning-and-task-breakdown # Copy SKILL.md to your .claude/skills/ directory

복사 복사
빠른 설정: 스킬 폴더를 .claude/skills/로 복사하세요. Claude가 해당 스킬을 자동으로 감지하여 사용할 것입니다.

관련 스킬

notion-automation
업데이트 된 시간 2026년 6월 29일
airtable-automation
업데이트 된 시간 2026년 6월 29일
seo-programmatic
업데이트 된 시간 2026년 6월 29일
revops
업데이트 된 시간 2026년 6월 29일
OR