1. Название компонента только на английском языке. Каждое новое слово с большой буквы, в качестве разделителя пробел. Используется только общепринятые названия компонентов. Например:
    1. Action Button
    2. Promo Banner
    3. Services Section
    4. Balance Widget
  2. Название настроек и их значений только на английском языке. Каждое новое слово с большой буквы, в качестве разделителя пробел. Например:
    1. Show Button (True, False)
    2. Type (Button, Button & Title, Title & Subtitle)
    3. Discount Label (Sale, Black Friday, None)
    4. Pin Position (Top Left, Top Right, Bottom Left, Bottom Right)
  3. Если компонент меняет вид на разных брейкпоинтах экрана, то должна быть настройка Breakpoint со значениями:
    1. Desktop XL, Desktop L, Desktop M, Desktop S, Desktop XS
    2. Tablet
    3. Mobile
  4. Если компонент интерактивный, то должна быть настройка State со значениями или их комбинацией:
    1. Enabled, Focused, Hovered, Pressed, Disabled
    2. Selected, Unselected
    3. Opened, Closed
    4. On, Off
    5. Expanded, Collapsed
  5. Внутри компонента должны быть названы все слои, группы и фреймы (особое внимание текстовым слоям). Только на английском языке. Каждое новое слово с большой буквы, в качестве разделителя пробел. Никаких Frame 3532, Group 3533, Vector 352 и прочее. Чистота и лаконичность.
  6. Компонент должен быть привязан к ДС Гранат. По возможности должны быть использованы только стили из Base и только компоненты из App\Web Components. Никаких раздетаченных элементов, элементов из других\старых китов, кастомных элементов, забытых или не указанных стилей.
  7. В компоненте не должно быть скрытых слоев. Если есть необходимость сделать настройку для отображения\скрытия какого-то элемента внутри, лучше использовать для этого Variants, а не Properties.
  8. Должны быть проставлены Constraints у всех слоев, которые в этом нуждаются, а в Autolayout должны быть корректно выставлены параметры Fill Content, Hug Content и Fixed. Таким образом, компонент должен корректно отрабатывать изменение его ширины и, если это возможно и необходимо, изменение высоты.
  9. Вложенность элементов друг в друга должна быть оправдана. По возможности нужно достичь минимальной вложенности.
  10. Если у компонента есть вложенные кастомные компоненты и они не являются самостоятельными единицами, то они должны быть названы с явной привязкой к родительскому компоненту. Например:
    1. Balance Widget/Balance ****Price Tag
    2. Services Section/Service Card

Хорошие ссылки по теме:

Чек-лист для проверки компонентов в Figma - Дизайн на vc.ru

Explore component properties