Claude Code work plan β what can ship tonight vs what's blocked
This is the action layer on top of the roadmap. It identifies what work CC can execute right now (parallel to your Figma design work), what work is blocked by Figma decisions, and the dependency graph between tasks.
Categorization
Every task falls into one of three buckets:
- π’ SHIP TONIGHT β Can be assigned to CC right now, no blockers. Pure architectural / token / lint / refactor work that doesn't depend on visual decisions.
- π‘ PARTIAL β Can start, but final polish needs Figma. CC can produce a working v0.2.0-grade implementation; refinement after Figma.
- π΄ BLOCKED β Cannot start meaningfully without Figma reference. CC would produce AI-slop without your design direction.
π’ SHIP TONIGHT β pure architecture work
TASK-A1 β Write ADR-0006 (Component classification by functional role)
Estimated: 1-2 hours of CC time
Blockers: None
Output: llm-wiki/decisions/0006-component-classification-by-functional-role.md
CC writes the ADR documenting the four-layer model based on 01-master-diff-merge.md Section 2. References Section 1-2 quiz decisions. No visual elements. Pure text.
TASK-A2 β Write ADR-0007 (Modifier system as cross-cutting layer)
Estimated: 2 hours of CC time
Blockers: None
Output: llm-wiki/decisions/0007-modifier-system-cross-cutting.md
Pure architectural document. 7 categories, namespace separation, selective inheritance, applicability matrix.
TASK-A3 β Write ADR-0008 (Token tier strict separation)
Estimated: 1-2 hours of CC time
Blockers: None
Output: llm-wiki/decisions/0008-token-tier-strict-separation.md
TASK-A4 β Write ADR-0009 (Semantic typography naming)
Estimated: 1-2 hours of CC time
Blockers: None
Output: llm-wiki/decisions/0009-semantic-typography-naming.md
TASK-A5 β Write ADR-0013 (Form subsystem separation)
Estimated: 1 hour of CC time
Blockers: None
Output: llm-wiki/decisions/0013-form-subsystem-separation.md
TASK-A6 β Token system migration (M-3)
Estimated: 8-16 hours of CC time Blockers: None (token values stay numerically the same; only naming/structure changes) Output:
- New
packages/core/tokens/foundations.json(nested structure) - New
packages/core/tokens/semantic.json(semantic groups) - Updated
packages/core/src/build.ts,types.ts,resolve.ts - Migration codemod
scripts/migrate-tokens-v01-to-v1.mjs - Updated component CSS (token references renamed)
- All 16 + 109 tests still passing
This is critical-path work. CC can knock it out in one focused session.
TASK-A7 β Modifier system rename (M-4)
Estimated: 4-8 hours of CC time Blockers: TASK-A6 must complete first (modifier values reference tokens) Output:
- All "tweak" β "modifier" renamed throughout codebase
- "treatment" β "effect" renamed (just documentation since v0.1.0 had no treatment usage yet)
modifiers/applicability.jsonwith initial component β modifier mapping for existing 10 components- Existing component CSS updated to declare modifier namespaces
TASK-A8 β Component layer reorganization (M-5)
Estimated: 4-8 hours of CC time Blockers: None (file moves don't depend on tokens or modifiers) Output:
git mvoperations for Avatar, Tabs, Alert- Reorganize Elements into interactive/form/display sub-categories
- All imports/exports updated
- Migration codemod
scripts/migrate-component-layout-v01-to-v1.mjs - All 109 tests still passing
Can run in parallel with TASK-A6 and TASK-A7.
TASK-A9 β Lint rule additions (M-6)
Estimated: 4-6 hours of CC time Blockers: TASK-A6 (tokens) and TASK-A7 (modifiers) must complete first Output:
no-foundation-direct-referencestylelint rulemodifier-namespace-checkstylelint rule- Existing rule bug fixes (Safari 1px detection, stylelint v16 deprecation)
- Lint runs cleanly over all component CSS post-migration
TASK-A10 β Component AGENTS.md generation (M-7 partial)
Estimated: 8-12 hours of CC time Blockers: TASK-A6 (need new token names for token-to-component mapping) Output:
- 10 new
<component>.agents.mdfiles (one per v0.1.0 component) - Each 400-800 words
- Includes token-to-component mapping section (from Q8.7 follow-up)
- Includes modifier applicability section
TASK-A11 β Migration verification + v0.2.0 tag (M-8)
Estimated: 2-4 hours of CC time Blockers: All migration tasks (A6-A10) must complete first Output:
- Full test suite passing
- Lint clean
- Build clean
- Tag v0.2.0
- Release notes documenting migration
TASK-A12 β Build Divider component
Estimated: 1-2 hours of CC time Blockers: None (CSS-only, trivial) Output:
packages/components/src/foundations/divider/(CSS + docs + agents)- Horizontal + vertical variants
- 4-6 tests
- Visual reference HTML
Divider is the simplest new v1.0 component. CC can build it as warm-up.
TASK-A13 β Build Kbd component
Estimated: 1 hour of CC time Blockers: None (CSS-only, trivial) Output:
packages/components/src/elements/interactive/kbd/(CSS + docs + agents)- Single-key + key-combo variants
- Tests + visual reference
TASK-A14 β Build Code (inline) component
Estimated: 2-3 hours of CC time Blockers: TASK-A14b (copyable behavior must exist first) Output:
packages/components/src/elements/display/code/(CSS + docs + agents)- Inline code styling (background, padding, font-family, border-radius)
- Copy button visible on hover (uses @malevich/morph-icons copyβdone pair)
- Default
data-copyable="true"β opt-out viadata-copyable="false" - A11y: copy button has
aria-label="Copy code", announces "Copied" via aria-live on success - 6-8 tests covering: render, click-to-copy, morph feedback, opt-out, a11y
TASK-A14b β Build Copyable behavior modifier (runtime)
Estimated: 2-3 hours of CC time Blockers: None Output:
packages/components/src/runtime/behaviors/copyable.ts- Registers globally on
init()(per P-7.6) - Discovers
[data-copyable="true"]elements at init time - Wires up copy button injection or uses existing
.{component}__copyslot - Handles Clipboard API + fallback (button hidden when unavailable)
- Integrates with morph-icons for visual feedback
- Tests: 5-6 covering registration, click handling, fallback, multiple instances
- Documentation:
docs-internal/behaviors/copyable.md
This behavior is consumed by Code (TASK-A14), Code block (future v1.0 task),
and any user component that opts in via data-copyable="true".
TASK-A15 β Build Spinner component
Estimated: 2-3 hours of CC time Blockers: None (no visual decisions needed β generic spinner) Output:
packages/components/src/foundations/spinner/(CSS + docs + agents)- S/M/L sizes
- 5-6 tests
TASK-A16 β Build Skeleton component
Estimated: 2-3 hours of CC time Blockers: None Output:
packages/components/src/foundations/skeleton/(CSS + docs + agents)- Variants: text (with lines count), block (with aspect ratio), circle (for avatars)
- 4-6 tests
TASK-A17 β Build Dots component
Estimated: 1-2 hours of CC time Blockers: None Output:
packages/components/src/foundations/dots/(CSS-only, inline loading)
TASK-A18 β Build Image component (with <picture> support)
Estimated: 3-4 hours of CC time Blockers: None Output:
packages/components/src/foundations/image/- Wrapper around
<picture>with native source fallback - Aspect ratio via CSS
- Loading="lazy" default
- 5-6 tests
TASK-A19 β Build Breadcrumb component
Estimated: 1-2 hours of CC time Blockers: None (semantic HTML, simple styling) Output:
packages/components/src/blocks/breadcrumb/
TASK-A20 β Update existing Button to 5 variants
Estimated: 2-3 hours of CC time Blockers: TASK-A6 (tokens) β new variants need status colors Output:
- Rename existing
accentvariant βprimary - Add new variants:
secondary,success - (existing:
ghost,danger) - Update tests, docs, agents.md
- Codemod for existing
accentusage
π‘ PARTIAL β can start, polish after Figma
TASK-B1 β Build Icon system foundation + Phosphor adapter
Estimated: 8-12 hours of CC time Why partial: CC can implement the technical infrastructure (mask-image rendering, data-icon system, pack adapter API). But the canonical icon name list (~100 icons) and the selection principles documentation needs your design taste. Output (CC can do tonight):
@malevich/icons-defaultpackage scaffold- Phosphor SVG files downloaded and processed
- Mask-image rendering CSS
- Pack switching API
- 50-100 initial icons available
- Basic docs
Needs your input later:
- Canonical name list (when to use
deletevstrashvsx) - Icon selection principles in AGENTS.md
- Aesthetic adjustments (any custom Malevich icons to add)
TASK-B2 β Build Field-group + Label + HelperText + Error
Estimated: 8-12 hours of CC time Why partial: Structure is well-defined (P-3.3, Q3.10). Visual rhythm between elements needs Figma reference for spacing, error indicator design. Output (CC can do tonight):
- All four components built with proper semantic HTML
- Basic spacing using rhythm modifier
- Tests for composition behavior
- Documentation
Needs your input later:
- Exact spacing values between Label/Input/HelperText/Error
- Error state visual treatment (icon? color? both?)
- Disabled state visuals
TASK-B3 β Build Switch + Toggle
Estimated: 4-6 hours of CC time Why partial: Behavioral logic is clear (binary state). Visual character (track style, thumb design) needs your eye. Output (CC can do tonight):
- Working Switch with proper ARIA
- Working Toggle (button with aria-pressed)
- States: on/off, disabled, focus
- 6-8 tests each
Needs your input later:
- Track and thumb visual design
- Transition animation curve and duration
- Sizes if more than one needed
TASK-B4 β Build Accordion (built on <details>)
Estimated: 4-6 hours of CC time
Why partial: Built on native <details>. Functionally clear. Visual transitions need design input.
Output (CC can do tonight):
- Working accordion with single/multi-expand modes
- ARIA pattern
- Keyboard navigation
- Tests
Needs your input later:
- Trigger indicator (chevron? plus/minus?)
- Expand/collapse animation
- Border treatment between items
TASK-B5 β Build State block (4 variants)
Estimated: 4-6 hours of CC time Why partial: Structure clear (P-4.3). Per-variant visual treatment needs Figma. Output (CC can do tonight):
- Single State block with empty/loading/error/success variants
- Slot-based composition (icon + title + description + action)
- Default tokens for each variant
- Tests for each variant
Needs your input later:
- Per-variant visual emphasis level
- Default illustrations or icon choices
- Animation between states
TASK-B6 β Token system extensions (typography role naming)
Estimated: 4-6 hours of CC time Why partial: Naming decided. Actual size values for display.hero/statement/title need verification with Figma type scale. Output (CC can do tonight):
- All semantic typography tokens renamed (display.hero, display.statement, etc.)
- Initial size values based on document spec
- Fluid scaling implementation for display sizes
- CSS classes generated
Needs your input later:
- Tune actual font sizes to match Figma type scale
- Tune fluid scaling ranges (min/max for clamp)
- Verify line-height and letter-spacing values
TASK-B7 β Documentation site scaffold
Estimated: 16-24 hours of CC time Why partial: Architecture clear from prior Phase 3 work. But the visual character of the site is what's blocked β your Figma template defines the look. Output (CC can do tonight):
- New
apps/docsAstro app with proper scaffolding - Content collections schemas
- Layout components (BaseLayout, DocsLayout, etc.)
- Theme switcher with pre-paint script
- Navigation infrastructure
- Sandbox iframe infrastructure
- Build pipeline + Cloudflare Pages config
Needs your input later:
- All visual design (the whole point of Figma work)
- Layout aesthetic decisions
- Typography rhythm on docs pages
- Sandbox visual chrome
- Component preview composition
CC builds the "scaffolding without visuals" β meaning structure exists but uses raw Malevich defaults, no aesthetic refinement.
π΄ BLOCKED β needs Figma first
TASK-C1 β Card component refinement
Why blocked: Existing Card works but visual model is being redesigned (semantic-tag hybrid + data-pattern). Your Figma reference defines what "card patterns" look like.
TASK-C2 β Site-header component
Why blocked: This is the modifier-rich component (shape Γ surface Γ background Γ behavior). Visual variations need Figma reference.
TASK-C3 β Site-footer component
Why blocked: Heavily aesthetic. Your manifesto voice + visual rhythm define footer character.
TASK-C4 β Hero ready section
Why blocked: Most visible page element. Patterns (standard / centered / split / minimal) need Figma reference.
TASK-C5 β CTA ready section
Why blocked: Aesthetic-heavy component. Needs Figma.
TASK-C6 β Sheet overlay
Why blocked: Animation character, edge styling, internal layout all need design input.
TASK-C7 β Toast + Notifications
Why blocked: Visual character, animation feel, density decisions need Figma.
TASK-C8 β Popover styling
Why blocked: Functional (with Floating UI) can be done tonight. Visual chrome needs Figma.
TASK-C9 β Carousel visual chrome
Why blocked: Pagination dots design, prev/next button design, layout proportions need Figma.
TASK-C10 β Existing v0.1.0 components visual polish
Why blocked: All existing components may need adjustments after Figma reference reveals brand decisions. Visual refinement after Figma is faster than guessing now.
TASK-C11 β Effect category implementations (grain, glow, ring, noise, blur)
Why blocked: These are decorative visual effects. Without seeing how you want them to look in Figma, CC will produce generic CSS effects that may not match your aesthetic.
TASK-C12 β Landing page
Why blocked: This is the single most important visual surface of the project. Cannot be done without Figma reference.
TASK-C13 β Animation/motion tuning
Why blocked: Motion presets (none/subtle/standard/expressive) values and curves are tuned to your taste. CC can implement structure with default values; final feel needs your input.
Tonight's execution plan (recommended)
Realistic budget assuming you give CC ~10 hours of overnight work:
Wave 1 β ADRs (parallel, 2 hours total)
Run in 3 parallel CC sessions:
- TASK-A1 (ADR-0006)
- TASK-A2 (ADR-0007)
- TASK-A3 (ADR-0008)
These are independent. CC writes them in parallel. Output: 3 ADR files committed by ~2 hours in.
Wave 2 β Migration sequence (sequential, 6-8 hours)
Single CC session running through M-3 through M-8:
- TASK-A6 (token migration) β 8-16 hours, longest single task
- Then TASK-A7 (modifier rename) β 4-8 hours
- Then TASK-A8 (layer reorganization) β 4-8 hours (could parallel with A7)
- Then TASK-A9 (lint rules) β 4-6 hours
- Then TASK-A10 (agents.md generation) β 8-12 hours
- Finally TASK-A11 (verify + tag v0.2.0)
This is the critical path. It cannot be parallelized within itself (each step depends on previous). But CC can crank through it efficiently in one long session.
Wave 3 β Trivial new components (parallel, 4-6 hours total)
Three more CC sessions in parallel:
- Session B: TASK-A12 (Divider) + TASK-A13 (Kbd) + TASK-A14 (Code)
- Session C: TASK-A15 (Spinner) + TASK-A17 (Dots)
- Session D: TASK-A16 (Skeleton) + TASK-A19 (Breadcrumb)
These are all trivial CSS-only components with clear specs. CC can build 6-7 new components overnight.
What you wake up to
If all goes well:
- β Tag v0.2.0 β full architectural migration complete
- β 10 v0.1.0 components in new layer structure
- β Token system formalized with strict tier separation
- β Modifier system formalized with namespace separation
- β Lint rules enforce architecture
- β 6-7 new components added (Divider, Kbd, Code, Spinner, Skeleton, Dots, Breadcrumb)
- β 5 new ADRs written
- β 10 component AGENTS.md generated
- β All tests passing (109 baseline + new component tests)
You're then ready to start Figma work knowing the codebase architecture is solid.
Realistic risk assessment
Likely outcomes:
- ADRs and migration work will mostly succeed (it's pure refactor, well-spec'd)
- Trivial components will mostly succeed
- AGENTS.md will be generic in places β you'll polish during Figma phase
- Some edge cases in token migration may surface (one or two manual fixes needed)
Possible issues:
- Lint rule edge cases may require multiple iterations
- Test failures from refactor may require manual intervention
- TypeScript types regeneration may have transient issues
If something breaks:
- v0.1.0 tag is safe baseline
- Migration codemod has dry-run mode
- Each phase is independent commit; can revert if needed
JSON for Gantt diagram visualization
Below is a structured JSON representation of the work plan, designed for use in Claude Cowork to generate a Gantt chart artifact.
{
"project": "Malevich v1.0 β Architecture & Implementation",
"start_date": "2026-05-19",
"phases": [
{
"id": "wave-1",
"name": "Wave 1 β Architectural ADRs",
"color": "purple",
"tasks": [
{
"id": "a1",
"name": "ADR-0006 Component classification",
"duration_hours": 2,
"depends_on": [],
"parallel_group": "wave-1",
"status": "π’ ship tonight"
},
{
"id": "a2",
"name": "ADR-0007 Modifier system",
"duration_hours": 2,
"depends_on": [],
"parallel_group": "wave-1",
"status": "π’ ship tonight"
},
{
"id": "a3",
"name": "ADR-0008 Token tier separation",
"duration_hours": 2,
"depends_on": [],
"parallel_group": "wave-1",
"status": "π’ ship tonight"
}
]
},
{
"id": "wave-2",
"name": "Wave 2 β Migration sequence (v0.2.0)",
"color": "blue",
"tasks": [
{
"id": "a6",
"name": "Token system migration (M-3)",
"duration_hours": 12,
"depends_on": ["a3"],
"parallel_group": null,
"status": "π’ ship tonight"
},
{
"id": "a7",
"name": "Modifier rename (M-4)",
"duration_hours": 6,
"depends_on": ["a6"],
"parallel_group": "migration-mid",
"status": "π’ ship tonight"
},
{
"id": "a8",
"name": "Component layer reorg (M-5)",
"duration_hours": 6,
"depends_on": ["a6"],
"parallel_group": "migration-mid",
"status": "π’ ship tonight"
},
{
"id": "a9",
"name": "Lint rule additions (M-6)",
"duration_hours": 5,
"depends_on": ["a7", "a8"],
"parallel_group": null,
"status": "π’ ship tonight"
},
{
"id": "a10",
"name": "Component AGENTS.md (M-7)",
"duration_hours": 10,
"depends_on": ["a6"],
"parallel_group": "migration-late",
"status": "π’ ship tonight"
},
{
"id": "a11",
"name": "Verify + tag v0.2.0 (M-8)",
"duration_hours": 3,
"depends_on": ["a9", "a10"],
"parallel_group": null,
"status": "π’ ship tonight"
}
]
},
{
"id": "wave-3",
"name": "Wave 3 β Trivial new components (parallel)",
"color": "green",
"tasks": [
{
"id": "a12",
"name": "Divider component",
"duration_hours": 1.5,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-1",
"status": "π’ ship tonight"
},
{
"id": "a13",
"name": "Kbd component",
"duration_hours": 1,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-1",
"status": "π’ ship tonight"
},
{
"id": "a14",
"name": "Code (inline) with copy button",
"duration_hours": 2.5,
"depends_on": ["a11", "a14b"],
"parallel_group": "trivial-batch-1",
"status": "π’ ship tonight"
},
{
"id": "a14b",
"name": "Copyable behavior modifier (runtime)",
"duration_hours": 2.5,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-1",
"status": "π’ ship tonight"
},
{
"id": "a15",
"name": "Spinner component",
"duration_hours": 2.5,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-2",
"status": "π’ ship tonight"
},
{
"id": "a16",
"name": "Skeleton component",
"duration_hours": 2.5,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-2",
"status": "π’ ship tonight"
},
{
"id": "a17",
"name": "Dots component",
"duration_hours": 1.5,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-2",
"status": "π’ ship tonight"
},
{
"id": "a18",
"name": "Image (with picture support)",
"duration_hours": 3.5,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-3",
"status": "π’ ship tonight"
},
{
"id": "a19",
"name": "Breadcrumb component",
"duration_hours": 1.5,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-3",
"status": "π’ ship tonight"
},
{
"id": "a20",
"name": "Button to 5 variants",
"duration_hours": 2.5,
"depends_on": ["a11"],
"parallel_group": "trivial-batch-3",
"status": "π’ ship tonight"
}
]
},
{
"id": "wave-4",
"name": "Wave 4 β Partial work (CC can start, you polish after Figma)",
"color": "orange",
"tasks": [
{
"id": "b1",
"name": "Icon system + Phosphor adapter",
"duration_hours": 10,
"depends_on": ["a11"],
"blockers_human": ["Canonical name list", "Selection principles"],
"status": "π‘ partial β polish after Figma"
},
{
"id": "b2",
"name": "Field-group + Label + HelperText + Error",
"duration_hours": 10,
"depends_on": ["a11"],
"blockers_human": ["Spacing rhythm", "Error visual"],
"status": "π‘ partial β polish after Figma"
},
{
"id": "b3",
"name": "Switch + Toggle",
"duration_hours": 5,
"depends_on": ["a11"],
"blockers_human": ["Track/thumb design", "Animation curve"],
"status": "π‘ partial β polish after Figma"
},
{
"id": "b4",
"name": "Accordion",
"duration_hours": 5,
"depends_on": ["a11"],
"blockers_human": ["Trigger indicator", "Expand animation"],
"status": "π‘ partial β polish after Figma"
},
{
"id": "b5",
"name": "State block (4 variants)",
"duration_hours": 5,
"depends_on": ["a11"],
"blockers_human": ["Per-variant emphasis", "Default icons"],
"status": "π‘ partial β polish after Figma"
},
{
"id": "b6",
"name": "Token typography role names + sizes",
"duration_hours": 5,
"depends_on": ["a11"],
"blockers_human": ["Verify sizes vs Figma type scale"],
"status": "π‘ partial β polish after Figma"
},
{
"id": "b7",
"name": "Docs site scaffold",
"duration_hours": 20,
"depends_on": ["a11"],
"blockers_human": ["All visual design from Figma"],
"status": "π‘ partial β polish after Figma"
}
]
},
{
"id": "wave-5",
"name": "Wave 5 β Blocked until Figma",
"color": "red",
"tasks": [
{
"id": "c1",
"name": "Card component refinement",
"duration_hours": 8,
"depends_on": ["figma-cards"],
"status": "π΄ blocked"
},
{
"id": "c2",
"name": "Site-header component",
"duration_hours": 16,
"depends_on": ["figma-header"],
"status": "π΄ blocked"
},
{
"id": "c3",
"name": "Site-footer component",
"duration_hours": 6,
"depends_on": ["figma-footer"],
"status": "π΄ blocked"
},
{
"id": "c4",
"name": "Hero ready section",
"duration_hours": 12,
"depends_on": ["figma-hero"],
"status": "π΄ blocked"
},
{
"id": "c5",
"name": "CTA ready section",
"duration_hours": 6,
"depends_on": ["figma-cta"],
"status": "π΄ blocked"
},
{
"id": "c6",
"name": "Sheet overlay",
"duration_hours": 10,
"depends_on": ["figma-sheet"],
"status": "π΄ blocked"
},
{
"id": "c7",
"name": "Toast + Notifications",
"duration_hours": 12,
"depends_on": ["figma-notifications"],
"status": "π΄ blocked"
},
{
"id": "c8",
"name": "Popover styling",
"duration_hours": 6,
"depends_on": ["figma-popover"],
"status": "π΄ blocked"
},
{
"id": "c9",
"name": "Carousel visual chrome",
"duration_hours": 8,
"depends_on": ["figma-carousel"],
"status": "π΄ blocked"
},
{
"id": "c10",
"name": "Existing components visual polish",
"duration_hours": 12,
"depends_on": ["figma-tokens-confirmed"],
"status": "π΄ blocked"
},
{
"id": "c11",
"name": "Effect category implementations",
"duration_hours": 8,
"depends_on": ["figma-effects"],
"status": "π΄ blocked"
},
{
"id": "c12",
"name": "Landing page",
"duration_hours": 16,
"depends_on": ["figma-landing"],
"status": "π΄ blocked"
},
{
"id": "c13",
"name": "Animation/motion tuning",
"duration_hours": 8,
"depends_on": ["figma-motion-notes"],
"status": "π΄ blocked"
}
]
},
{
"id": "human-track",
"name": "Your Figma work (parallel to CC)",
"color": "pink",
"tasks": [
{
"id": "figma-tokens-confirmed",
"name": "Confirm token values (colors, type scale, spacing)",
"duration_hours": 4,
"depends_on": [],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-cards",
"name": "Design Card patterns (blog/product/feature/metric)",
"duration_hours": 6,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-header",
"name": "Design Site-header variations (shape Γ surface Γ background)",
"duration_hours": 8,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-footer",
"name": "Design Site-footer",
"duration_hours": 3,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-hero",
"name": "Design Hero patterns",
"duration_hours": 8,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-cta",
"name": "Design CTA section",
"duration_hours": 3,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-landing",
"name": "Design landing page (most important)",
"duration_hours": 16,
"depends_on": ["figma-hero", "figma-cta", "figma-header", "figma-footer"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-sheet",
"name": "Design Sheet overlay",
"duration_hours": 4,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-notifications",
"name": "Design Toast + Notifications",
"duration_hours": 4,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-popover",
"name": "Design Popover",
"duration_hours": 3,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-carousel",
"name": "Design Carousel chrome",
"duration_hours": 3,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-effects",
"name": "Design effect variations (grain/glow/ring/noise/blur)",
"duration_hours": 4,
"depends_on": ["figma-tokens-confirmed"],
"owner": "human",
"status": "π¨ figma work"
},
{
"id": "figma-motion-notes",
"name": "Define motion character (preset values)",
"duration_hours": 3,
"depends_on": [],
"owner": "human",
"status": "π¨ figma work"
}
]
}
],
"legend": {
"π’ ship tonight": "Can be done by CC overnight, no human blockers",
"π‘ partial β polish after Figma": "CC builds structure now, you refine after Figma",
"π΄ blocked": "Cannot start meaningfully without your Figma input",
"π¨ figma work": "Your design work (parallel to CC)"
}
}
Prompt for Cowork to generate Gantt diagram
Paste this prompt into Claude Cowork along with the JSON above:
Use the JSON below to generate an interactive Gantt chart artifact.
Requirements:
- Horizontal bars representing each task, length = duration_hours
- Group tasks by "phase" (color-coded per phase color)
- Show dependency arrows between tasks (depends_on field)
- Distinguish 4 task statuses by visual style:
- π’ ship tonight β solid color bar
- π‘ partial β striped pattern
- π΄ blocked β outlined, hatched
- π¨ figma work β different color row, marked as "human track"
- Display task ID, name, and duration on hover or as label
- Show critical path through Wave 1 β Wave 2 β Wave 3 highlighted
- Add a "today" line at start (2026-05-19)
- Time axis in hours initially, then days for longer view
- Filterable by status (toggle which task types to show)
- Mobile-responsive (stacks tasks vertically on narrow screens)
The chart should help me see:
1. Which tasks CC can execute tonight in parallel
2. The critical path through migration (must be sequential)
3. Which tasks are blocked by my Figma work
4. The overall scope (how much work is in v1.0)
Use minimalist Suprematist-inspired aesthetic where possible:
- Limited palette
- Strong geometry
- High contrast
- No decoration
JSON:
[paste JSON here]
TL;DR β what to do right now
Step 1 (5 minutes): Read this document. Decide if you agree with task categorization.
Step 2 (30 minutes): Copy the JSON section above into a Cowork conversation along with the prompt. Get the Gantt chart artifact. Pin it somewhere you can reference.
Step 3 (1 hour): Open a new Claude Code session. Give CC this entire 05-cc-work-plan.md document plus 01-master-diff-merge.md and 02-principles.md as context. Ask CC to start Wave 1 (the three ADRs in parallel).
Step 4 (sleep): Go to bed.
Step 5 (morning): Wake up to v0.2.0 tagged, 6-7 new components, 5 new ADRs, and a clear path forward. Start Figma work knowing the architectural foundation is solid.
The architectural quiz was the hard part. Implementation is execution.