Go back

Branch Review Checklist

Design Review Checklist to Perform Effective Branch Reviews in Figma

Below is a checklist template to validate design components across categories like composition, properties, and behaviors.

1. Metadata

As a user, I can insert a component that’s precisely named and accurately described.

ItemTypeDescription
1.1NameIs it named consistently with the code?
1.2DescriptionIs it described sufficiently?
1.3StatusIs the status of the component up-to-date?
1.4LinksIs linked correctly with the usage guidelines and code documentation?

2. Composition — Base, sub, and nested components

As a user, I can successfully swap out subcomponents to include other design system components and/or custom content as slots.

ItemTypeDescription
2.1Base componentAre
2.2Base component contentAre
2.3Subcomponent propertiesAre
2.4Subcomponent contentAre
2.5Slot componentAre
2.6Slot resizeAre
2.7Slot content reflowAre

3. Base Component Anatomy

As a user, I want to interact with a well-organized and cleanly built component anatomy.

ItemTypeDescription
3.1Layer nameAre layer names consistent with the specified component anatomy?
3.2Layer formatAre layer names formatted as actual names in sentence case?
3.3Default visibilityAre layers shown or hidden appropriately, including layers within hidden layers?

4. Color styles

As a user, the component applies colors via color styles and component-specific attributes in a manner consistent with design tokens.

ItemTypeDescription
4.1Color stylesIs every fill, stroke, solid color and gradient applying a color style instead of a hardcoded value?
4.2Color accuracyAre background, text, and border colors applied accurately relative to design specifications? This includes accuracy of states, theming, and other color variability.
4.3Style specificityIs each color style applying the most semantically specific (Text > Link > On Dark) instead of generic (Global colors > Blue > 50) style?
4.4Hardcoded colorsWhere a hardcoded value is used, has it been discussed and agreed upon?
4.5Buried colorsAre buried hardcoded colors — applied to shadow effects and other non-styled locations — applied accurately?

5. Text styles

As a user, the component applies system typography via text styles and component-specific overrides so that I don’t have to style text.

ItemTypeDescription
5.1Text stylesIs each text layer associated with a defined text style?
5.2Non-text style propertiesAre properties not styles — list style, vertical alignment, and horizontal alignment — accurately applied or omitted?

6. Content

As a user, I can flow text, images, icons and other content into the component and the within-component layout will adapt accordingly regardless of the component’s size.

ItemTypeDescription
6.1Too much contentDoes layout break when content is too large, such as a wrapping label, collision or image that needs to be cropped?
6.2Too little contentDoes layout accurately present content that’s quite small, such as a label of a few characters or an image too small for a container?
6.3Missing contentDoes it break in the absence of content, such as omitted text or missing image?

7. Auto Layout

As a user, I want to

ItemTypeDescription
7.1NameAre

8. Spacing Tokens

As a user, I can trust that the space between elements is precise.

ItemTypeDescription
8.1Padding around itemsIs every element — particularly containers of nested elements — padding the container precisely?
8.2AlignmentIs every element and pair of adjacent elements aligned correctly as elements expand and the component resizes?
8.3Space between itemsIs every element and pair of adjacent elements inset and separated consistent with design specifications?

9. Properties

As a user, I can adjust properties and values in a manner consistent with the component code. As a designer, I can insert a component with appropriate defaults.

ItemTypeDescription
9.1Property namesAre properties named and formatted correctly?
9.1Property orderAre properties ordered sensibly, such as by priority, alphabetical, related sets, or documented order across components?
9.1Option namesAre property options named and formatted correctly?
9.1Option orderAre options ordered correctly, such as by scale order ( small then medium then large) or alphabetical?
9.1Default optionWhen I insert an instance, is the default correct? Is the default option positioned correctly within the option order?