Contract Extractor — Component Set → design contract JSON spec
Yeni: figma_extract_contract (63. tool) + extract-contract skill'i (28. skill)
Bir COMPONENT_SET'i (veya içindeki COMPONENT/INSTANCE'ı, ya da aktif Figma seçimini) tek çağrıda tam bir design contract JSON'una dönüştürür:
- Props —
componentPropertyDefinitionsnormalizasyonu: boolean-like variant →isprefix'li boolean, "State/Durum/Interaction" değerleri →states(pressed→active,focus→focus-visible), TEXT/INSTANCE_SWAP/BOOLEAN binding'leri hash'li property anahtarlarıyla. - Anatomy — default variant ağacı; boundVariables → CSS property eşleme,
{Collection.Path}token referansları, semantic part naming +-2dedupe, slot tespiti. - variantOverrides — her variant değerinin default'a karşı token diff'i; kaldırılan değerler
"(none)". - resolvedTokens — tüm mode'larda alias-chain çözümü (döngü korumalı; koleksiyonlar arası alias'ta mode ADA göre eşlenir).
- baseSpecs — ham ölçüler; hug/fixed eşlemesi layoutMode eksenine göre.
- a11y — stil bazlı WCAG 2.1 kontrast çiftleri (mode bazlı AA/AAA; alpha'lı renkler alpha-blend edilir).
- report — prop/token sayıları, a11y fail'leri, orphan prop uyarıları, önerilen dosya adı.
Salt okunur; REST token gerekmez; plugin güncellemesi gerektirmez (mevcut EXECUTE_CODE altyapısını kullanır — köprüyü yeniden başlatmanız yeterli). Aşama hatalarında kısmi çıktı + report.notes uyarısı üretilir, sessiz veri kaybı yoktur.
Düzeltmeler (release-öncesi multi-agent denetim)
- VERTICAL layout'ta hug/fixed ekseni, boolean-like binding
values'ın gerçek seçenek string'lerinden türetilmesi, alias-guard sızıntısı, overrides/structure script paritesi, a11y stil grubu seçiminde state gruplarının atlanması, lineHeight birimi korunması. - Docs: SKILL_INDEX'e eksik
fmcp-intent-routersatırı, TOOLS_FULL_LIST bayat toplam düzeltmesi.
Doğrulama
132/132 test · tsc --noEmit temiz · validate:fmcp-skills exit 0 · temiz dist'te MCP el sıkışma (63 tool) · canlı Figma'da 72-variant'lık gerçek set üzerinde uçtan uca 3 aşama (17/127/22 ms).
Detay: CHANGELOG