audit-figma-design-system
Skill10 starsChanged 29 days agoMITView on GitHub
Figma ekran veya bileşenini design system entegrasyonu açısından okuma-only denetler; eksik kütüphane instance'ları, yerel override'lar ve bağlanmamış token'ları raporlar. "figma ds audit", "design system audit", "kütüphane kullanımı kontrol", "token bağlı mı", "DS sağlık kontrolü", "ne kadar DS uyumlu", "tasarım durumu raporu", "ekran kalitesi" ifadeleriyle tetiklenir. F-MCP Bridge plugin bağlantısı gerektirir.
In this repository28 other files it gives its agents.
- ai-handoff-exportSkill
- apply-figma-design-systemSkill
- code-design-mapperSkill
- component-documentationSkill
- design-drift-detectorSkill
- design-system-rulesSkill
- design-token-pipelineSkill
- ds-change-trackerSkill
- ds-impact-analysisSkill
- extract-contractSkill
- figjam-diagram-builderSkill
- figma-a11y-auditSkill
- figma-canvas-opsSkill
- figma-prototype-flowSkill
- figma-screen-analyzerSkill
- fix-figma-design-system-findingSkill
- fmcp-ds-audit-orchestratorSkill
- fmcp-intent-routerSkill
- fmcp-project-rulesSkill
- fmcp-screen-orchestratorSkill
- fmcp-screen-recipesSkill
- fmcp-token-sync-orchestratorSkill
- generate-figma-librarySkill
- generate-figma-screenSkill
- implement-designSkill
- inspiration-intakeSkill
- ux-copy-guidanceSkill
- visual-qa-compareSkill
The file
Files
Audit Figma Design System (tuval içi)
Kullanım (v3.1+): SADECE
fmcp-ds-audit-orchestratoralt-skill'i olarak çağrılır. Doğrudan entry point DEĞİL. Kullanıcı "audit et" dediğinde önce orchestrator yüklenir; orchestrator hangi audit tipini seçer (compliance / a11y / drift / visual_qa / impact).
Overview
Bu skill yalnızca okur; Figma node'unun yayınlanmış design system ile ne kadar entegre olduğunu yapısal kanıta dayanarak denetler. Görsel tatmin değil, instance / tekrar / ham değer / token bağlama odaklıdır.
Yazma gerekiyorsa aşağıdaki skill’lerden birine yönlendir.
F-MCP araç eşlemesi (resmi Figma MCP isimleri yerine)
| Niyet | F-MCP Bridge |
| Design context | figma_get_design_context |
| Görsel doğrulama | figma_capture_screenshot |
| Variable / bağlılık | figma_get_variables (verbosity=full), gerekiyorsa figma_get_styles |
| Yapı / iç içe instance haritası | figma_get_file_data (düşük depth), hedef node için figma_get_component veya figma_get_design_context; büyük tahta için figma_get_file_data (timeout riski — dikkat). Not: Bridge’te ayrı bir “yalnızca metadata” MCP aracı yok; yapı bu üç araçla alınır. |
| Kod/dev spec ipucu | figma_get_design_context (includeCodeReady=true); uygunsa figma_get_component_for_development |
| Kütüphanede aday bileşen | figma_search_components, özet için figma_get_design_system_summary |
F-MCP skill koordinasyonu
| Bulgu sonrası | Ne zaman |
| fix-figma-design-system-finding | Tek net bulgu, tek node veya dar küme |
| apply-figma-design-system | Çoklu bulgu, ekran geneli veya bölüm bölüm reconcile |
| design-token-pipeline | Rapor “token export / kod tarafı senkron” gerektiriyorsa |
| design-drift-detector | Aynı ekranın kod ile parity’si de soruluyorsa (Figma audit’ten sonra) |
| code-design-mapper | Eşleştirilecek bileşen aileleri netleştikten sonra mapping güncellemesi |
| figma-screen-analyzer | PO/PM/SEM'e yönelik teknik olmayan ekran analizi ve DS uyum raporu |
| ds-impact-analysis | Bir token/bileşen değişikliğinin etki yarıçapını ölçmek istiyorsan |
| ai-handoff-export / implement-design | Audit “Pass” veya düzeltme sonrası koda geçiş |
Önerilen uçtan uca akış (özet)
- audit-figma-design-system (tuval DS uyumu)
- fix-figma-design-system-finding (tek bulgu) veya apply-figma-design-system (çok bölüm)
- design-token-pipeline (kod token dosyaları)
- İsteğe bağlı code-design-mapper
- ai-handoff-export → implement-design
- design-drift-detector (kod–Figma parity)
- Gerekirse design-system-rules ile repo kurallarını güncelle
FigJam ve bu zincir zorunlu sıralı değildir.
Zincir performansı (tek oturum)
- Aynı zincirde tekrarlı
figma_get_variables(verbosity="full")vefigma_get_design_contextçağrılarını azalt: önceki adımın çıktısı hâlâ geçerliyse yeniden çağırma; mümkünseverbosity="summary"ile başla, orta detay için"standard", tam detay için"full"kullan. figma_search_components: varsayılancurrentPageOnly=true;falseyalnızca gerektiğinde (büyük dosyada timeout riski).
Çıktı Formatı
- Kullanıcı
--jsonveya JSON isterse: şema altındaki JSON’u markdown fence’siz, ek metin yok. - Sohbet ortamı veya
--markdown: insan okunur markdown rapor. - Ortam bazlı otomatik tespit: CI ortamı algılandığında (
CI=true,GITHUB_ACTIONS,GITLAB_CIvb. ortam değişkenleri) varsayılan format JSON olarak ayarlanır. Etkileşimli sohbet ortamında varsayılan markdown’dır. Kullanıcı her iki durumda da--jsonveya--markdownflag’i ile tercihi geçersiz kılabilir. - Belirsizse: markdown varsayılan.
Required Workflow
- Girdi: Figma URL veya
fileKey+nodeId.node-id=72-293→72:293normalize et. - Bağlantı:
figma_get_status(). - Kanıt: Hedef node için
figma_get_design_context;figma_capture_screenshot;figma_get_variables. Büyük/hacimli yapıdafigma_get_file_data(düşükdepth) veya aynı node üzerindenfigma_get_component/figma_get_design_context. Özel primitive içinfigma_search_components.
DERİN ANALİZ KURALI: Sadece frame/node isimlerine bakarak sonuç çıkarma. Her node'un içindeki text content (
characters), instance prop'ları ve child yapılarını detaylı oku. Bir şeyin "eksik" veya "yok" olduğunu iddia etmeden önce tüm child node'ların içeriğini kontrol et.
GÖRSEL DOĞRULAMA KURALI: Analiz sonucunu raporlamadan önce
figma_capture_screenshotile ekran görüntüsü al ve görsel olarak kontrol et. Text content ile screenshot'ın tutarlı olduğunu teyit et. Çelişki varsa screenshot'ı esas al.
- İnceleme: Yerel frame ile yeniden icat edilmiş primitive, tekrarlayan kardeş yapılar, tokenize eşlerin yanında ham hex/spacing/typography, navigasyon gibi yüksek etkili custom yapılar, variant sapması.
- Öneri: Yalnızca
figma_search_componentsile inandırıcı aday bulunduğunda değiştirme öner; zayıf eşleşmede aday yazma. - Çıktı: Seçilen formatta rapor; ardından yukarıdaki koordinasyon tablosuna göre sonraki skill’i öner.
Nielsen 10 Sezgisel Değerlendirme (İsteğe Bağlı)
--heuristic flag'i ile aktif edilir. DS denetiminin yanı sıra Jakob Nielsen'in 10 kullanılabilirlik sezgisel ilkesini DS bağlamında değerlendirir:
| # | İlke | DS Bağlamında Değerlendirme |
| 1 | Sistem durumu görünürlüğü | Loading/progress state bileşenleri mevcut mu? |
| 2 | Sistem-gerçek dünya uyumu | Token isimlendirme kullanıcı diline uygun mu? (ör. danger vs color-red-500) |
| 3 | Kullanıcı kontrolü ve özgürlüğü | Undo/geri alma/iptal bileşenleri var mı? (dismiss, close, cancel) |
| 4 | Tutarlılık ve standartlar | DS bileşenleri platform konvansiyonlarına uyuyor mu? |
| 5 | Hata önleme | Validation, disabled state, form kısıtlama bileşenleri mevcut mu? |
| 6 | Tanıma > hatırlama | Bileşen isimleri açıklayıcı mı? Description'lar yeterli mi? |
| 7 | Kullanım esnekliği | Variant çeşitliliği farklı kullanım senaryolarını kapsıyor mu? |
| 8 | Estetik ve minimalist tasarım | Token sayısı gereksiz yere şişkin mi? Kullanılmayan variant var mı? |
| 9 | Hata tanıma ve kurtarma | Error state, empty state, fallback bileşenleri var mı? |
| 10 | Yardım ve dokümantasyon | Bileşen description'ları, kullanım notları yeterli mi? |
Çıktı: Rapora heuristicEvaluation bölümü eklenir (JSON veya markdown formatına göre). Her ilke için pass / partial / fail + açıklama.
DS Eksiksizlik Çerçevesi
Audit sırasında yalnızca instance/token sayısı değil, DS'nin yapısal eksiksizliği de değerlendirilir.
Token Kategorileri Kontrolü
Sağlıklı bir DS'de aşağıdaki token kategorilerinin tamamı bulunmalıdır:
| Kategori | Alt Kategoriler | Min Beklenen |
| Renkler | Brand (primary, secondary, accent), Semantic (success, warning, error, info), Neutral (gray scale) | 15+ token |
| Tipografi | Scale (6+ kademe), Weights (regular, medium, semi-bold, bold), Line-heights | 10+ token |
| Spacing | Scale (4/8/12/16/24/32/48/64 vb.) | 6+ token |
| Border | Radius kademeleri (sm, md, lg, full), Genişlik (1, 2) | 4+ token |
| Shadow | Elevation seviyeleri (sm, md, lg, xl) | 3+ token |
| Motion | Duration (fast: 150ms, normal: 250ms, slow: 400ms), Easing (ease-in-out, spring) | 4+ token |
Sık eksik: Motion token'ları — çoğu DS'de duration ve easing tanımlı değil. Audit raporunda bu eksiklik ayrıca belirtilmeli.
Bileşen Eksiksizlik Kontrolü
Bir bileşenin "eksiksiz" sayılması için:
| Kriter | Açıklama | Kontrol Yöntemi |
| Variant'lar | Primary, secondary, ghost/outline, destructive vb. | Component set'te variant prop sayısı |
| Durumlar | Default, hover, active, disabled, loading, error, focus | En az 4 durum olmalı |
| Boyutlar | sm, md, lg (en az 2) | Size prop veya ayrı variant |
| Davranış spec'i | Transition, animasyon, etkileşim notları | Description veya code-only props |
| A11y spec'i | Min touch target, fokus göstergesi, label | Description veya annotation |
Mevcut audit'ten farkı: Mevcut audit instance/token sayar; bu çerçeve bileşenin iç kalitesini değerlendirir.
Pattern Katmanı Kontrolü
Bileşen üstü pattern'ların varlığı (yoksa "DS olgunluk eksikliği" olarak raporla):
| Pattern | Bileşenler | Kontrol |
| Forms | Input grubu + validation görseli + submit akışı | Form-like frame'lerde input+button+error text birlikte mi? |
| Navigation | Sidebar, tabs, breadcrumb, bottom nav | Nav pattern'ı yayınlanmış bileşen mi yoksa ad-hoc frame mi? |
| Data Display | Tablo, kart listesi, liste | Tekrarlayan veri gösteriminde DS bileşeni mi kullanılıyor? |
| Feedback | Toast, modal, inline mesaj, snackbar | Geri bildirim mekanizmaları DS'de tanımlı mı? |
DS Prensipleri
Audit raporunun sonuna bu prensipler bağlam olarak eklenir:
- Tutarlılık > Yaratıcılık — DS, ekiplerin tekerleği yeniden icat etmemesi için var
- Kısıtlamalar içinde esneklik — Bileşenler composable olmalı, rigid değil
- Belgelenmemiş = yok — Dökümante edilmeyen bileşen/token kullanılmayacaktır → bkz. component-documentation
- Versiyonla ve migrate et — Breaking change'lerde migration path sun → bkz. ds-impact-analysis
Audit JSON Şemasına Ek Alan
--json çıktısına dsCompleteness objesi eklenir:
{
"findings": [...],
"dsCompleteness": {
"tokenCategories": {
"colors": { "count": 24, "status": "complete" },
"typography": { "count": 12, "status": "complete" },
"spacing": { "count": 8, "status": "complete" },
"border": { "count": 5, "status": "complete" },
"shadow": { "count": 4, "status": "complete" },
"motion": { "count": 0, "status": "missing" }
},
"componentStates": {
"averageStatesPerComponent": 3.2,
"componentsWithAllStates": 5,
"componentsWithMissingStates": 8,
"missingStateDetails": [
{ "component": "Button", "missing": ["loading", "focus"] },
{ "component": "Input", "missing": ["error", "loading"] }
]
},
"patternCoverage": {
"forms": true,
"navigation": true,
"dataDisplay": false,
"feedback": false
}
}
}Ne işaretlenir / ne işaretlenmez
İşaretle: Ad-hoc frame ile yapılmış button/card/alert/chip vb.; tekrarlayan kardeş modüller; somut ham değer + tokenize komşular; global pattern’lerin custom olması; nominal component içi variant sapması.
İşaretleme: Saf estetik; copy; makul ölçüde ekrana özgü layout; zaten instance + token ile doğru olan tek seferlik kompozisyonlar; belgesiz varsayımlar.
Kanıt standardı
Her bulgu için: (1) Figma yapısında somut ne gösteriyor? (2) Bakım, tutarlılık, tema veya ölçeklenebilirlik için neden önemli?
JSON çıktı şeması ( --json )
Tek JSON obje; markdown veya ek prose yok:
{
"findings": [
{
"title": "<= 80 karakter, emir kipi>",
"body": "Markdown açıklama",
"confidence_score": 0.0,
"priority": 0,
"code_location": {
"absolute_file_path": "/figma/<fileKey>/nodes/<nodeId>",
"line_range": { "start": 1, "end": 1 }
}
}
],
"overall_correctness": "ds compliant" | "ds non-compliant",
"overall_explanation": "1-3 cümle özet",
"overall_confidence_score": 0.0
}- En az bir bulgu varsa
overall_correctness:"ds non-compliant". - Bulgu yoksa
"ds compliant". code_location.absolute_file_path: en spesifik sorunlu node için/figma/<fileKey>/nodes/<nodeId>.line_rangeher zaman1.
Öncelik ve güven skorları
- priority: 0 nit, 1 orta drift, 2 önemli primitive/token, 3 kütüphane/nav seviyesi kritik.
- confidence_score: 0.9–1.0 doğrudan yapısal kanıt; 0.7–0.89 güçlü çıkarım; 0.5–0.69 zayıf — tercihen bulgu yazma.
Erişilebilirlik (a11y) Kontrol Noktaları
Audit sırasında aşağıdaki temel a11y kontrolleri de yapılır. Ayrıntılı a11y denetimi için figma-a11y-audit skill'ine yönlendir.
- Renk kontrastı: Metin/arka plan renk çiftlerinde WCAG AA minimum kontrastı (4.5:1 normal metin, 3:1 büyük metin) sağlanıyor mu?
- Minimum boyut: Etkileşimli öğeler (button, input, link) iOS için 44x44pt, Android için 48x48dp minimumunu karşılıyor mu?
- Metin boyutu: Body metin en az 14px (mobil) / 16px (masaüstü) mü?
Bu kontroller audit raporunda [a11y] etiketiyle ayrı bölümde gösterilir. Detaylı denetim (fokus sırası, VoiceOver/TalkBack, ARIA) için:
→ figma-a11y-audit skill'ini kullan.
PO/PM Executive Rapor Modu
--executive flag veya PO/PM persona algılandığında teknik detay yerine yönetici özeti çıkar:
Executive summary formatı:
## DS Uyum Raporu — [Ekran Adı]
- **DS Uyum Oranı:** %85 (17/20 öğe DS ile uyumlu)
- **Risk Seviyesi:** Orta
- **Kritik Bulgular:** 2 adet
- **Önerilen Aksiyon Süresi:** ~2 saat
### Bulgular (öncelik sırasıyla)
1. [Yüksek] Navigation bar custom yapılmış — DS NavBar bileşeni mevcut
2. [Orta] 3 renk token'a bağlı değil — tema değişikliğinde kopacak
### Sonraki Adım
→ apply-figma-design-system ile otomatik düzeltme önerilirTetik örnekleri
- "Bu ekranı design system entegrasyonu için denetle"
- "Bu board'da eksik component kullanımı var mı?"
- "Token'lar doğru bağlı mı — audit --json ile ver"
- "Tasarım durumu raporu ver" (PO/PM)
- "Ne kadar DS uyumlu bu ekran?" (PO/PM)
Evolution Triggers
- Bridge'e yeni DS analiz aracı eklendiğinde kanıt toplama adımları güncellenmeli
- Yeni a11y standartları (WCAG 3.0) yayınlandığında kontrol noktaları güncellenmeli
- PO/PM geri bildirimine göre executive summary formatı genişletilmeli
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

