Agent skill
vertical-slice-planning
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.
Install this agent skill to your Project
npx add-skill https://github.com/jclfocused/claude-agents/tree/main/custom_plugins/plugins/linear-planning-workflow/skills/vertical-slice-planning
SKILL.md
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:
- Build all database models
- Build all API endpoints
- Build all UI components
- Wire everything together
Problems: Nothing works until everything is done, late integration issues, hard to show progress.
Vertical Approach (Prefer)
Building thin, complete features:
- User can view empty product list (UI → API → DB)
- User can add a product (UI → API → DB)
- 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 validation (add later)
- Skip edge cases (add later)
- Skip optimization (add later)
3. Order by Dependency
Which slices enable other slices?
- "View list" before "Filter list"
- "Create item" before "Edit item"
Slice Sizing Guidelines
| Size | Indicators |
|---|---|
| Too Big | Multiple user actions, >2 days work, many acceptance criteria |
| Too Small | Just infrastructure, just types, <1 hour work |
| Just Right | One capability, 1-2 days, 3-5 acceptance criteria |
Naming Convention for Issues
Use prefixes to show slice relationships:
SLICE 1: Basic product list display
SLICE 1.1: Add product image support
SLICE 2: Product search functionality
Questions to Guide Slicing
- What's the first thing a user should be able to do? → First slice
- What's the simplest version of this action? → Strip nice-to-haves
- What do we need to learn before building more? → Early slices
- If we had to ship tomorrow, what would we cut? → Later slices
Integration with Linear Workflow
When creating Linear issues:
- Parent issue = Full feature context
- Direct sub-issues = Vertical slices (potential PRs)
Each slice should be independently deployable, testable, and valuable.
Remember: Ship working software frequently. Slices make this possible.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
graphite-workflow
Use this skill when working with Graphite (gt) for stacked PRs, using execute-issue-graphite agent, or when the user mentions Graphite, stacking, or gt commands. Ensures proper use of gt commands instead of raw git for stack-aware operations.
issue-writing
Use this skill when writing, reviewing, or discussing issue descriptions, acceptance criteria, or task breakdowns. Ensures consistent, high-quality issue structure that any developer or AI can pick up and execute. Triggers when drafting issues, defining requirements, or when users ask "how should I write this issue?" or "what should the acceptance criteria be?"
mvp-scoping
Use this skill when discussing features, planning work, or when users describe what they want to build. Guides MVP thinking - focusing on "what's the minimum to make this work?" rather than comprehensive solutions. Triggers on phrases like "help me think through this feature", "what should we build first?", "how should we scope this?", or any feature planning discussion.
atomic-design-planning
Use this skill when discussing UI components, design systems, frontend implementation, or component architecture. Guides thinking about Atomic Design methodology - atoms, molecules, organisms - and promotes component reuse over creation. Triggers on UI/frontend discussions, "what components do we need?", "should I create a new component?", or design system questions.
linear-discipline
Use this skill when discussing code changes, implementation work, feature status, or when starting/completing development tasks. Reminds about Linear issue tracking discipline - always having an issue in progress before writing code, marking work as done, and creating issues for unexpected scope. Triggers when users mention implementing features, writing code, or checking on work status.
example-skill
Example skill - Claude will autonomously use this based on the description. Describe what this skill does and when to use it.
Didn't find tool you were looking for?