Skip to content
Site sections

Machine-readable reference

Validator rule catalog

Find the cause and correction among 107 canonical rules. Filter by ID, principle, severity, and automation level. This full catalog includes manual checks; it is not the list of checks the plugin runs automatically.

Showing 12 of 107
identity.missing-stable-identity

Missing stable identity

Identityerrorautomatic

Important transferable elements, including decorative and asset roots, must have a stable identity: a stable layer name or an identity-bearing fallback tag value.

How to fix

Use an English kebab-case layer name when Figma metadata provides the type. Boolean `[decor]` and `[asset]` are visual-intent/policy flags and are not enough by themselves to identify a poorly named layer.

identity.duplicate-identity

Duplicate identity

Identityerrorautomatic

Two elements inside the same declared audit context—such as one page breakpoint/view or one selected-section variant—must not share one stable design identity.

How to fix

Prefer semantic fixture keys that survive reordering, such as `product-card-sku-blue`; use positional indexes such as `product-card-1` only as a design-fixture fallback. Never treat a positional suffix as a runtime data key.

identity.same-identity-different-type

Same identity different type

Identityerrorautomatic

The same identity must not resolve to different logical element types across comparable declared responsive contexts, including explicitly selected variants of one section.

How to fix

Keep the Figma node/component type stable across the declared contexts or model a separate entity. Do not invent page or breakpoint tags on a selected section.

identity.breakpoint-specific-id

Breakpoint specific id

Identityerrorautomatic

Optional DFC Bridge identity values must describe logical elements, not responsive breakpoints. A value such as `[control=button-reviews-box-375]` inside a `[bp=375]` root is invalid when the suffix matches the current breakpoint.

How to fix

Remove the breakpoint suffix from the optional id. For ordinary buttons/controls, remove the optional id completely and use `Отзывы мобилка [action=modal:marketplaces-modal]`.

identity.repeated-item-no-index

Repeated item no index

Identityerrorheuristic

Authored repeated list or grid occurrences need distinct stable design-instance anchors. `[item=...]` only classifies their shared repeated role or type; it is not an instance identity.

How to fix

Give each occurrence a meaningful stable layer or design-instance key, such as `product-card-oak-chair` and `product-card-wool-lamp`, while both may use `[item=product-card]`. Use numeric fixture suffixes only as a fallback, never as runtime-data identity.

identity.multiple-identity-tags

Multiple identity tags

Identitywarningautomatic

One layer must not declare multiple competing identity tags such as `[section=...]` and `[modal=...]`.

How to fix

Keep the one tag that represents the layer's logical identity. Express behavior and visual intent with non-identity tags such as `[href=...]`, `[action=...]`, `[decor]`, or `[asset]`.

syntax.decor-asset-value-not-kebab-case

Decor asset value not kebab case

Roleserrorautomatic

Boolean `[decor]` and `[asset]` are valid without values. If a fallback value is present in `[decor=...]` or `[asset=...]`, it must be English kebab-case.

How to fix

Prefer a stable layer identity plus boolean flags, for example `sneg [decor] [asset]`. Use value form only for poor/default layer names, for example `Frame 182 [decor=snow-bg]`.

syntax.identity-value-not-kebab-case

Identity value not kebab case

Identitywarningautomatic

Authored identity-like tag values, anchors, and views should use stable English kebab-case so validators and adapters can compare them deterministically.

How to fix

Replace spaces, localized words, uppercase characters, and punctuation with a stable English kebab-case value such as `product-card-1`, `contact-modal`, `faq`, or `not-found`.

identity.decor-asset-flags-not-identities

Decor asset flags not identities

Identityerrorautomatic

`[decor]` and `[asset]` are visual-intent/policy flags and must not be counted as identity tags or as multiple identities when they appear together.

How to fix

Resolve identity from the stable layer name such as `sneg`; keep `[decor]` and `[asset]` as flags. Use `[decor=...]` or `[asset=...]` only as fallback for poor/default layer names.

syntax.duplicate-tag

Duplicate tag

Roleserrorautomatic

A layer must not repeat the same DFC Bridge tag key.

How to fix

Keep one canonical value for the key. If two values describe different concerns, model them with the appropriate distinct tags or split the logical entities.

syntax.figma-metadata-tag-invalid

Figma metadata tag invalid

Roleserrorautomatic

Tags derived from native Figma metadata, including `[text]`, `[image]`, `[icon]`, `[container]`, `[layout]`, `[abs]`, and `[component]`, must not be authored in layer names.

How to fix

Remove the metadata tag and express the property through the native Figma node type, component source, layout mode, positioning, fills, or export settings.

section.role-prefix-in-name

Role prefix in name

Identitywarningheuristic

Section layer names should not repeat the role with prefixes such as `Section /` or `Секция /`.

How to fix

Keep the human label concise. Resolve the section from the `Page Sections` source component when possible, or use `[section=...]` only for frame sections, generic components, or explicit overrides.

Zoom and scroll to read details. Esc closes.