Part IV · Tools & Infrastructure
16
Code to Canvas
Pushing live rendered UI back into Figma as editable frames
You've built the component. It looks right in the browser. Now you need a designer to review it — and "send them a URL" usually means feedback arriving as Slack messages two days later saying "make the button a bit bigger" and "the spacing feels off on the right side."
There's a better handoff. Figma's Claude Code to Figma lets you push the rendered UI directly into Figma as an editable frame. The designer sees it exactly as it renders, can annotate it, adjust it, and you can pull those changes back into the coding loop via the Figma MCP.
No manual re-export. No interpreting vague Slack feedback.
How it works
You can capture multiple screens in a single session, preserving sequence and context — so multi-step flows make sense when reviewed together rather than as isolated screenshots.
The workflow:
- Implement the UI in code
- Push to a preview URL (or use localhost)
- Capture the rendered UI via Claude Code to Figma — it imports as an editable Figma frame
- Designer reviews and iterates in Figma
- Pull the updated design context back into the coding loop via the Figma MCP
The bidirectional loop
For the full bidirectional loop, see Figma MCP Workflows.
- Code → Figma: implementation becomes the source of truth for the current state
- Figma → Code: designer changes become the spec for the next iteration
When this is most useful
The Code to Canvas flow is most valuable when:
- You're building something new and want designer input before finalizing
- The implementation has diverged from the original design and you need to reconcile
- You're doing a design review and want to capture the current state accurately
- You're working with a designer who prefers to iterate in Figma rather than in the browser
Practical notes
The captured frames are static — they capture the visual appearance, not the interactive behavior. For interactive review, sharing a URL is still better. The Figma frame is for visual and layout review.
The quality of the capture depends on the rendering environment. Complex CSS (especially animations and transitions) may not capture perfectly. Static layouts capture very accurately.
Workflow Recipe
Copy-pasteable flows and guided workflow finder
Pick a workflow
Prompt
I need to build [feature]. Here’s the spec: inputs, outputs, edge cases, constraints. Produce a plan before writing any code.
Steps
Spec
Write a developer spec with inputs, outputs, edge cases, and constraints.
Plan
Ask the model to produce a plan — files to create/modify, key decisions. Review before coding.
Code
Implement against the plan. One feature, one PR. Pull the model back if it goes out of scope.
Review
Ask the model to review its own code: "What edge cases might this miss? What would break this?"
Tests
Generate tests from the review’s edge cases: "Write tests for the edge cases you identified."
PR description
Generate the PR description from the spec and the diff. Full context produces clear descriptions.
Tools
Guardrails
- One feature, one PR — keep scope tight
- Review the plan before writing code
- Don’t let the model touch files outside scope
- Ask before refactoring adjacent code
Expected output
Working PR with passing CI, clear description, and tests covering the identified edge cases.
Paste into CLAUDE.md, .cursorrules, or your workflow docs