# Page Specification Workflow **Step-by-step iterative decomposition from sketch to specs** --- ## Overview The agent guides you through specifying a page **from top to bottom**, one section at a time. You control the level of detail at each step. --- ## The Workflow ### Step 1: Identify All Sections **Agent analyzes sketch and outputs:** ``` 📋 Page Sections Detected: 1. Navigation Header 2. Hero Section 3. Calendar Component 4. Leaderboard Component 5. Footer Does this match your sketch? Any sections missing or incorrectly identified? ``` **You respond:** - Confirm sections - Add missing sections - Rename sections - Reorder sections --- ### Step 2: Section Purpose **For each section, agent asks:** ``` 📍 Section: Navigation Header What is the purpose of this section? - User navigation? - Branding? - User account access? - Search functionality? ``` **You respond:** ``` "User navigation and branding. Shows logo, main menu, and user profile." ``` **Agent captures:** ```markdown ## Navigation Header **Purpose:** User navigation and branding **Contains:** Logo, main menu, user profile ``` --- ### Step 3: List Objects in Section **Agent outputs:** ``` 🔍 Objects in Navigation Header: 1. Logo (image) 2. Main Menu (navigation) 3. User Profile (dropdown) Shall I specify each object, or is this section simple enough to keep schematic? ``` **You choose:** - **Option A:** "Specify each object" → Go deeper - **Option B:** "Keep schematic" → Move to next section --- ### Step 4: Decompose Containers **If object is a container, agent asks:** ``` 📦 Main Menu (Container) What components does this contain? 1. Home link 2. Calendar link 3. Leaderboard link 4. Settings link Are these simple links, or do any need detailed specs? ``` **You respond:** ``` "Simple links, no detail needed" ``` **Agent captures:** ```markdown ### Main Menu - Home link - Calendar link - Leaderboard link - Settings link ``` --- ### Step 5: Specify Atomic Components **When reaching smallest parts:** ``` 🔬 User Profile (Dropdown) This looks complex (multiple states, interactions). Should I: A) Create detailed Component + Feature files (3-tier) B) Keep simple specification in Page file C) Skip for now, mark as TODO ``` **You choose based on complexity:** - **Simple:** Keep in Page file - **Complex:** Decompose to 3 files - **Later:** Mark TODO --- ## Example: TaskFlow Calendar Page ### Full Workflow **Step 1: Sections** ``` Agent: "I see 5 sections: Header, Week Overview, Leaderboard, Calendar, Footer" You: "Correct!" ``` **Step 2: Section Purposes** ``` Agent: "What's the purpose of Week Overview?" You: "Shows current week number and 7-day status circles" ``` **Step 3: Week Overview Objects** ``` Agent: "Objects detected: 1. Week number label (text) 2. 7 day circles (repeated component) Specify each or keep schematic?" You: "Specify the day circles, they have states" ``` **Step 4: Day Circle Component** ``` Agent: "Day circles look complex (3 states: empty, booked, completed). Should I create Component + Feature files?" You: "Yes, decompose it" ``` **Step 5: Calendar Section** ``` Agent: "Calendar has 6 walk states, countdown timers, business rules. This is highly complex. Should I: - Create 3-tier decomposition - Reference your storyboard (App-Main-Booking-States.jpg)" You: "Yes, decompose and reference storyboard" ``` --- ## Designer Control Points At each step, you decide: ### Detail Level - **Schematic:** Just list components, no details - **Moderate:** Basic specs (size, position, content) - **Detailed:** Full 3-tier decomposition ### When to Stop - **Good enough:** "This is clear, move on" - **Need detail:** "Let's specify this fully" - **Later:** "Mark as TODO, we'll come back" ### Feedback Loop ``` Agent: "Here's what I captured for Navigation Header..." You: "Actually, the logo should be clickable and link to home" Agent: "Updated! Logo is now a link component." ``` --- ## Output Structure ### Schematic Page Spec ```markdown Pages/02-calendar-page.md ## Navigation Header **Purpose:** User navigation and branding - Logo (clickable, links to home) - Main menu (4 links) - User profile dropdown ## Calendar Section **Purpose:** Book and manage dog walks **Component:** → walk-slot-card.component.md **Feature:** → walk-booking-logic.feature.md **Storyboard:** → Features/Storyboards/walk-states.jpg ``` ### Detailed Page Spec ```markdown Pages/02-calendar-page.md ## Navigation Header **Purpose:** User navigation and branding **Position:** Top, full-width, fixed **Height:** 64px ### Logo **Component:** → logo.component.md **Position:** Left, 16px padding **Size:** 40x40px **Action:** Click → Navigate to home ### Main Menu **Component:** → nav-menu.component.md **Position:** Center **Items:** Home, Calendar, Leaderboard, Settings ### User Profile **Component:** → user-dropdown.component.md **Feature:** → user-menu-logic.feature.md **Position:** Right, 16px padding ``` --- ## Benefits ✅ **Iterative:** Specify what you need, when you need it ✅ **Flexible:** Control detail level per section ✅ **Collaborative:** Agent asks, you decide ✅ **Efficient:** Don't over-specify simple sections ✅ **Complete:** Nothing gets missed ✅ **Aligned:** Feedback loop at every step --- ## When to Use **Use this workflow when:** - Starting a new page specification - Converting a sketch to structured specs - Unsure how detailed to be - Want guided decomposition **Skip this workflow when:** - Page is extremely simple (1-2 sections) - You already know the structure - Rapid prototyping (schematic only) --- ## Next Steps - [Complexity Detection](01-complexity-detection.md) - When to decompose components - [Complexity Router Workflow](02-complexity-router-workflow.md) - How to decompose complex components