data-shape
You are helping the user create or update the general shape of their product's data — the core entities ("nouns") and how they relate to each other. This…
You are helping the user design the application shell — the persistent navigation and layout that wraps all sections. This is a screen design, not implementation code.
How it fires
How this command gets triggered: by you, by Claude, or both.
/design-shellContext preview
What this command does when you run it.
You are helping the user design the application shell — the persistent navigation and layout that wraps all sections. This is a screen design, not implementation code.
You are helping the user design the application shell — the persistent navigation and layout that wraps all sections. This is a screen design, not implementation code.
First, verify prerequisites exist:
1. Read `/product/product-overview.md` — Product name and description 2. Read `/product/product-roadmap.md` — Sections for navigation 3. Check if `/product/design-system/colors.json` and `/product/design-system/typography.json` exist
If overview or roadmap are missing:
"Before designing the shell, you need to define your product and sections. Please run: 1. `/product-vision` — Define your product 2. `/product-roadmap` — Define your sections"
Stop here if overview or roadmap are missing.
If design tokens are missing, show a warning but continue:
"Note: Design tokens haven't been defined yet. I'll proceed with default styling, but you may want to run `/design-tokens` first for consistent colors and typography."
Review the roadmap sections and present navigation options:
"I'm designing the shell for **[Product Name]**. Based on your roadmap, you have [N] sections:
1. **[Section 1]** — [Description] 2. **[Section 2]** — [Description] 3. **[Section 3]** — [Description]
Let's decide on the shell layout. Common patterns:
**A. Sidebar Navigation** — Vertical nav on the left, content on the right Best for: Apps with many sections, dashboard-style tools, admin panels
**B. Top Navigation** — Horizontal nav at top, content below Best for: Simpler apps, marketing-style products, fewer sections
**C. Minimal Header** — Just logo + user menu, sections accessed differently Best for: Single-purpose tools, wizard-style flows
Which pattern fits **[Product Name]** best?"
Wait for their response.
Use AskUserQuestion to clarify:
Once you understand their preferences:
"Here's the shell design for **[Product Name]**:
**Layout Pattern:** [Sidebar/Top Nav/Minimal]
**Navigation Structure:**
**User Menu:**
**Responsive Behavior:**
Does this match what you had in mind?"
Iterate until approved.
Create `/product/shell/spec.md`:
# Application Shell Specification ## Overview [Description of the shell design and its purpose] ## Navigation Structure - [Nav Item 1] → [Section 1] - [Nav Item 2] → [Section 2] - [Nav Item 3] → [Section 3] - [Any additional nav items] ## User Menu [Description of user menu location and contents] ## Layout Pattern [Description of the layout — sidebar, top nav, etc.] ## Responsive Behavior - **Desktop:** [Behavior] - **Tablet:** [Behavior] - **Mobile:** [Behavior] ## Design Notes [Any additional design decisions or notes]
Create the shell components at `src/shell/components/`:
The main wrapper component that accepts children and provides the layout structure.
interface AppShellProps {
children: React.ReactNode
navigationItems: Array<{ label: string; href: string; isActive?: boolean }>
user?: { name: string; avatarUrl?: string }
onNavigate?: (href: string) => void
onLogout?: () => void
}The navigation component (sidebar or top nav based on the chosen pattern).
The user menu with avatar and dropdown.
Export all components.
**Component Requirements:**
Create `src/shell/ShellPreview.tsx` — a preview wrapper for viewing the shell in Design OS:
import data from '@/../product/sections/[first-section]/data.json' // if exists
import { AppShell } from './components/AppShell'
export default function ShellPreview() {
const navigationItems = [
{ label: '[Section 1]', href: '/section-1', isActive: true },
{ label: '[Section 2]', href: '/section-2' },
{ label: '[Section 3]', href: '/section-3' },
]
const user = {
name: 'Alex Morgan',
avatarUrl: undefined,
}
return (
<AppShell
navigationItems={navigationItems}
user={user}
onNavigate={(href) => console.log('Navigate to:', href)}
onLogout={() => console.log('Logout')}
>
<div className="p-8">
<h1 className="text-2xl font-bold mb-4">Content Area</h1>
<p className="text-stone-600 dark:text-stone-400">
Section content will render here.
</p>
</div>
</AppShell>
)
}If design tokens exist, apply them to the shell components:
**Colors:**
**Typography:**
Let the user know:
"I've designed the application shell for **[Product Name]**:
**Created files:**
The missing design process between your product idea and your codebase.
Repo: buildermethods/design-os
You are helping the user create or update the general shape of their product's data — the core entities ("nouns") and how they relate to each other. This…
You are helping the user create a screen design for a section of their product. The screen design will be a props-based React component that can be exported…
You are helping the user choose colors and typography for their product. These design tokens will be used consistently across all screen designs and the…
You are helping the user export their complete product design as a handoff package for implementation. This generates all files needed to integrate the UI…
You are helping the user create or update their product roadmap for Design OS.
You are helping the user define their product vision for Design OS. This is a conversational process that results in three files: the product overview, product…