Skip to content
Development
Skill

/vertical-slicing

Guidelines and procedures for planning and implementing end-to-end functional slices for fullstack features.

From plugin
software-development-department
74116 skills28 agents1 MCP

Claude Code

$ npx -y skills add tranhieutt/software_development_department --skill vertical-slicing --agent claude-code

SKILL.md

vertical-slicing.SKILL.md
name: vertical-slicing
type: workflow
description: "Guidelines and procedures for planning and implementing end-to-end functional slices for fullstack features."
user-invocable: true
allowed-tools: Read, Glob, Grep, Write
effort: 3
argument-hint: "[feature, epic, or PRD name]"
when_to_use: "Use when planning a fullstack feature that should be delivered as end-to-end user-value slices instead of separate backend and frontend layers."

Skill: /vertical-slicing

Use this skill when planning complex fullstack features to ensure delivery by user-value units rather than technical layers.

Vertical slices should not merely cross layers. They should also protect depth: keep complexity concentrated behind small interfaces instead of smearing logic across DB, API, and UI callers.

The Vertical Slicing Workflow

1. Identify the Smallest Value Unit

  • Decompose the PRD into slices that represent a functional path.
  • Example: Instead of "Authentication System," start with "Login with Email and Password".

Good slice shape:

  • Narrow enough to demo or verify independently
  • Complete enough to exercise the real seam end-to-end
  • Small enough that one RED -> GREEN loop can prove meaningful progress
  • Not a horizontal placeholder like "backend groundwork" unless that groundwork

is a real prerequisite with its own verification

2. Define the Contract

  • Before implementing, the `lead-programmer` or `backend-developer` must define the API contract.
  • Document this in a Design Doc or temporary spec.

Prefer contracts that create deep modules: small interfaces with meaningful behavior hidden behind them. If a contract mostly forwards data or mirrors caller complexity, it is probably too shallow.

3. Plan the Slice Tasks

Organize each phase to contain:

  • **Database/Data Model**: Schema changes required for this slice.
  • **Backend Implementation**: Logic and API endpoints.
  • **Frontend Integration**: UI components and API consumption.
  • **E2E Verification**: Test verifying the whole path.

For each slice, also record:

  • **Blocked by**: exact prerequisite slice(s) or `None`
  • **Acceptance criteria**: observable end-to-end outcomes
  • **Verification**: exact command/check for the slice
  • **Interface risk**: where a shallow seam or pass-through wrapper could appear

4. Implementation Rules

  • Do not confuse "deepest" with "lowest layer". Start where the slice creates

the strongest behavior seam, then drive outward through the stack.

  • Do not move to the next slice until the current one is "Integration Complete".
  • If a horizontal change is absolutely necessary (e.g., shared middleware), implement it as a prerequisite phase 0.
  • Apply the deletion test to new wrappers and adapters. If deleting the new

abstraction would mostly simplify the code instead of reintroducing complexity across callers, the seam is too shallow.

Benefits for Agents

  • **Context Management**: Focusing on a slice keeps the context window filled with relevant code for that specific path.
  • **Early Feedback**: The user can verify functional pieces earlier.
  • **Reduced Integration Risk**: Cross-layer issues are caught within the slice implementation.
  • **Better Architecture**: Tracer-bullet slices expose where interfaces are deep

enough to keep leverage and where they are only moving complexity around.

Read more
@tranhieutt
Ships withsoftware-development-department

Software Development Department

74116 skills28 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
74
Star history of tranhieutt/software_development_department on GitHub, a chart by star-history.com

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about vertical-slicing.

Which coding agents can use vertical-slicing?
vertical-slicing installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.