What problem does this solve?
When brainstorming a large feature (e.g., a self-improvement orchestrator, a plugin system, an auth overhaul), the current workflow produces a single monolithic spec → single monolithic plan → long execution chain. This creates several problems:
- Integration risk concentrates at the end. All layers (data, logic, API, UI) get built before anything runs end-to-end.
- Feedback arrives too late. The user (or stakeholders) can't interact with anything until the full plan is executed.
- AI context window strain. Large plans push agents to their limits — the recent #1152 (5h token budget consumed in one run) is partly a symptom of plan size.
- Pivot cost is high. Discovering a wrong assumption after executing 70% of a large plan is expensive.
Vertical slice development solves this by decomposing a large feature into ordered, independently shippable slices — each cutting through every layer of the system and delivering user-visible value.
Background: What is vertical slice development?
A vertical slice is a complete piece of functionality that cuts through every layer of the application — from UI to database — and delivers working, testable value in a single iteration. Instead of building all the infrastructure, then all the APIs, then all the UI ("horizontal layers"), you build one thin, complete feature at a time.
Key concepts from the literature:
- Walking Skeleton (Alistair Cockburn): The thinnest possible end-to-end implementation that links all major architectural components. It validates the architecture before expensive feature development. This is typically "slice zero."
- Elephant Carpaccio (Cockburn): A practice for learning to identify 15-20 slices where teams initially see 2-3.
- User Story Mapping (Jeff Patton): Visualize user activities horizontally, slice vertically to define releases.
- INVEST criteria: Each slice should be Independent, Negotiable, Valuable, Estimable, Small, Testable.
- Skeleton Architecture (InfoQ, 2026): Specifically designed for AI-assisted development — humans define immutable skeleton structures, AI generates feature implementations within those constraints.
The existing self-improvement plan (2026-04-15-self-improvement-vertical-slice.md) already demonstrates this thinking — it picks ONE rule and wires it through all 7 integration seams. The question is how to systematize this approach in the workflow.
Proposed solution
Introduce a Vertical Development Mode that activates for large features and decomposes them into ordered vertical slices, each of which flows through the existing plan → execute pipeline.
Where in the workflow?
After evaluating the current 7-phase brainstorming flow, the most natural insertion point is a two-touch approach:
Touch 1: Early signal during brainstorming (lightweight)
During the clarifying questions phase (Phase 2), when the system detects a large feature (multiple user journeys, multiple system layers, estimated >3 plan chunks), it asks:
"This looks like a substantial feature that touches multiple layers. Would you like to use vertical slice development to break it into independently shippable increments?"
This is just a flag-setting question — it doesn't change the brainstorming flow. The full feature still gets brainstormed, designed, and spec'd. But the system knows it will need to slice later.
Touch 2: Formal slicing after spec approval (the core)
After the spec is approved and before invoking writing-plans, a new Vertical Slicing Phase activates:
[Existing flow]
Phase 6: Spec Writing → user approves spec
↓
[NEW] Vertical Slicing Phase
↓
[Existing flow]
Writing Plans (per slice) → Execution (per slice) → Ship
The Vertical Slicing Phase would:
-
Analyze the spec for natural slice boundaries using the nine splitting patterns from Humanizing Work:
- Workflow steps
- CRUD operations
- Business rule variations
- Data variations
- Simple/Complex separation
- Major effort isolation (infrastructure-heavy first slice vs. incremental additions)
- Defer performance
-
Identify Slice 0 (Walking Skeleton): The thinnest end-to-end path that proves the architecture works. Must touch all integration points, but with minimal implementation.
-
Order subsequent slices by:
- Dependency (what must exist before this can be built?)
- User value (which delivers the most visible progress?)
- Risk (which slice retires the most uncertainty?)
-
Present the slice plan to the user as an ordered list:
Slice 0 (Walking Skeleton): Single hardcoded rule through all 7 seams
Slice 1: Rule storage + CRUD
Slice 2: Prompt assembly with dynamic rules
Slice 3: User rating & feedback loop
Slice 4: Cross-session learning
-
For each slice, offer two paths:
- Direct to plan: Invoke
writing-plans scoped to this slice's portion of the spec
- Mini-brainstorm: For complex slices, run a lightweight brainstorming session (skip tool discovery and context building, reuse existing context, shorter clarifying phase)
-
After each slice ships, re-evaluate:
- Are remaining slices still valid?
- Has anything changed that requires re-slicing?
- Can slices be merged or reordered?
State management
Add to state.json:
{
"vertical_mode": true,
"slices": [
{
"index": 0,
"name": "walking-skeleton",
"description": "Single hardcoded rule through all 7 seams",
"status": "completed|in-progress|pending",
"plan_file": "plans/2026-04-15-self-improvement-slice-0.md",
"spec_sections": ["3.1", "3.2", "3.7"]
}
],
"current_slice": 0
}
Agent dispatch for slicing
The slicing analysis could use:
- Claude (sonnet): Analyze spec for slice boundaries using splitting patterns
- Gemini: Independent slice proposal for cross-validation
- Synthesis (opus): Merge proposals, resolve conflicts, produce final slice order
Complexity heuristics for auto-suggesting vertical mode
The system could auto-suggest vertical mode when:
- Design phase produced >5 sections
- Spec exceeds ~2000 words
- Multiple distinct user journeys identified
- Multiple system layers (data, API, UI, infra) are affected
- Estimated plan would have >4 chunks
What alternatives did you consider?
Alt 1: Vertical mode from session start
Make it a brainstorming session type (like profile selection). The entire brainstorm would be slice-oriented from Phase 0.
Rejected because: You need the full picture before you can slice well. Premature slicing leads to suboptimal boundaries. The current flow (brainstorm full → spec full → then slice) produces better slices because the design is complete.
Alt 2: Vertical slicing only inside writing-plans
Don't add a new phase — just make writing-plans smarter about organizing chunks as vertical slices.
Rejected because: writing-plans operates at the task/step level, not at the feature/value level. Vertical slicing is a higher-level decomposition that should produce multiple plans, not a single plan with vertical-ish task ordering.
Alt 3: Manual slicing by the user
Just let users manually break their spec into pieces and run separate brainstorming sessions for each.
Rejected because: Users already do this ad-hoc, but it loses context between sessions, doesn't carry over design decisions, and requires the user to do the hard work of identifying good slice boundaries.
Is this appropriate for core Superpowers?
Yes. This directly addresses the scalability of the brainstorming workflow for real-world features, reduces AI context window pressure, and aligns with the broader industry movement toward vertical slice development in AI-assisted workflows.
Context
- The self-improvement plan (
2026-04-15-self-improvement-vertical-slice.md) is a manual example of vertical slicing — it picks one rule and wires it through all seams. This proposal would systematize that approach.
- Issue #1152 (token budget exhaustion) is partly caused by oversized plans that could be decomposed into smaller vertical slices.
- Addy Osmani's 2026 AI coding workflow advocates exactly this pattern: "brainstorm detailed spec → break into vertical slices small enough for AI context window → implement sequentially."
- The Skeleton Architecture approach (InfoQ, 2026) provides a complementary pattern for AI-assisted vertical slicing — humans own the skeleton (interfaces, base classes), AI implements the tissue (feature logic) within each slice.
References
What problem does this solve?
When brainstorming a large feature (e.g., a self-improvement orchestrator, a plugin system, an auth overhaul), the current workflow produces a single monolithic spec → single monolithic plan → long execution chain. This creates several problems:
Vertical slice development solves this by decomposing a large feature into ordered, independently shippable slices — each cutting through every layer of the system and delivering user-visible value.
Background: What is vertical slice development?
A vertical slice is a complete piece of functionality that cuts through every layer of the application — from UI to database — and delivers working, testable value in a single iteration. Instead of building all the infrastructure, then all the APIs, then all the UI ("horizontal layers"), you build one thin, complete feature at a time.
Key concepts from the literature:
The existing self-improvement plan (
2026-04-15-self-improvement-vertical-slice.md) already demonstrates this thinking — it picks ONE rule and wires it through all 7 integration seams. The question is how to systematize this approach in the workflow.Proposed solution
Introduce a Vertical Development Mode that activates for large features and decomposes them into ordered vertical slices, each of which flows through the existing plan → execute pipeline.
Where in the workflow?
After evaluating the current 7-phase brainstorming flow, the most natural insertion point is a two-touch approach:
Touch 1: Early signal during brainstorming (lightweight)
During the clarifying questions phase (Phase 2), when the system detects a large feature (multiple user journeys, multiple system layers, estimated >3 plan chunks), it asks:
This is just a flag-setting question — it doesn't change the brainstorming flow. The full feature still gets brainstormed, designed, and spec'd. But the system knows it will need to slice later.
Touch 2: Formal slicing after spec approval (the core)
After the spec is approved and before invoking
writing-plans, a new Vertical Slicing Phase activates:The Vertical Slicing Phase would:
Analyze the spec for natural slice boundaries using the nine splitting patterns from Humanizing Work:
Identify Slice 0 (Walking Skeleton): The thinnest end-to-end path that proves the architecture works. Must touch all integration points, but with minimal implementation.
Order subsequent slices by:
Present the slice plan to the user as an ordered list:
For each slice, offer two paths:
writing-plansscoped to this slice's portion of the specAfter each slice ships, re-evaluate:
State management
Add to
state.json:{ "vertical_mode": true, "slices": [ { "index": 0, "name": "walking-skeleton", "description": "Single hardcoded rule through all 7 seams", "status": "completed|in-progress|pending", "plan_file": "plans/2026-04-15-self-improvement-slice-0.md", "spec_sections": ["3.1", "3.2", "3.7"] } ], "current_slice": 0 }Agent dispatch for slicing
The slicing analysis could use:
Complexity heuristics for auto-suggesting vertical mode
The system could auto-suggest vertical mode when:
What alternatives did you consider?
Alt 1: Vertical mode from session start
Make it a brainstorming session type (like profile selection). The entire brainstorm would be slice-oriented from Phase 0.
Rejected because: You need the full picture before you can slice well. Premature slicing leads to suboptimal boundaries. The current flow (brainstorm full → spec full → then slice) produces better slices because the design is complete.
Alt 2: Vertical slicing only inside writing-plans
Don't add a new phase — just make
writing-planssmarter about organizing chunks as vertical slices.Rejected because:
writing-plansoperates at the task/step level, not at the feature/value level. Vertical slicing is a higher-level decomposition that should produce multiple plans, not a single plan with vertical-ish task ordering.Alt 3: Manual slicing by the user
Just let users manually break their spec into pieces and run separate brainstorming sessions for each.
Rejected because: Users already do this ad-hoc, but it loses context between sessions, doesn't carry over design decisions, and requires the user to do the hard work of identifying good slice boundaries.
Is this appropriate for core Superpowers?
Yes. This directly addresses the scalability of the brainstorming workflow for real-world features, reduces AI context window pressure, and aligns with the broader industry movement toward vertical slice development in AI-assisted workflows.
Context
2026-04-15-self-improvement-vertical-slice.md) is a manual example of vertical slicing — it picks one rule and wires it through all seams. This proposal would systematize that approach.References