Use this skill when discussing feature breakdown, PR structure, implementation ordering, or how to decompose work. Guides thinking about vertical slices (end-to-end functionality) rather than horizontal layers (all of one layer first). Triggers on "how should we break this down?", "what order should we implement?", "how many PRs?", or decomposition discussions.
View on GitHubjclfocused/claude-agents
linear-planning-workflow
custom_plugins/plugins/linear-planning-workflow/skills/vertical-slice-planning/SKILL.md
January 21, 2026
Select agents to install to:
npx add-skill https://github.com/jclfocused/claude-agents/blob/main/custom_plugins/plugins/linear-planning-workflow/skills/vertical-slice-planning/SKILL.md -a claude-code --skill vertical-slice-planningInstallation paths:
.claude/skills/vertical-slice-planning/# Vertical Slice Planning Skill
This skill guides the decomposition of features into vertical slices - thin, end-to-end pieces of functionality that can be shipped independently.
## When to Use
Apply this skill when:
- Breaking down a feature into sub-issues
- Deciding implementation order for a feature
- Planning PR structure for a feature
- Users ask "how should we break this down?"
- Discussing what to build first
- Reviewing feature decomposition plans
## What is a Vertical Slice?
A vertical slice cuts through ALL layers of the application to deliver a thin piece of complete functionality.
```
┌─────────────────────────────────────────┐
│ HORIZONTAL LAYERS │
├─────────────────────────────────────────┤
│ UI Layer │ █ │ │ │ │
├────────────────┼───┼─────┼─────┼────────┤
│ API Layer │ █ │ │ │ │
├────────────────┼───┼─────┼─────┼────────┤
│ Service Layer │ █ │ │ │ │
├────────────────┼───┼─────┼─────┼────────┤
│ Data Layer │ █ │ │ │ │
└────────────────┴───┴─────┴─────┴────────┘
↑
Vertical Slice
(Complete feature)
```
## Vertical vs Horizontal
### Horizontal Approach (Avoid)
Building all of one layer before moving to the next:
1. Build all database models
2. Build all API endpoints
3. Build all UI components
4. Wire everything together
**Problems:** Nothing works until everything is done, late integration issues, hard to show progress.
### Vertical Approach (Prefer)
Building thin, complete features:
1. User can view empty product list (UI → API → DB)
2. User can add a product (UI → API → DB)
3. User can edit a product (UI → API → DB)
**Benefits:** Each slice is shippable, continuous integration, visible progress.
## How to Identify Vertical Slices
### 1. Start with User Actions
What can the user DO? Each action is often a slice.
### 2. Find the Thinnest Version
For each action, what's the minimal implementation?
- Skip