Step 5: Frontend implementation - requires GATE 4 passed
Implements frontend components after API contract is finalized. Maps dependencies, creates stubs, then delegates to implementer with UX patterns and validation requirements.
/plugin marketplace add packlikez/claude-code-dev-plugin/plugin install dev@packlikez-dev-plugins<feature-name>□ GATE 4 PASSED (API tests complete)
□ API contract: api-contracts/{feature}.yaml
cat specs/{type}/{feature-name}.md # Spec
cat api-contracts/{feature}.yaml # API contract
cat skills/ux-patterns.md # UX patterns
Load dependency-map skill and map ALL needed UI elements:
cat skills/dependency-map.md
Extract from spec - UI Components:
| Component | Purpose | Exists? | Action |
|---|---|---|---|
| {Form} | {purpose} | ? | CREATE/REUSE |
| {Dialog} | {purpose} | ? | CREATE/REUSE |
| {Button} | {purpose} | ? | REUSE (ui lib) |
Extract from spec - Hooks/Services:
| Hook/Service | Purpose | Exists? | Action |
|---|---|---|---|
| useAuth | Auth state | ? | CREATE/REUSE |
| apiClient | API calls | ? | CREATE/REUSE |
Quick existence check:
ls src/components/ui/ 2>/dev/null
ls src/components/ 2>/dev/null
ls src/hooks/ 2>/dev/null
grep -r "Dialog\|Modal" src/components/ 2>/dev/null
Create stubs for ALL missing components FIRST:
// Stub component
export const FeatureDialog = () => {
throw new Error('Not implemented - TODO');
};
Based on dependency map:
Use Task tool with implementer agent:
Implement frontend for {feature-name}:
- Dependency map: .claude/deps/{feature-name}.md
- Generate types from API contract
- Follow ux-patterns skill
- Handle all UI states
- No native browser components
From ux-patterns skill:
From spec:
Use Task tool with gate-keeper agent:
Validate GATE 5 for {feature-name}
See gate-5-frontend skill for all 26 criteria.
src/components/{feature}/src/hooks/src/types/