@champpaba/claude-agent-kit 3.5.2 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/CHANGELOG.md +0 -0
- package/.claude/CLAUDE.md +103 -45
- package/.claude/agents/01-integration.md +0 -0
- package/.claude/agents/02-uxui-frontend.md +1 -1
- package/.claude/agents/03-test-debug.md +0 -0
- package/.claude/agents/04-frontend.md +0 -0
- package/.claude/agents/05-backend.md +0 -0
- package/.claude/agents/06-database.md +0 -0
- package/.claude/agents/07-ux-tester.md +18 -12
- package/.claude/agents/CLAUDE.md +18 -0
- package/.claude/agents/_shared/CLAUDE.md +11 -0
- package/.claude/agents/_shared/README.md +0 -0
- package/.claude/agents/_shared/agent-boundaries.md +0 -0
- package/.claude/agents/_shared/documentation-policy.md +0 -0
- package/.claude/agents/_shared/package-manager.md +0 -0
- package/.claude/agents/_shared/pre-work-checklist.md +45 -2
- package/.claude/commands/CLAUDE.md +20 -0
- package/.claude/commands/cdev.md +2 -2
- package/.claude/commands/csetup.md +0 -0
- package/.claude/commands/cstatus.md +0 -0
- package/.claude/commands/cview.md +0 -0
- package/.claude/commands/designsetup.md +0 -0
- package/.claude/commands/extract.md +22 -20
- package/.claude/commands/pageplan.md +0 -0
- package/.claude/commands/pstatus.md +0 -0
- package/.claude/contexts/_core/CLAUDE.md +11 -0
- package/.claude/contexts/_core/README.md +33 -0
- package/.claude/contexts/{patterns → _core}/code-standards.md +0 -0
- package/.claude/contexts/{patterns → _core}/development-principles.md +0 -0
- package/.claude/contexts/design/CLAUDE.md +17 -0
- package/.claude/contexts/design/accessibility.md +2 -2
- package/.claude/contexts/design/box-thinking.md +0 -0
- package/.claude/contexts/design/color-theory.md +2 -2
- package/.claude/contexts/design/index.md +0 -0
- package/.claude/contexts/design/layout.md +0 -0
- package/.claude/contexts/design/responsive.md +0 -0
- package/.claude/contexts/design/shadows.md +0 -0
- package/.claude/contexts/design/spacing.md +0 -0
- package/.claude/contexts/design/typography.md +0 -0
- package/.claude/contexts/domain/README.md +0 -0
- package/.claude/contexts/patterns/CLAUDE.md +13 -0
- package/.claude/contexts/patterns/agent-coordination.md +0 -0
- package/.claude/contexts/patterns/agent-discovery.md +0 -0
- package/.claude/contexts/patterns/animation-patterns.md +0 -0
- package/.claude/contexts/patterns/change-workflow.md +1 -1
- package/.claude/contexts/patterns/error-handling.md +0 -0
- package/.claude/contexts/patterns/error-recovery.md +0 -0
- package/.claude/contexts/patterns/frontend-component-strategy.md +0 -0
- package/.claude/contexts/patterns/git-workflow.md +0 -0
- package/.claude/contexts/patterns/logging.md +0 -0
- package/.claude/contexts/patterns/performance-optimization.md +1 -1
- package/.claude/contexts/patterns/task-breakdown.md +0 -0
- package/.claude/contexts/patterns/task-classification.md +0 -0
- package/.claude/contexts/patterns/tdd-classification.md +0 -0
- package/.claude/contexts/patterns/testing.md +0 -0
- package/.claude/contexts/patterns/ui-component-consistency.md +0 -0
- package/.claude/contexts/patterns/validation-framework.md +0 -0
- package/.claude/lib/CLAUDE.md +19 -0
- package/.claude/lib/README.md +1 -1
- package/.claude/lib/agent-executor.md +1 -1
- package/.claude/lib/agent-router.md +0 -0
- package/.claude/lib/context-loading-protocol.md +0 -0
- package/.claude/lib/design-validator.md +8 -8
- package/.claude/lib/detailed-guides/agent-system.md +0 -0
- package/.claude/lib/detailed-guides/best-practices-system.md +0 -0
- package/.claude/lib/detailed-guides/context-optimization.md +0 -0
- package/.claude/lib/detailed-guides/design-system.md +0 -0
- package/.claude/lib/detailed-guides/incremental-testing.md +0 -0
- package/.claude/lib/detailed-guides/page-planning.md +0 -0
- package/.claude/lib/detailed-guides/taskmaster-analysis.md +0 -0
- package/.claude/lib/document-loader.md +0 -0
- package/.claude/lib/feature-best-practices.md +0 -0
- package/.claude/lib/flags-updater.md +0 -0
- package/.claude/lib/handoff-protocol.md +0 -0
- package/.claude/lib/task-analyzer.md +2 -2
- package/.claude/lib/tdd-workflow.md +0 -0
- package/.claude/lib/validation-gates.md +0 -0
- package/.claude/settings.local.json +0 -0
- package/.claude/templates/PROJECT_STATUS.template.yml +0 -0
- package/.claude/templates/STYLE_GUIDE.template.md +0 -0
- package/.claude/templates/context-template.md +0 -0
- package/.claude/templates/design-context-template.md +0 -0
- package/.claude/templates/flags-template.json +0 -0
- package/.claude/templates/page-plan-example.md +0 -0
- package/.claude/templates/phases-sections/CLAUDE.md +13 -0
- package/.claude/templates/phases-sections/accessibility-test.md +0 -0
- package/.claude/templates/phases-sections/api-design.md +0 -0
- package/.claude/templates/phases-sections/backend-tests.md +0 -0
- package/.claude/templates/phases-sections/backend.md +0 -0
- package/.claude/templates/phases-sections/business-logic-validation.md +0 -0
- package/.claude/templates/phases-sections/component-tests.md +0 -0
- package/.claude/templates/phases-sections/contract-backend.md +0 -0
- package/.claude/templates/phases-sections/contract-frontend.md +0 -0
- package/.claude/templates/phases-sections/database.md +0 -0
- package/.claude/templates/phases-sections/e2e-tests.md +0 -0
- package/.claude/templates/phases-sections/fix-implementation.md +0 -0
- package/.claude/templates/phases-sections/frontend-integration.md +0 -0
- package/.claude/templates/phases-sections/frontend-mockup.md +0 -0
- package/.claude/templates/phases-sections/manual-flow-test.md +0 -0
- package/.claude/templates/phases-sections/manual-ux-test.md +0 -0
- package/.claude/templates/phases-sections/refactor-implementation.md +0 -0
- package/.claude/templates/phases-sections/refactor.md +0 -0
- package/.claude/templates/phases-sections/regression-tests.md +0 -0
- package/.claude/templates/phases-sections/responsive-test.md +0 -0
- package/.claude/templates/phases-sections/script-implementation.md +0 -0
- package/.claude/templates/phases-sections/test-coverage.md +0 -0
- package/.claude/templates/phases-sections/user-approval.md +0 -0
- package/.claude/templates/phases-sections/ux-testing.md +2 -2
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/bin/CLAUDE.md +11 -0
- package/bin/cli.js +0 -0
- package/lib/CLAUDE.md +11 -0
- package/lib/helpers.js +0 -0
- package/lib/init.js +0 -0
- package/lib/update.js +0 -0
- package/package.json +3 -2
- package/skills/design-extract/CLAUDE.md +12 -0
- package/skills/design-extract/SKILL.md +76 -0
- package/skills/design-extract/references/CLAUDE.md +16 -0
- package/skills/design-extract/references/error-handling.md +161 -0
- package/skills/design-extract/references/extraction-steps.md +183 -0
- package/skills/design-extract/references/output-format.md +250 -0
- package/skills/design-extract/references/style-detection.md +137 -0
- package/skills/design-extract/templates/CLAUDE.md +11 -0
- package/skills/design-extract/templates/data.yaml.template +95 -0
- package/skills/design-setup/CLAUDE.md +11 -0
- package/skills/design-setup/SKILL.md +104 -0
- package/skills/design-setup/references/CLAUDE.md +11 -0
- package/skills/design-setup/references/data-yaml-schema.md +205 -0
- package/skills/design-setup/references/error-handling.md +157 -0
- package/skills/design-setup/references/generation-steps.md +192 -0
- package/skills/design-setup/references/interactive-workflow.md +151 -0
- package/skills/page-planner/CLAUDE.md +11 -0
- package/skills/page-planner/SKILL.md +112 -0
- package/skills/page-planner/references/CLAUDE.md +11 -0
- package/skills/page-planner/references/animation-patterns.md +169 -0
- package/skills/page-planner/references/generation-steps.md +166 -0
- package/skills/page-planner/references/wireframe-patterns.md +182 -0
- package/skills/page-planner/templates/CLAUDE.md +11 -0
- package/skills/page-planner/templates/page-plan.md +303 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Error Handling
|
|
2
|
+
|
|
3
|
+
How to handle failures during design setup.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Error 1: No Extracted Data
|
|
8
|
+
|
|
9
|
+
**When:** No `design-system/extracted/*/data.yaml` files found
|
|
10
|
+
|
|
11
|
+
**Message:**
|
|
12
|
+
```
|
|
13
|
+
❌ No extracted data found
|
|
14
|
+
|
|
15
|
+
Please extract at least 1 site:
|
|
16
|
+
/extract https://airbnb.com
|
|
17
|
+
|
|
18
|
+
Then run: /designsetup @prd.md
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Action:** Stop execution.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Error 2: AI Analysis Fails
|
|
26
|
+
|
|
27
|
+
**When:** LLM call fails during context analysis or theme generation
|
|
28
|
+
|
|
29
|
+
**Message:**
|
|
30
|
+
```
|
|
31
|
+
❌ AI analysis failed: {error.message}
|
|
32
|
+
|
|
33
|
+
This may be due to:
|
|
34
|
+
- Extracted data too large (try fewer sites)
|
|
35
|
+
- API rate limit (wait and retry)
|
|
36
|
+
- Invalid context files
|
|
37
|
+
|
|
38
|
+
Retry or use --debug for details
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Action:** Allow retry or proceed with fallback (interactive questions).
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Error 3: User Cancels
|
|
46
|
+
|
|
47
|
+
**When:** User selects "Cancel" at any point
|
|
48
|
+
|
|
49
|
+
**Message:**
|
|
50
|
+
```
|
|
51
|
+
⚠️ Design setup cancelled
|
|
52
|
+
|
|
53
|
+
Your data is preserved:
|
|
54
|
+
- Extracted: design-system/extracted/
|
|
55
|
+
- Options: design-system/synthesis/options/ (if any)
|
|
56
|
+
|
|
57
|
+
Run /designsetup again when ready.
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Action:** Stop execution, preserve existing data.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Error 4: Max Rounds Reached
|
|
65
|
+
|
|
66
|
+
**When:** User has adjusted 3 times without accepting
|
|
67
|
+
|
|
68
|
+
**Message:**
|
|
69
|
+
```
|
|
70
|
+
⚠️ ครบ 3 รอบแล้ว
|
|
71
|
+
|
|
72
|
+
แนะนำ:
|
|
73
|
+
1. รัน /extract กับ reference ใหม่
|
|
74
|
+
2. หรือ accept แล้วค่อย manual edit ไฟล์ที่สร้าง
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Action:** Force decision (Yes to generate / Cancel to exit).
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Error 5: Write Fails
|
|
82
|
+
|
|
83
|
+
**When:** Cannot write to design-system/ directory
|
|
84
|
+
|
|
85
|
+
**Actions:**
|
|
86
|
+
1. Try to save backup to `/tmp/design-system-backup/`
|
|
87
|
+
2. Display error with backup location:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
❌ Failed to write files
|
|
91
|
+
|
|
92
|
+
Check permissions: design-system/
|
|
93
|
+
|
|
94
|
+
Backup saved: /tmp/design-system-backup/
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Error 6: Context File Not Found
|
|
100
|
+
|
|
101
|
+
**When:** User-provided context file doesn't exist
|
|
102
|
+
|
|
103
|
+
**Message:**
|
|
104
|
+
```
|
|
105
|
+
⚠️ Context file not found: {filename}
|
|
106
|
+
Skipping this file...
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Action:** Continue with other files, warn user.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Error 7: Invalid Extracted Data
|
|
114
|
+
|
|
115
|
+
**When:** Extracted YAML is malformed or missing required fields
|
|
116
|
+
|
|
117
|
+
**Message:**
|
|
118
|
+
```
|
|
119
|
+
⚠️ Invalid data in {site}/data.yaml
|
|
120
|
+
Missing: {missing fields}
|
|
121
|
+
Skipping this site...
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Action:** Continue with other sites if available.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Graceful Degradation
|
|
129
|
+
|
|
130
|
+
| Scenario | Fallback |
|
|
131
|
+
|----------|----------|
|
|
132
|
+
| No context files | Use interactive questions |
|
|
133
|
+
| AI analysis fails | Use interactive questions |
|
|
134
|
+
| Some extractions invalid | Use valid ones only |
|
|
135
|
+
| Theme generation fails | Use "Abstract" theme |
|
|
136
|
+
| Pattern generation fails | Skip patterns, generate data.yaml only |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Recovery Suggestions
|
|
141
|
+
|
|
142
|
+
For persistent errors:
|
|
143
|
+
|
|
144
|
+
1. **Clear and re-extract:**
|
|
145
|
+
```bash
|
|
146
|
+
rm -rf design-system/extracted/
|
|
147
|
+
/extract https://site.com
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
2. **Use fewer sites:**
|
|
151
|
+
Large extractions may exceed context limits
|
|
152
|
+
|
|
153
|
+
3. **Simplify context:**
|
|
154
|
+
Use shorter, focused context files
|
|
155
|
+
|
|
156
|
+
4. **Manual generation:**
|
|
157
|
+
If all else fails, manually create `data.yaml` based on extraction data
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Generation Steps
|
|
2
|
+
|
|
3
|
+
After user confirms selections, generate the design system files.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## STEP 5.5: Generate data.yaml
|
|
8
|
+
|
|
9
|
+
### Build Tokens Data Structure
|
|
10
|
+
|
|
11
|
+
**1. Meta:**
|
|
12
|
+
```yaml
|
|
13
|
+
meta:
|
|
14
|
+
generated_at: "{ISO timestamp}"
|
|
15
|
+
source_site: "{selectedStyle.site}"
|
|
16
|
+
style: "{selectedStyle.style}"
|
|
17
|
+
theme: "{selectedTheme.name}"
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**2. Style:**
|
|
21
|
+
```yaml
|
|
22
|
+
style:
|
|
23
|
+
name: "{selectedStyle.style}"
|
|
24
|
+
confidence: {confidence}
|
|
25
|
+
characteristics: [list]
|
|
26
|
+
feel: "{feel}"
|
|
27
|
+
source_site: "{site}"
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**3. Theme:**
|
|
31
|
+
```yaml
|
|
32
|
+
theme:
|
|
33
|
+
name: "{selectedTheme.name}"
|
|
34
|
+
description: "{description}"
|
|
35
|
+
feeling: "{feeling}"
|
|
36
|
+
decorative_elements:
|
|
37
|
+
use: [list of elements to use]
|
|
38
|
+
avoid: [list of elements to avoid]
|
|
39
|
+
icons_suggestion: [Lucide icon names]
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**4. Animations:**
|
|
43
|
+
```yaml
|
|
44
|
+
animations:
|
|
45
|
+
enabled: true/false
|
|
46
|
+
libraries: [list]
|
|
47
|
+
selected_patterns: [user selections]
|
|
48
|
+
scroll_animations:
|
|
49
|
+
enabled: true/false
|
|
50
|
+
patterns: [list]
|
|
51
|
+
component_animations:
|
|
52
|
+
button_hover: "{effect}"
|
|
53
|
+
card_hover: "{effect}"
|
|
54
|
+
input_focus: "ring"
|
|
55
|
+
duration:
|
|
56
|
+
fast: "150ms"
|
|
57
|
+
normal: "200ms"
|
|
58
|
+
slow: "300ms"
|
|
59
|
+
easing:
|
|
60
|
+
default: "ease-in-out"
|
|
61
|
+
bounce: "cubic-bezier(0.68, -0.55, 0.265, 1.55)"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**5. Colors:**
|
|
65
|
+
```yaml
|
|
66
|
+
colors:
|
|
67
|
+
primary:
|
|
68
|
+
DEFAULT: "{hex}"
|
|
69
|
+
foreground: "#ffffff"
|
|
70
|
+
hover: "{darkened hex}"
|
|
71
|
+
secondary:
|
|
72
|
+
DEFAULT: "{hex}"
|
|
73
|
+
foreground: "#ffffff"
|
|
74
|
+
background:
|
|
75
|
+
DEFAULT: "#ffffff"
|
|
76
|
+
muted: "#f1f5f9"
|
|
77
|
+
subtle: "#f8fafc"
|
|
78
|
+
foreground:
|
|
79
|
+
DEFAULT: "#0a0a0a"
|
|
80
|
+
muted: "#64748b"
|
|
81
|
+
semantic:
|
|
82
|
+
success: "#10b981"
|
|
83
|
+
warning: "#f59e0b"
|
|
84
|
+
error: "#ef4444"
|
|
85
|
+
info: "#3b82f6"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
**6. Typography:**
|
|
89
|
+
```yaml
|
|
90
|
+
typography:
|
|
91
|
+
font_family:
|
|
92
|
+
sans: "{font from extraction}"
|
|
93
|
+
mono: "'Fira Code', monospace"
|
|
94
|
+
font_size:
|
|
95
|
+
xs: "12px"
|
|
96
|
+
sm: "14px"
|
|
97
|
+
base: "16px"
|
|
98
|
+
lg: "18px"
|
|
99
|
+
xl: "20px"
|
|
100
|
+
2xl: "24px"
|
|
101
|
+
font_weight:
|
|
102
|
+
normal: "400"
|
|
103
|
+
medium: "500"
|
|
104
|
+
semibold: "600"
|
|
105
|
+
bold: "700"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**7. Spacing:**
|
|
109
|
+
```yaml
|
|
110
|
+
spacing:
|
|
111
|
+
scale: [4, 8, 12, 16, 24, 32, 48, 64]
|
|
112
|
+
grid_base: "8px"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**8. Psychology (from extraction):**
|
|
116
|
+
```yaml
|
|
117
|
+
psychology:
|
|
118
|
+
style_classification: "{style}"
|
|
119
|
+
emotions_evoked:
|
|
120
|
+
- emotion: "{emotion}"
|
|
121
|
+
reason: "{reason}"
|
|
122
|
+
target_audience:
|
|
123
|
+
primary:
|
|
124
|
+
description: "{desc}"
|
|
125
|
+
age_range: "{range}"
|
|
126
|
+
why_it_works:
|
|
127
|
+
- "{reason 1}"
|
|
128
|
+
- "{reason 2}"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## STEP 5.6: Generate patterns/*.md
|
|
134
|
+
|
|
135
|
+
### buttons.md
|
|
136
|
+
- Primary, Secondary, Ghost, Outline, Icon variants
|
|
137
|
+
- Small, Medium, Large sizes
|
|
138
|
+
- Hover animations based on selection
|
|
139
|
+
|
|
140
|
+
### cards.md
|
|
141
|
+
- Default, Interactive, Feature, Pricing, Testimonial variants
|
|
142
|
+
- Hover effects based on selection
|
|
143
|
+
|
|
144
|
+
### forms.md
|
|
145
|
+
- Input, Error input, Select, Checkbox
|
|
146
|
+
- Form layout examples
|
|
147
|
+
|
|
148
|
+
### scroll-animations.md
|
|
149
|
+
- Fade In on Scroll
|
|
150
|
+
- Stacking Cards (GSAP)
|
|
151
|
+
- Parallax Section
|
|
152
|
+
- Slide In from Side
|
|
153
|
+
|
|
154
|
+
### decorations.md
|
|
155
|
+
- Gradient backgrounds
|
|
156
|
+
- Blob shapes
|
|
157
|
+
- Grid patterns
|
|
158
|
+
- Floating elements
|
|
159
|
+
- Dividers
|
|
160
|
+
|
|
161
|
+
Each file includes:
|
|
162
|
+
- Header with source, style, when to load
|
|
163
|
+
- TSX code examples
|
|
164
|
+
- Usage guidelines
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## STEP 5.7: Generate README.md
|
|
169
|
+
|
|
170
|
+
Human-readable guide (~100 lines) with:
|
|
171
|
+
|
|
172
|
+
1. **Overview** - Style + theme description
|
|
173
|
+
2. **Color Palette** - All colors with usage
|
|
174
|
+
3. **Typography** - Font family, sizes, weights
|
|
175
|
+
4. **Spacing System** - Base unit, scale
|
|
176
|
+
5. **Shadows** - Elevation levels
|
|
177
|
+
6. **Border Radius** - Values and usage
|
|
178
|
+
7. **Theme** - Decorative direction (USE/AVOID)
|
|
179
|
+
8. **Animations** - Enabled patterns
|
|
180
|
+
9. **Component Library** - Recommended (shadcn/ui)
|
|
181
|
+
10. **Code Patterns** - Links to pattern files
|
|
182
|
+
11. **Critical Rules** - DO and DON'T
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## STEP 6: Final Report
|
|
187
|
+
|
|
188
|
+
Display completion summary:
|
|
189
|
+
- Style selected
|
|
190
|
+
- Theme selected
|
|
191
|
+
- Files created (data.yaml, README.md, patterns/*.md)
|
|
192
|
+
- Next steps (/pageplan, /csetup, /cdev)
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Interactive Workflow (3-Round Loop)
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The design setup uses a 3-round interactive loop where users can adjust and refine until satisfied (or max 3 rounds reached).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## STEP 0: Discovery & Validation
|
|
10
|
+
|
|
11
|
+
### 0.1: Find Extracted Data
|
|
12
|
+
|
|
13
|
+
Search for: `design-system/extracted/*/data.yaml`
|
|
14
|
+
|
|
15
|
+
**If no files found:** Stop with error, instruct to run `/extract` first.
|
|
16
|
+
|
|
17
|
+
### 0.2: Load Extracted Data
|
|
18
|
+
|
|
19
|
+
For each extracted site:
|
|
20
|
+
1. Extract site name from path
|
|
21
|
+
2. Parse YAML content
|
|
22
|
+
3. Store in memory (map site name → data)
|
|
23
|
+
|
|
24
|
+
### 0.3: Load Context Files (Optional)
|
|
25
|
+
|
|
26
|
+
If user provided `@context-files`:
|
|
27
|
+
1. Remove `@` prefix
|
|
28
|
+
2. Read file content
|
|
29
|
+
3. Store with filename as key
|
|
30
|
+
|
|
31
|
+
### 0.4: Report Discovery
|
|
32
|
+
|
|
33
|
+
Display found sites, context files, and start analysis message.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## STEP 1: Context Analysis
|
|
38
|
+
|
|
39
|
+
### 1.1: AI Analysis (if context files provided)
|
|
40
|
+
|
|
41
|
+
Analyze context files to identify:
|
|
42
|
+
- `target_audience`: age_range, demographics, tech_savvy
|
|
43
|
+
- `brand_personality`: bold, professional, playful, minimal, technical
|
|
44
|
+
- `product_type`: SaaS, E-commerce, Marketing, Internal Tool
|
|
45
|
+
- `market_position`: differentiation strategy
|
|
46
|
+
- `design_preferences`: any mentioned preferences
|
|
47
|
+
|
|
48
|
+
### 1.2: Interactive Questions (fallback)
|
|
49
|
+
|
|
50
|
+
If no context or analysis insufficient, ask:
|
|
51
|
+
|
|
52
|
+
1. **Product Type**: SaaS Dashboard / E-commerce / Marketing Site / Internal Tool
|
|
53
|
+
2. **Target Audience**: Gen Z / Millennials / Enterprise / Developers
|
|
54
|
+
3. **Brand Personality** (multi-select): Bold / Professional / Playful / Minimal
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## STEP 2: Interactive Selection Loop
|
|
59
|
+
|
|
60
|
+
### 2.1: Style Selection
|
|
61
|
+
|
|
62
|
+
For each extracted site, display:
|
|
63
|
+
```
|
|
64
|
+
Option [Letter]: [Style Name] [⭐ RECOMMENDED if highest score]
|
|
65
|
+
Source: [site name]
|
|
66
|
+
Match Score: [score]%
|
|
67
|
+
|
|
68
|
+
📝 Characteristics: [list]
|
|
69
|
+
🎭 Feel: [description]
|
|
70
|
+
🎨 Colors: [primary colors]
|
|
71
|
+
🎬 Animations: [available animations]
|
|
72
|
+
📜 Scroll Patterns: [patterns]
|
|
73
|
+
🖼️ Decorative Elements: [elements]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Match Score Calculation:**
|
|
77
|
+
- Base = confidence from extraction
|
|
78
|
+
- +15 if brand includes "bold" and style is Neo-Brutalism/Playful
|
|
79
|
+
- +15 if brand includes "professional" and style is Minimalist/Modern SaaS
|
|
80
|
+
- +15 if brand includes "playful" and style is Playful/Creative
|
|
81
|
+
- +15 if brand includes "minimal" and style is Minimalist
|
|
82
|
+
- Cap at 100
|
|
83
|
+
|
|
84
|
+
**User Options:**
|
|
85
|
+
- Select A, B, C... → Store as selectedStyle
|
|
86
|
+
- Select "Mix/Custom" → Get feedback, increment round, loop back
|
|
87
|
+
|
|
88
|
+
### 2.2: Animation Selection (Multi-select)
|
|
89
|
+
|
|
90
|
+
Collect all available animations from extracted sites:
|
|
91
|
+
- Animation libraries (GSAP, Framer Motion, etc.)
|
|
92
|
+
- Scroll patterns (parallax, fade-in, stacking-cards)
|
|
93
|
+
- Component animations (button hover, card hover)
|
|
94
|
+
|
|
95
|
+
Display numbered list, user selects multiple.
|
|
96
|
+
|
|
97
|
+
### 2.3: Theme Selection
|
|
98
|
+
|
|
99
|
+
AI recommends 3-4 themes based on project context:
|
|
100
|
+
```
|
|
101
|
+
Theme [Letter]: [Name]
|
|
102
|
+
📝 Description: [description]
|
|
103
|
+
🎭 Feeling: [feeling]
|
|
104
|
+
✅ USE: [decorative elements]
|
|
105
|
+
❌ AVOID: [elements to avoid]
|
|
106
|
+
🎯 Icons: [Lucide suggestions]
|
|
107
|
+
💡 Why: [match reason]
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**User Options:**
|
|
111
|
+
- Select A, B, C... → Store theme
|
|
112
|
+
- Select "No Theme" → Use abstract/geometric
|
|
113
|
+
- Select "Custom" → Input custom theme description
|
|
114
|
+
|
|
115
|
+
### 2.4: Confirmation
|
|
116
|
+
|
|
117
|
+
Display summary and ask:
|
|
118
|
+
- "Yes, Generate" → Exit loop, proceed to generation
|
|
119
|
+
- "Adjust" → Increment round, loop back
|
|
120
|
+
- "Start Over" → Reset round to 1, loop back
|
|
121
|
+
|
|
122
|
+
### 2.5: Max Rounds
|
|
123
|
+
|
|
124
|
+
After 3 rounds, force decision:
|
|
125
|
+
- "Yes" → Generate with current settings
|
|
126
|
+
- "Cancel" → Exit without generating
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Loop Flow Diagram
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
134
|
+
│ START (Round 1) │
|
|
135
|
+
└─────────────────────────────────────────────────────────────┘
|
|
136
|
+
↓
|
|
137
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
138
|
+
│ Style Selection → Animation Selection → Theme Selection │
|
|
139
|
+
└─────────────────────────────────────────────────────────────┘
|
|
140
|
+
↓
|
|
141
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
142
|
+
│ Confirmation │
|
|
143
|
+
│ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │
|
|
144
|
+
│ │ Yes │ │ Adjust │ │ Start Over │ │
|
|
145
|
+
│ └────┬────┘ └────┬────┘ └──────┬──────┘ │
|
|
146
|
+
│ │ │ │ │
|
|
147
|
+
│ ↓ ↓ ↓ │
|
|
148
|
+
│ Generate Round++ Round=1 │
|
|
149
|
+
│ Files (max 3) (restart) │
|
|
150
|
+
└─────────────────────────────────────────────────────────────┘
|
|
151
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<claude-mem-context>
|
|
2
|
+
# Recent Activity
|
|
3
|
+
|
|
4
|
+
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
+
|
|
6
|
+
### Feb 3, 2026
|
|
7
|
+
|
|
8
|
+
| ID | Time | T | Title | Read |
|
|
9
|
+
|----|------|---|-------|------|
|
|
10
|
+
| #184 | 11:10 PM | 🔵 | Page Planner skill generates visual UI plans with wireframes and animation blueprints | ~827 |
|
|
11
|
+
</claude-mem-context>
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Page Planner Skill
|
|
2
|
+
|
|
3
|
+
Generate visual page plans for UI implementation - component strategy, layout wireframes, animation blueprints.
|
|
4
|
+
|
|
5
|
+
## Triggers
|
|
6
|
+
|
|
7
|
+
- "/pageplan [@context-files...]"
|
|
8
|
+
- "plan page layout"
|
|
9
|
+
- "create page wireframe"
|
|
10
|
+
- "วางแผนหน้าเว็บ"
|
|
11
|
+
|
|
12
|
+
## Quick Usage
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# With context files
|
|
16
|
+
/pageplan @proposal.md @prd.md
|
|
17
|
+
|
|
18
|
+
# Current change only
|
|
19
|
+
/pageplan
|
|
20
|
+
|
|
21
|
+
# Specify change ID
|
|
22
|
+
/pageplan landing-page
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## What Gets Generated
|
|
26
|
+
|
|
27
|
+
`openspec/changes/{change-id}/page-plan.md` containing:
|
|
28
|
+
|
|
29
|
+
| Section | Content |
|
|
30
|
+
|---------|---------|
|
|
31
|
+
| Component Plan | Reuse vs new components |
|
|
32
|
+
| Page Structure | Layout composition (TSX) |
|
|
33
|
+
| Layout Wireframe | ASCII art (Desktop/Tablet/Mobile) |
|
|
34
|
+
| Animation Blueprint | Hover, focus, transition patterns |
|
|
35
|
+
| UI States | Empty, loading, success, error states |
|
|
36
|
+
| Asset Checklist | Images, icons to prepare |
|
|
37
|
+
|
|
38
|
+
## Input Sources
|
|
39
|
+
|
|
40
|
+
| Source | Purpose |
|
|
41
|
+
|--------|---------|
|
|
42
|
+
| `@context-files` | User-provided requirements |
|
|
43
|
+
| `proposal.md` | Change description |
|
|
44
|
+
| `tasks.md` | Page type detection |
|
|
45
|
+
| `phases.md` | Phase information |
|
|
46
|
+
| `design-system/data.yaml` | Design tokens |
|
|
47
|
+
|
|
48
|
+
## Workflow
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
1. Detect Change → Find active change or use provided ID
|
|
52
|
+
2. Read Context → Load all input sources
|
|
53
|
+
3. Search Components → Find existing reusable components
|
|
54
|
+
4. Generate Plan → Component plan, wireframes, animations
|
|
55
|
+
5. Write Output → page-plan.md
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Output Sections
|
|
59
|
+
|
|
60
|
+
### 1. Component Plan
|
|
61
|
+
- Reuse: Found components with paths and usage
|
|
62
|
+
- New Shared: Components for multiple pages
|
|
63
|
+
- New Specific: Page-only components
|
|
64
|
+
|
|
65
|
+
### 2. Layout Wireframe
|
|
66
|
+
ASCII art for Desktop, Tablet, Mobile views with:
|
|
67
|
+
- Container sizes
|
|
68
|
+
- Grid breakpoints
|
|
69
|
+
- Spacing details
|
|
70
|
+
|
|
71
|
+
### 3. Animation Blueprint
|
|
72
|
+
From data.yaml tokens:
|
|
73
|
+
- Button animations (scale + shadow)
|
|
74
|
+
- Card animations (shadow elevation)
|
|
75
|
+
- Input animations (ring focus)
|
|
76
|
+
- Navigation animations
|
|
77
|
+
- Performance guidelines
|
|
78
|
+
|
|
79
|
+
### 4. UI States
|
|
80
|
+
For each component:
|
|
81
|
+
- Empty state
|
|
82
|
+
- Loading state
|
|
83
|
+
- Success state
|
|
84
|
+
- Error state
|
|
85
|
+
- Disabled state
|
|
86
|
+
|
|
87
|
+
### 5. Asset Checklist
|
|
88
|
+
- Images (WebP, responsive sizes)
|
|
89
|
+
- Icons (SVG preferred)
|
|
90
|
+
- Performance notes
|
|
91
|
+
|
|
92
|
+
## Detailed Documentation
|
|
93
|
+
|
|
94
|
+
| Reference | Use When |
|
|
95
|
+
|-----------|----------|
|
|
96
|
+
| [references/generation-steps.md](references/generation-steps.md) | Full step-by-step process |
|
|
97
|
+
| [references/wireframe-patterns.md](references/wireframe-patterns.md) | Layout wireframe examples |
|
|
98
|
+
| [references/animation-patterns.md](references/animation-patterns.md) | Animation blueprint guide |
|
|
99
|
+
| [templates/page-plan.md](templates/page-plan.md) | Output template |
|
|
100
|
+
|
|
101
|
+
## Integration
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
/designsetup → /pageplan → /csetup → /cdev
|
|
105
|
+
↓ ↓ ↓ ↓
|
|
106
|
+
data.yaml page-plan.md research uxui-frontend
|
|
107
|
+
(visual) checklist reads both
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Separation:**
|
|
111
|
+
- `/pageplan` = Visual (layout, components, animations)
|
|
112
|
+
- `/csetup` = Research (best practices, content strategy)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<claude-mem-context>
|
|
2
|
+
# Recent Activity
|
|
3
|
+
|
|
4
|
+
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
|
|
5
|
+
|
|
6
|
+
### Feb 3, 2026
|
|
7
|
+
|
|
8
|
+
| ID | Time | T | Title | Read |
|
|
9
|
+
|----|------|---|-------|------|
|
|
10
|
+
| #252 | 11:38 PM | 🔵 | Git status reveals extensive refactoring with skills migration and core context reorganization | ~682 |
|
|
11
|
+
</claude-mem-context>
|