Vertical Slice Delivery
Vertical slice delivery structures work as a sequence of small, end-to-end behaviors that each deliver real value on their own. This skill defines how work should be conceptualized and planned.
When to Apply
Apply this skill when:
Designing or delivering a feature Breaking down a multi-step change into meaningful units Estimating progress in terms of user-visible behavior Resuming delivery work after a pause Coordinating multiple changes that must evolve together
Key trigger phrases: "plan this", "break this down", "what tasks", "what are the steps", "plan the fix", "plan the refactor", "how should we fix".
When this skill is selected you MUST load and obey the accompanying AGENTS.md.
What a Vertical Slice Is
A vertical slice is a complete behavior, not a technical step.
Each slice:
delivers a usable end-to-end outcome spans all necessary layers (UI, logic, data, tests) is valuable even if no further slices are completed is safe to deploy to production on its own
A slice that cannot be deployed to production without relying on future work is not a valid slice.
Think:
skateboard → scooter → bicycle → motorcycle → car
Not:
wheels → chassis → engine → body → car
The former delivers value at every step. The latter delivers nothing until the end.
Planning Constraints Work must be divided into behavioral increments Each behavior must stand on its own Behaviors must build additively, never retroactively Each behavior must have a clear owner (slice)
Planning template
Slice ID: Behavior: Includes (layers / concerns):
Good vs Bad Slices
Good:
[S1] Users can view their profile [S2] Users can edit their display name [S3] Users can upload a profile photo
Bad:
[S1] Create User model/migrations [S2] Add profile API endpoints [S3] Build profile UI components
The bad example creates "wheels without a vehicle"—no slice delivers user value until all are complete.
Completion Definition
Work is complete when:
All intended behaviors exist as slices Each behavior stands independently No known gaps remain unowned
Completion is judged by delivered behavior, not task lists.
This skill exists to reduce context loss, avoid speculative design, and keep delivery aligned with real product value.