@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,303 @@
|
|
|
1
|
+
# Page Plan: [Page Name]
|
|
2
|
+
|
|
3
|
+
> Generated from: [list of context files]
|
|
4
|
+
> Change ID: ${changeId}
|
|
5
|
+
|
|
6
|
+
## 1. Component Plan
|
|
7
|
+
|
|
8
|
+
### 🔄 Reuse Components (Found in codebase)
|
|
9
|
+
|
|
10
|
+
[For each found component]
|
|
11
|
+
- **[ComponentName]**
|
|
12
|
+
- Path: `[path]`
|
|
13
|
+
- Usage: `<ComponentName prop="value" />`
|
|
14
|
+
- Notes: [Any notes about usage]
|
|
15
|
+
|
|
16
|
+
### ✅ Create New Components
|
|
17
|
+
|
|
18
|
+
#### Shared Components (reusable across pages)
|
|
19
|
+
|
|
20
|
+
[Components that will be used in multiple pages]
|
|
21
|
+
- **[ComponentName]**
|
|
22
|
+
- Purpose: [description]
|
|
23
|
+
- Will be used in: [list pages]
|
|
24
|
+
- Store at: `/components/[category]/[ComponentName].tsx`
|
|
25
|
+
|
|
26
|
+
#### Page-Specific Components (used only here)
|
|
27
|
+
|
|
28
|
+
[Components for this page only]
|
|
29
|
+
- **[ComponentName]**
|
|
30
|
+
- Purpose: [description]
|
|
31
|
+
- Compose with: [other components]
|
|
32
|
+
- Store at: `/app/[page]/[ComponentName].tsx`
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 2. Page Structure
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
<Layout>
|
|
40
|
+
<ComponentA /> {/* Reuse */}
|
|
41
|
+
<ComponentB /> {/* New shared */}
|
|
42
|
+
<ComponentC /> {/* New specific */}
|
|
43
|
+
</Layout>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## 2.5. 📐 Layout Wireframe (Visual Blueprint)
|
|
49
|
+
|
|
50
|
+
> **Purpose:** Visual representation of page layout for user review BEFORE implementation
|
|
51
|
+
|
|
52
|
+
### Desktop View (>1024px)
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
┌────────────────────────────────────────────────────┐
|
|
56
|
+
│ [Logo] [Nav Menu] [CTA Button] │ ← Navbar (h-16, sticky)
|
|
57
|
+
├────────────────────────────────────────────────────┤
|
|
58
|
+
│ │
|
|
59
|
+
│ Hero Section │ ← Full viewport (h-screen)
|
|
60
|
+
│ [Large Headline] │ Background image
|
|
61
|
+
│ [Subheadline text] │ Centered content
|
|
62
|
+
│ [Primary CTA] │
|
|
63
|
+
│ │
|
|
64
|
+
├────────────────────────────────────────────────────┤
|
|
65
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
66
|
+
│ │ Card 1 │ │ Card 2 │ │ Card 3 │ │ ← Feature Grid
|
|
67
|
+
│ │ [Icon] │ │ [Icon] │ │ [Icon] │ │ (grid-cols-3, gap-6)
|
|
68
|
+
│ │ Title │ │ Title │ │ Title │ │ Container: max-w-7xl
|
|
69
|
+
│ │ Desc │ │ Desc │ │ Desc │ │ Padding: py-24
|
|
70
|
+
│ └──────────┘ └──────────┘ └──────────┘ │
|
|
71
|
+
├────────────────────────────────────────────────────┤
|
|
72
|
+
│ [Footer Links] [Social Icons] │ ← Footer (h-20)
|
|
73
|
+
└────────────────────────────────────────────────────┘
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Tablet View (768-1023px)
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
┌──────────────────────────────┐
|
|
80
|
+
│ [Logo] [Nav] [☰] │ ← Navbar (collapsed nav)
|
|
81
|
+
├──────────────────────────────┤
|
|
82
|
+
│ Hero Section │ ← h-[600px]
|
|
83
|
+
│ [Headline] │ Same layout, smaller
|
|
84
|
+
│ [CTA] │
|
|
85
|
+
├──────────────────────────────┤
|
|
86
|
+
│ ┌──────────┐ ┌──────────┐ │
|
|
87
|
+
│ │ Card 1 │ │ Card 2 │ │ ← Feature Grid
|
|
88
|
+
│ └──────────┘ └──────────┘ │ (grid-cols-2, gap-4)
|
|
89
|
+
│ ┌──────────┐ │
|
|
90
|
+
│ │ Card 3 │ │
|
|
91
|
+
│ └──────────┘ │
|
|
92
|
+
├──────────────────────────────┤
|
|
93
|
+
│ Footer (stacked) │
|
|
94
|
+
└──────────────────────────────┘
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Mobile View (<768px)
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
┌────────────────┐
|
|
101
|
+
│ [Logo] [☰] │ ← Navbar (hamburger)
|
|
102
|
+
├────────────────┤
|
|
103
|
+
│ Hero │ ← h-[500px]
|
|
104
|
+
│ [Headline] │ Smaller text
|
|
105
|
+
│ [CTA] │ Full-width button
|
|
106
|
+
├────────────────┤
|
|
107
|
+
│ ┌────────────┐ │
|
|
108
|
+
│ │ Card 1 │ │ ← Feature Grid
|
|
109
|
+
│ │ [Icon] │ │ (grid-cols-1, gap-4)
|
|
110
|
+
│ │ Title │ │ Full-width cards
|
|
111
|
+
│ └────────────┘ │
|
|
112
|
+
│ ┌────────────┐ │
|
|
113
|
+
│ │ Card 2 │ │
|
|
114
|
+
│ └────────────┘ │
|
|
115
|
+
│ ┌────────────┐ │
|
|
116
|
+
│ │ Card 3 │ │
|
|
117
|
+
│ └────────────┘ │
|
|
118
|
+
├────────────────┤
|
|
119
|
+
│ Footer │
|
|
120
|
+
│ (stacked) │
|
|
121
|
+
└────────────────┘
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Spacing & Sizing Details
|
|
125
|
+
|
|
126
|
+
**Containers:**
|
|
127
|
+
- Hero: Full viewport height (h-screen desktop, h-[600px] tablet, h-[500px] mobile)
|
|
128
|
+
- Features: max-w-7xl, px-6, py-24 (desktop) → py-16 (tablet) → py-12 (mobile)
|
|
129
|
+
- Cards: Equal height, p-6 (desktop) → p-4 (mobile)
|
|
130
|
+
|
|
131
|
+
**Grid Breakpoints:**
|
|
132
|
+
- Desktop (>1024px): 3 columns (grid-cols-3)
|
|
133
|
+
- Tablet (768-1023px): 2 columns (grid-cols-2)
|
|
134
|
+
- Mobile (<768px): 1 column (grid-cols-1)
|
|
135
|
+
|
|
136
|
+
**Gaps:**
|
|
137
|
+
- Section gaps: gap-24 (desktop) → gap-16 (tablet) → gap-12 (mobile)
|
|
138
|
+
- Card gaps: gap-6 (desktop) → gap-4 (mobile)
|
|
139
|
+
|
|
140
|
+
### Responsive Behavior
|
|
141
|
+
|
|
142
|
+
| Element | Desktop | Tablet | Mobile |
|
|
143
|
+
|---------|---------|--------|--------|
|
|
144
|
+
| **Navbar** | Full menu | Collapsed | Hamburger |
|
|
145
|
+
| **Hero** | h-screen | h-[600px] | h-[500px] |
|
|
146
|
+
| **Feature Grid** | 3 cols | 2 cols | 1 col (stack) |
|
|
147
|
+
| **Cards** | Side-by-side | Wrap to 2 cols | Full-width stack |
|
|
148
|
+
| **Footer** | Horizontal | Stacked | Stacked |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 2.6. 🎬 Animation Blueprint (Micro-interactions)
|
|
153
|
+
|
|
154
|
+
> **Source:** `design-system/data.yaml` (animation tokens)
|
|
155
|
+
|
|
156
|
+
### Animation Principles
|
|
157
|
+
|
|
158
|
+
**From data.yaml:**
|
|
159
|
+
- **Durations:** 150ms (quick), 300ms (normal), 500ms (slow)
|
|
160
|
+
- **Easing:** ease-in-out (default)
|
|
161
|
+
- **Properties:** GPU-accelerated ONLY (transform, opacity)
|
|
162
|
+
|
|
163
|
+
### Button Animations
|
|
164
|
+
|
|
165
|
+
**Primary CTA:**
|
|
166
|
+
- Hover: `transition-all duration-150 hover:scale-105 hover:shadow-lg`
|
|
167
|
+
- Active: `active:scale-95`
|
|
168
|
+
- Loading: `disabled:opacity-70`
|
|
169
|
+
|
|
170
|
+
**Secondary:**
|
|
171
|
+
- Hover: `transition-colors duration-150 hover:bg-secondary/80`
|
|
172
|
+
|
|
173
|
+
### Card Animations
|
|
174
|
+
|
|
175
|
+
**Feature Card:**
|
|
176
|
+
- Hover: `transition-shadow duration-300 hover:shadow-xl`
|
|
177
|
+
- Border glow (optional): `hover:border-primary/50`
|
|
178
|
+
|
|
179
|
+
**Interactive Card:**
|
|
180
|
+
- Hover + Active: `cursor-pointer transition-shadow duration-300 hover:shadow-xl active:scale-98`
|
|
181
|
+
|
|
182
|
+
### Input Animations
|
|
183
|
+
|
|
184
|
+
**Focus:**
|
|
185
|
+
- `transition-all duration-200 focus:ring-2 focus:ring-primary focus:border-primary`
|
|
186
|
+
|
|
187
|
+
### Navigation Animations
|
|
188
|
+
|
|
189
|
+
**Desktop Menu:**
|
|
190
|
+
- `transition-colors duration-150 hover:bg-accent`
|
|
191
|
+
|
|
192
|
+
**Mobile Sidebar (Framer Motion):**
|
|
193
|
+
- Initial: `x: "-100%"`
|
|
194
|
+
- Animate: `x: 0`
|
|
195
|
+
- Transition: `duration: 0.3, ease: [0.4, 0, 0.2, 1]`
|
|
196
|
+
|
|
197
|
+
### Performance Guidelines
|
|
198
|
+
|
|
199
|
+
**GPU-accelerated (preferred):**
|
|
200
|
+
- transform, opacity, filter
|
|
201
|
+
|
|
202
|
+
**Avoid:**
|
|
203
|
+
- width, height, top, left, margin
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 2.7. 🔄 UI States Definition
|
|
208
|
+
|
|
209
|
+
### State Categories
|
|
210
|
+
|
|
211
|
+
| State | When | Visual | Accessibility |
|
|
212
|
+
|-------|------|--------|---------------|
|
|
213
|
+
| **Empty** | No data exists | Illustration + CTA | `role="status"` |
|
|
214
|
+
| **Loading** | Fetching data | Skeleton/Spinner | `aria-busy="true"` |
|
|
215
|
+
| **Success** | Action completed | Checkmark + message | `aria-live="polite"` |
|
|
216
|
+
| **Error** | Something failed | Error message + retry | `role="alert"` |
|
|
217
|
+
| **Disabled** | Not available | Muted + explanation | `aria-disabled="true"` |
|
|
218
|
+
|
|
219
|
+
### [Component] States
|
|
220
|
+
|
|
221
|
+
**Empty State:**
|
|
222
|
+
- Visual: [description]
|
|
223
|
+
- Message: "[friendly message]"
|
|
224
|
+
- CTA: [action]
|
|
225
|
+
|
|
226
|
+
**Loading State:**
|
|
227
|
+
- Type: Skeleton / Spinner
|
|
228
|
+
- Min duration: 300ms
|
|
229
|
+
|
|
230
|
+
**Success State:**
|
|
231
|
+
- Visual: [checkmark/animation]
|
|
232
|
+
- Message: "[confirmation]"
|
|
233
|
+
- Auto-dismiss: [yes/no, duration]
|
|
234
|
+
|
|
235
|
+
**Error State:**
|
|
236
|
+
- Visual: [error icon]
|
|
237
|
+
- Message: "[specific error]"
|
|
238
|
+
- Recovery: [retry action]
|
|
239
|
+
|
|
240
|
+
**Disabled State:**
|
|
241
|
+
- Visual: [muted style]
|
|
242
|
+
- Reason: "[why disabled]"
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## 3. 📦 Assets to Prepare (Performance-Optimized)
|
|
247
|
+
|
|
248
|
+
### Images
|
|
249
|
+
|
|
250
|
+
- [ ] **[filename].webp** (1920x1080)
|
|
251
|
+
- Source: [original file]
|
|
252
|
+
- Sizes: 768w, 1024w, 1920w
|
|
253
|
+
- Loading: lazy / eager
|
|
254
|
+
- Alt: "[descriptive text]"
|
|
255
|
+
- Place: /public/images/
|
|
256
|
+
- Purpose: [description]
|
|
257
|
+
|
|
258
|
+
### Icons
|
|
259
|
+
|
|
260
|
+
- [ ] **[icon-name].svg** (24x24 viewBox)
|
|
261
|
+
- Format: SVG
|
|
262
|
+
- Optimization: SVGO
|
|
263
|
+
- Place: /public/icons/
|
|
264
|
+
- Style: Match data.yaml colors
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## 4. Design Notes
|
|
269
|
+
|
|
270
|
+
**Design System Files:**
|
|
271
|
+
- Tokens: `design-system/data.yaml`
|
|
272
|
+
- Summary: `design-system/README.md`
|
|
273
|
+
|
|
274
|
+
**Key Tokens:**
|
|
275
|
+
- Primary color: [from data.yaml]
|
|
276
|
+
- Font family: [from data.yaml]
|
|
277
|
+
- Spacing scale: [from data.yaml]
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## 5. Implementation Notes
|
|
282
|
+
|
|
283
|
+
### Component Imports (Reference)
|
|
284
|
+
|
|
285
|
+
```tsx
|
|
286
|
+
// Reuse
|
|
287
|
+
[import statements for reused components]
|
|
288
|
+
|
|
289
|
+
// Component library (shadcn/ui)
|
|
290
|
+
[import statements]
|
|
291
|
+
|
|
292
|
+
// New (to be created)
|
|
293
|
+
[import statements with comments]
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Next Steps
|
|
299
|
+
|
|
300
|
+
1. ✅ Review layout wireframe & component plan
|
|
301
|
+
2. ✅ Prepare assets (images, icons) per checklist
|
|
302
|
+
3. ✅ Run `/csetup ${changeId}` for research & content strategy
|
|
303
|
+
4. ✅ Run `/cdev ${changeId}` to implement
|