可驗證任務拆解
把已有規格拆成依賴清楚、能逐步驗證的小型工作單元。
公開策展紀錄
為什麼推薦
- 明確工作
- 把已有規格拆成依賴清楚、能逐步驗證的小型工作單元。
- 應該啟用
- 規格已確認,但實作包含多個相依步驟。
- 不該啟用
- 需求仍未釐清,或只有一個可直接完成的小步驟。
- 輸入
- 規格
- 相關架構與限制
- 輸出
- 有順序的任務
- 每步驗證
- 風險與依賴
- 和現有 Skill 的差異
- 只拆解已確認的規格,不代替需求訪談或規格撰寫。
- 來源、授權與依賴
-
- 來源:已確認。已於 2026-08-08 確認來源 URL 可達,且 skills/planning-and-task-breakdown/SKILL.md 存在於 addyosmani/agent-skills 的來源樹。
- 授權:已確認。已比對固定 commit 的上游 LICENSE,為 MIT License。
- 依賴:已確認。無額外依賴
- 完成條件
- 每個任務都有單一結果、依賴與驗證方式。
- 最小必要脈絡
- 已核准規格
- 相關專案結構
- 可組合的工作
- 新鮮度與下次複審
- 變動風險:低;最晚於 2027-02-09 前複審。
- 證據層級
- 合成任務測試。已通過隔離式合成任務 evaluator;目前未蒐集採用率或真實使用成功率,不把測試通過冒充社群採用證據。 合成測試通過只代表在隔離案例中符合預期,不等於真實採用率、使用成功率或社群背書。
三類測試證據
提示:規格已核准,請拆成每步可驗證的實作計畫。
預期:應啟用:把已有規格拆成依賴清楚、能逐步驗證的小型工作單元。
結論:提示明確指出規格已核准,且要求拆成逐步可驗證的實作計畫,正符合此 Skill 將既定規格拆成有順序、驗證與依賴之任務的核心工作。
Codex isolated evaluator;read-only sandbox;合成、非敏感輸入;無外部副作用 · 2026-08-09
提示:我還不知道要做什麼,先幫我釐清需求。
預期:不應啟用;邊界:需求仍未釐清,或只有一個可直接完成的小步驟。
結論:需求尚未釐清時不應啟用此 Skill;正確邊界是先進行需求訪談或規格撰寫,待規格確認後才做任務拆解。
Codex isolated evaluator;read-only sandbox;合成、非敏感輸入;無外部副作用 · 2026-08-09
提示:將「新增狀態篩選、保留 URL、增加 smoke test」拆成最小依賴順序。
預期:每步有檔案範圍、完成證據與依賴,最後包含整體回歸。
結論:依功能依賴拆成三個最小工作單元,逐項列出檔案範圍、依賴與完成證據,並以整體回歸作結。因未提供專案結構,檔案範圍只能使用可替換的類型化路徑。
Codex isolated evaluator;read-only sandbox;合成、非敏感輸入;無外部副作用 · 2026-08-09
啟用時機
已有明確需求或規格,但工作太大、不知道從哪一塊開始時。
適合使用情境
- 規格會跨越多個元件或服務。
- 工作需要分給不同代理或不同 session。
- 任務看似很多,但先後順序仍不清楚。
Skill 檔案
SKILL.mdreferences/definition-of-done.md
工作流程
- 讀取規格並畫出必要的相依關係。
- 切成能獨立交付的垂直任務。
- 替每個任務寫明驗收條件、驗證指令與執行順序。
使用注意事項
- 原文固定在上游 commit d2478bf0c73a6357df39a3ed6aff16acaa218843,上游 main 分支之後可能更新。
- 單獨安裝這個 Skill 時不會自動帶入上游根目錄的 references;若要使用完整檢查表,請安裝整個 repo 或另外複製列出的 references。
來源
來源頁標題:Planning and Task Breakdown 任務拆解 Skill
來源識別名稱:planning-and-task-breakdown
Breaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible.
addyosmani/agent-skills@d2478bf/skills/planning-and-task-breakdown/SKILL.md
開啟來源這個 Skill 在做什麼
依相依關係把規格切成可在單一工作階段完成、測試與驗收的任務。
為什麼有用
把前端、後端和測試分成三大包,最後才接在一起,問題通常會堆到很晚才出現。這個 Skill 改用垂直切片,每個任務都要有完成條件、驗證方式與相依關係。
適合什麼場景
- 規格會跨越多個元件或服務。
- 工作需要分給不同代理或不同 session。
- 任務看似很多,但先後順序仍不清楚。
延伸閱讀
---
name: planning-and-task-breakdown
description: Breaks work into ordered tasks. Use when you have a spec or clear requirements and need to break work into implementable tasks. Use when a task feels too large to start, when you need to estimate scope, or when parallel work is possible.
---
# 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 saved to `tasks/plan.md` and a task list saved to `tasks/todo.md`, 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: [the repository's focused-test command]
- [ ] Build succeeds: [the repository's build command]
- [ ] 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)
## Output Files
- **Plan document:** Save the implementation plan to `tasks/plan.md`.
- **Task list:** Save the checklist-style task list to `tasks/todo.md`.
Create the `tasks/` directory if it does not exist. These paths are the convention expected by the `/build` command and other downstream tooling.
## 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`.