Here a few best practices to make this hand-off as smooth as possible.
When possible, we aim to involve developers early in the design process. This helps us acclimate them to the features they are going to build, spot potential problems early, and get fresh perspective on our work.
We use Figma comments to explain pieces of the design that might not be explicit or clear. We also flag pieces of the design that might be more subject to change, to avoid unnecessary work. We encourage the developers to leave comments and responses as well in order to get clarification as they're building.
Inevitably, there will be things that are unclear about the designs. We encourage the developers to ask questions along the way, so that design can clarify their intentions as needed. If you're unsure who to ask, ping the #design channel in Slack and we will triage from there.
Componentizing our design system as much as possible will help us avoid wasted cycles on small UI details.