@atezer/figma-mcp-bridge 1.7.23 → 1.7.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/.claude-plugin/plugin.json +37 -0
  2. package/.cursor-plugin/plugin.json +21 -0
  3. package/CHANGELOG.md +30 -0
  4. package/README.md +4 -3
  5. package/agents/ds-auditor.md +29 -0
  6. package/agents/screen-builder.md +29 -0
  7. package/agents/token-syncer.md +26 -0
  8. package/assets/logo.png +0 -0
  9. package/commands/add-library.md +122 -0
  10. package/commands/ds-add.md +255 -0
  11. package/commands/ds-sync.md +314 -0
  12. package/commands/implement.md +43 -0
  13. package/commands/install-library.md +73 -0
  14. package/commands/setup.md +26 -0
  15. package/commands/test.md +39 -0
  16. package/commands/update.md +25 -0
  17. package/dist/core/config.d.ts +1 -5
  18. package/dist/core/config.d.ts.map +1 -1
  19. package/dist/core/config.js +11 -111
  20. package/dist/core/config.js.map +1 -1
  21. package/dist/core/plugin-bridge-server.d.ts.map +1 -1
  22. package/dist/core/plugin-bridge-server.js +1 -2
  23. package/dist/core/plugin-bridge-server.js.map +1 -1
  24. package/dist/core/response-guard.d.ts +1 -1
  25. package/dist/core/response-guard.js +1 -1
  26. package/dist/core/types/index.d.ts +2 -98
  27. package/dist/core/types/index.d.ts.map +1 -1
  28. package/dist/core/version.d.ts +1 -1
  29. package/dist/core/version.js +1 -1
  30. package/dist/local-plugin-only.d.ts.map +1 -1
  31. package/dist/local-plugin-only.js +14 -13
  32. package/dist/local-plugin-only.js.map +1 -1
  33. package/f-mcp-plugin/README.md +8 -15
  34. package/f-mcp-plugin/manifest.json +1 -3
  35. package/hooks/hooks.json +26 -0
  36. package/package.json +15 -31
  37. package/skills/BRAND_PROFILE_SCHEMA.md +113 -0
  38. package/skills/SKILL_INDEX.md +194 -0
  39. package/skills/TOOL_MAPPING.md +111 -0
  40. package/skills/ai-handoff-export/SKILL.md +254 -0
  41. package/skills/apply-figma-design-system/SKILL.md +104 -0
  42. package/skills/audit-figma-design-system/SKILL.md +278 -0
  43. package/skills/code-design-mapper/SKILL.md +370 -0
  44. package/skills/component-documentation/SKILL.md +190 -0
  45. package/skills/design-drift-detector/SKILL.md +407 -0
  46. package/skills/design-system-rules/SKILL.md +407 -0
  47. package/skills/design-token-pipeline/SKILL.md +619 -0
  48. package/skills/ds-impact-analysis/SKILL.md +266 -0
  49. package/skills/figjam-diagram-builder/SKILL.md +172 -0
  50. package/skills/figma-a11y-audit/SKILL.md +587 -0
  51. package/skills/figma-canvas-ops/SKILL.md +325 -0
  52. package/skills/figma-screen-analyzer/SKILL.md +235 -0
  53. package/skills/fix-figma-design-system-finding/SKILL.md +117 -0
  54. package/skills/fmcp-project-rules/SKILL.md +93 -0
  55. package/skills/generate-figma-library/SKILL.md +598 -0
  56. package/skills/generate-figma-screen/SKILL.md +689 -0
  57. package/skills/implement-design/SKILL.md +473 -0
  58. package/skills/ux-copy-guidance/SKILL.md +373 -0
  59. package/skills/visual-qa-compare/SKILL.md +166 -0
  60. package/dist/browser/base.d.ts +0 -50
  61. package/dist/browser/base.d.ts.map +0 -1
  62. package/dist/browser/base.js +0 -6
  63. package/dist/browser/base.js.map +0 -1
  64. package/dist/browser/local.d.ts +0 -81
  65. package/dist/browser/local.d.ts.map +0 -1
  66. package/dist/browser/local.js +0 -283
  67. package/dist/browser/local.js.map +0 -1
  68. package/dist/core/console-monitor.d.ts +0 -82
  69. package/dist/core/console-monitor.d.ts.map +0 -1
  70. package/dist/core/console-monitor.js +0 -428
  71. package/dist/core/console-monitor.js.map +0 -1
  72. package/dist/core/design-system-manifest.d.ts +0 -272
  73. package/dist/core/design-system-manifest.d.ts.map +0 -1
  74. package/dist/core/design-system-manifest.js +0 -261
  75. package/dist/core/design-system-manifest.js.map +0 -1
  76. package/dist/core/enrichment/enrichment-service.d.ts +0 -52
  77. package/dist/core/enrichment/enrichment-service.d.ts.map +0 -1
  78. package/dist/core/enrichment/enrichment-service.js +0 -272
  79. package/dist/core/enrichment/enrichment-service.js.map +0 -1
  80. package/dist/core/enrichment/index.d.ts +0 -8
  81. package/dist/core/enrichment/index.d.ts.map +0 -1
  82. package/dist/core/enrichment/index.js +0 -8
  83. package/dist/core/enrichment/index.js.map +0 -1
  84. package/dist/core/enrichment/relationship-mapper.d.ts +0 -106
  85. package/dist/core/enrichment/relationship-mapper.d.ts.map +0 -1
  86. package/dist/core/enrichment/relationship-mapper.js +0 -352
  87. package/dist/core/enrichment/relationship-mapper.js.map +0 -1
  88. package/dist/core/enrichment/style-resolver.d.ts +0 -80
  89. package/dist/core/enrichment/style-resolver.d.ts.map +0 -1
  90. package/dist/core/enrichment/style-resolver.js +0 -327
  91. package/dist/core/enrichment/style-resolver.js.map +0 -1
  92. package/dist/core/figma-api.d.ts +0 -137
  93. package/dist/core/figma-api.d.ts.map +0 -1
  94. package/dist/core/figma-api.js +0 -274
  95. package/dist/core/figma-api.js.map +0 -1
  96. package/dist/core/figma-desktop-connector.d.ts +0 -242
  97. package/dist/core/figma-desktop-connector.d.ts.map +0 -1
  98. package/dist/core/figma-desktop-connector.js +0 -1042
  99. package/dist/core/figma-desktop-connector.js.map +0 -1
  100. package/dist/core/figma-reconstruction-spec.d.ts +0 -162
  101. package/dist/core/figma-reconstruction-spec.d.ts.map +0 -1
  102. package/dist/core/figma-reconstruction-spec.js +0 -387
  103. package/dist/core/figma-reconstruction-spec.js.map +0 -1
  104. package/dist/core/figma-tools.d.ts +0 -21
  105. package/dist/core/figma-tools.d.ts.map +0 -1
  106. package/dist/core/figma-tools.js +0 -2920
  107. package/dist/core/figma-tools.js.map +0 -1
  108. package/dist/core/snippet-injector.d.ts +0 -24
  109. package/dist/core/snippet-injector.d.ts.map +0 -1
  110. package/dist/core/snippet-injector.js +0 -97
  111. package/dist/core/snippet-injector.js.map +0 -1
  112. package/dist/core/types/enriched.d.ts +0 -213
  113. package/dist/core/types/enriched.d.ts.map +0 -1
  114. package/dist/core/types/enriched.js +0 -6
  115. package/dist/core/types/enriched.js.map +0 -1
  116. package/dist/local.d.ts +0 -73
  117. package/dist/local.d.ts.map +0 -1
  118. package/dist/local.js +0 -2605
  119. package/dist/local.js.map +0 -1
@@ -0,0 +1,194 @@
1
+ # F-MCP Skill Dizini
2
+
3
+ ## Workspace kökü (önemli)
4
+
5
+ Cursor, Claude Code veya VS Code'da **klasör / workspace kökü olarak bu repoyu** (`FCM`, yani `package.json` bu kökte görünecek şekilde) açın. Skill'ler `skills/<skill>/SKILL.md` dizinindedir. Eski `.cursor/skills/f-mcp/` yolu da symlink ile desteklenir.
6
+
7
+ ## Personalar
8
+
9
+ | Kısaltma | Persona | Açıklama |
10
+ |---|---|---|
11
+ | `designer` | **Tasarımcı** | Bileşen tasarımı, DS kullanarak ekran çizimi, custom UI |
12
+ | `designops` | **DesignOps** | DS yönetimi, etki analizi, token yönetimi, kalite kontrolü |
13
+ | `uidev` | **UI Geliştirici** | iOS/Android/Web arayüz geliştirme, Figma'dan kod üretme |
14
+ | `po` | **PO/PM/SEM** | UI analiz, tasarım durumu raporlama, karar alma |
15
+
16
+ ## Kişiselleştirme — Marka Profili
17
+
18
+ Tüm skill'ler `.fmcp-brand-profile.json` dosyasını okuyarak marka ses/ton, tipografi, estetik yön ve copy kurallarını otomatik uygular. Detay: [BRAND_PROFILE_SCHEMA.md](BRAND_PROFILE_SCHEMA.md)
19
+
20
+ **Oluşturma:** `ux-copy-guidance` skill'i profil yoksa otomatik 3-soru akışı başlatır. Manuel olarak da proje köküne `.fmcp-brand-profile.json` dosyası eklenebilir.
21
+
22
+ ## Skill Listesi (20 skill)
23
+
24
+ ### Temel Kurallar
25
+
26
+ | Skill | Dosya | Personalar | Kısa açıklama |
27
+ |---|---|---|---|
28
+ | `fmcp-project-rules` | [fmcp-project-rules/SKILL.md](fmcp-project-rules/SKILL.md) | designer, designops, uidev, po | Design Token Kuralı, Bağlı Token Kuralı, kütüphane yönetimi, otomatik yanıt kuralları — tüm skill'ler için geçerli |
29
+
30
+ ### Dokümantasyon ve İçerik
31
+
32
+ | Skill | Dosya | Personalar | Kısa açıklama |
33
+ |---|---|---|---|
34
+ | `component-documentation` | [component-documentation/SKILL.md](component-documentation/SKILL.md) | designer, designops, uidev | Bileşen kullanım kılavuzu oluşturma (Standard/Compact format, durumlar, copy spec, endüstri standartları referansı) |
35
+ | `ux-copy-guidance` | [ux-copy-guidance/SKILL.md](ux-copy-guidance/SKILL.md) | designer, uidev, po | UX yazarlık rehberi — CTA, hata mesajı, boş durum, onay diyaloğu kalıpları + marka ses/ton kişiselleştirmesi |
36
+
37
+ ### Tuval Yazma ve Oluşturma
38
+
39
+ | Skill | Dosya | Personalar | Kısa açıklama |
40
+ |---|---|---|---|
41
+ | `figma-canvas-ops` | [figma-canvas-ops/SKILL.md](figma-canvas-ops/SKILL.md) | designer, designops | `figma_execute` güvenli kullanım kılavuzu (zorunlu önkoşul) |
42
+ | `generate-figma-screen` | [generate-figma-screen/SKILL.md](generate-figma-screen/SKILL.md) | designer, uidev | Kod/açıklamadan Figma'da ekran oluşturma |
43
+ | `generate-figma-library` | [generate-figma-library/SKILL.md](generate-figma-library/SKILL.md) | designops, designer | Koddan DS kütüphanesi inşa (5 fazlı) |
44
+ | `figjam-diagram-builder` | [figjam-diagram-builder/SKILL.md](figjam-diagram-builder/SKILL.md) | designer, designops, po | FigJam diyagram/süreç şeması |
45
+
46
+ ### DS Denetim ve Düzeltme
47
+
48
+ | Skill | Dosya | Personalar | Kısa açıklama |
49
+ |---|---|---|---|
50
+ | `audit-figma-design-system` | [audit-figma-design-system/SKILL.md](audit-figma-design-system/SKILL.md) | designer, designops, po | Tuval içi DS denetimi (salt okunur) |
51
+ | `fix-figma-design-system-finding` | [fix-figma-design-system-finding/SKILL.md](fix-figma-design-system-finding/SKILL.md) | designer, designops | Tek audit bulgusunu dar kapsamda düzelt |
52
+ | `apply-figma-design-system` | [apply-figma-design-system/SKILL.md](apply-figma-design-system/SKILL.md) | designer, designops | Ekran geneli DS reconcile |
53
+
54
+ ### Token ve Kod Senkronu
55
+
56
+ | Skill | Dosya | Personalar | Kısa açıklama |
57
+ |---|---|---|---|
58
+ | `design-token-pipeline` | [design-token-pipeline/SKILL.md](design-token-pipeline/SKILL.md) | uidev, designops | Figma ↔ kod token dönüşümü (çift yönlü) |
59
+ | `code-design-mapper` | [code-design-mapper/SKILL.md](code-design-mapper/SKILL.md) | uidev, designops | Figma bileşen ↔ çoklu platform kod eşlemesi |
60
+ | `design-system-rules` | [design-system-rules/SKILL.md](design-system-rules/SKILL.md) | designops, uidev | Platforma özel DS kuralları üretimi |
61
+
62
+ ### Implementasyon ve Teslim
63
+
64
+ | Skill | Dosya | Personalar | Kısa açıklama |
65
+ |---|---|---|---|
66
+ | `ai-handoff-export` | [ai-handoff-export/SKILL.md](ai-handoff-export/SKILL.md) | uidev, po | HANDOFF şablonu + manifest + executive summary |
67
+ | `implement-design` | [implement-design/SKILL.md](implement-design/SKILL.md) | uidev | Figma → iOS/Android/Web production kod |
68
+
69
+ ### Doğrulama ve Analiz
70
+
71
+ | Skill | Dosya | Personalar | Kısa açıklama |
72
+ |---|---|---|---|
73
+ | `design-drift-detector` | [design-drift-detector/SKILL.md](design-drift-detector/SKILL.md) | uidev, designops, po | Kod ↔ Figma token/değer drift tespiti |
74
+ | `visual-qa-compare` | [visual-qa-compare/SKILL.md](visual-qa-compare/SKILL.md) | uidev, designops | Figma vs kod görsel/pixel karşılaştırma |
75
+ | `figma-a11y-audit` | [figma-a11y-audit/SKILL.md](figma-a11y-audit/SKILL.md) | designops, uidev, designer | Erişilebilirlik denetimi (WCAG, VoiceOver, TalkBack, ARIA) |
76
+ | `figma-screen-analyzer` | [figma-screen-analyzer/SKILL.md](figma-screen-analyzer/SKILL.md) | po, designer | PO/PM/SEM için UI analiz raporu |
77
+ | `ds-impact-analysis` | [ds-impact-analysis/SKILL.md](ds-impact-analysis/SKILL.md) | designops, po | DS değişiklik etki analizi ve risk skoru |
78
+
79
+ ## Persona Bazlı Önerilen Akışlar
80
+
81
+ ### Tasarımcı (designer)
82
+
83
+ ```
84
+ 1. figma-canvas-ops (önkoşul)
85
+ 2. generate-figma-library (DS kütüphanesi yoksa)
86
+ VEYA generate-figma-screen (ekran oluşturma — tasarım yönü belirleme adımı dahil)
87
+ 3. ux-copy-guidance (ekran text node'ları için copy kalitesi)
88
+ 4. component-documentation (bileşen kullanım kılavuzu — durumlar ve copy spec dahil)
89
+ 5. audit-figma-design-system (kalite kontrol — DS eksiksizlik çerçevesi dahil)
90
+ 6. fix / apply (düzeltme gerekiyorsa)
91
+ 7. figma-a11y-audit (erişilebilirlik kontrol — WCAG çerçevesi dahil)
92
+ ```
93
+
94
+ ### DesignOps
95
+
96
+ ```
97
+ 1. audit-figma-design-system (DS sağlık kontrolü — DS eksiksizlik çerçevesi: token kategorileri, bileşen durumları, pattern kapsamı)
98
+ 2. ds-impact-analysis (değişiklik öncesi etki analizi)
99
+ 3. apply-figma-design-system (DS hizalama)
100
+ 4. design-token-pipeline (token senkronu — motion token'lar dahil)
101
+ 5. design-system-rules (kural üretimi — DS prensipleri ve pattern katmanı dahil)
102
+ 6. figma-a11y-audit (erişilebilirlik denetimi — WCAG 2.1/2.2 AA hızlı referans dahil)
103
+ 7. generate-figma-library (DS kütüphanesi inşa/güncelleme — motion/shadow token, durum kapsamı dahil)
104
+ 8. ux-copy-guidance *(isteğe bağlı)* (marka sesiyle uyumlu copy kuralları — token isimlendirme, bileşen açıklamaları)
105
+ ```
106
+
107
+ ### UI Geliştirici (uidev)
108
+
109
+ ```
110
+ 1. ai-handoff-export (handoff paketi — etkileşim spec, içerik spec, uç durumlar, a11y spec dahil)
111
+ 2. implement-design (Figma → kod — durum/etkileşim kapsamı kontrolü dahil)
112
+ 3. design-token-pipeline (token dosyaları üret)
113
+ 4. code-design-mapper (bileşen eşleme)
114
+ 5. visual-qa-compare (görsel doğrulama)
115
+ 6. design-drift-detector (token parity — motion token drift dahil)
116
+ 7. figma-a11y-audit (a11y attribute'ları)
117
+ 8. ux-copy-guidance (hata mesajı, boş durum, CTA copy kalıpları)
118
+ ```
119
+
120
+ ### PO/PM/SEM (po)
121
+
122
+ ```
123
+ 1. figma-screen-analyzer (ekran analizi — ilk izlenim testi + kritik çerçevesi dahil)
124
+ 2. audit-figma-design-system --executive (DS uyum raporu)
125
+ 3. ds-impact-analysis (değişiklik etki ve risk skoru)
126
+ 4. design-drift-detector (kod-tasarım parity durumu)
127
+ 5. ux-copy-guidance (marka sesi ve copy tutarlılık kontrolü)
128
+ 6. ai-handoff-export (implementasyon durumu)
129
+ 7. figjam-diagram-builder (süreç haritası)
130
+ ```
131
+
132
+ ## Uçtan Uca Akış (Özet)
133
+
134
+ Ayrıntı: [audit-figma-design-system/SKILL.md](audit-figma-design-system/SKILL.md) içinde **"Önerilen uçtan uca akış"** ve **"Zincir performansı"**.
135
+
136
+ 1. **Kişiselleştirme:** `.fmcp-brand-profile.json` oluştur veya kontrol et ([BRAND_PROFILE_SCHEMA.md](BRAND_PROFILE_SCHEMA.md))
137
+ 2. **Tuval hazırlık:** `figma-canvas-ops` (zorunlu önkoşul)
138
+ 3. **Oluşturma:** `generate-figma-library` (motion/shadow token dahil) → `generate-figma-screen` (tasarım yönü belirleme dahil)
139
+ 4. **İçerik:** `ux-copy-guidance` (marka sesiyle uyumlu copy)
140
+ 5. **Dokümantasyon:** `component-documentation` (bileşen kılavuzu — durumlar, copy spec dahil)
141
+ 6. **Denetim:** `audit-figma-design-system` (DS eksiksizlik çerçevesi dahil) → `fix-figma-design-system-finding` *veya* `apply-figma-design-system`
142
+ 7. **Token:** `design-token-pipeline` → isteğe bağlı `code-design-mapper`
143
+ 8. **Teslim:** `ai-handoff-export` (etkileşim/içerik/uç durum/a11y spec dahil) → `implement-design` (durum kapsamı kontrolü dahil)
144
+ 9. **Doğrulama:** `visual-qa-compare` + `design-drift-detector` (motion token drift dahil) → gerekirse `design-system-rules` (DS prensipleri dahil)
145
+ 10. **Kalite:** `figma-a11y-audit` (WCAG çerçevesi dahil) + `figma-screen-analyzer` (ilk izlenim + kritik çerçevesi dahil)
146
+ 11. **Etki:** `ds-impact-analysis` (değişiklik öncesi)
147
+
148
+ **FigJam** (`figjam-diagram-builder`) bu zincirle zorunlu sırada değildir.
149
+
150
+ ## Referans Dosyalar
151
+
152
+ | Dosya | Açıklama |
153
+ |---|---|
154
+ | [TOOL_MAPPING.md](TOOL_MAPPING.md) | Resmi Figma MCP ↔ F-MCP Bridge araç eşleme tablosu |
155
+ | [BRAND_PROFILE_SCHEMA.md](BRAND_PROFILE_SCHEMA.md) | Marka profili (`.fmcp-brand-profile.json`) şema tanımı ve skill entegrasyon tablosu |
156
+ | `reference_industry_design_standards.md` | Endüstri standartları hafıza dosyası (M3, HIG, WCAG, shadcn/ui, Tailwind) — Claude memory'de |
157
+
158
+ ## MCP
159
+
160
+ Tüm bu skill'ler `metadata.mcp-server: user-figma-mcp-bridge` öngörür; bağlantı ve kurulum için repo kökünde `KURULUM.md` ve `docs/` dosyalarına bakın.
161
+
162
+ ### Araç adı doğrulaması (CI / lokal)
163
+
164
+ Skill dosyalarında geçen `figma_*` adları, kaynakta `registerTool` ile tanımlı araçlarla otomatik karşılaştırılır:
165
+
166
+ ```bash
167
+ npm run validate:fmcp-skills
168
+ ```
169
+
170
+ Kaynak birleşimi: `src/local.ts`, `src/local-plugin-only.ts`, `src/core/figma-tools.ts`. Script: [`scripts/validate-fmcp-skills-tools.mjs`](../../../scripts/validate-fmcp-skills-tools.mjs) (repo köküne göre). **GitHub:** `master` / `main` push ve PR'larda [`.github/workflows/ci.yml`](../../../.github/workflows/ci.yml) bu komutu çalıştırır.
171
+
172
+ ## Persona metadata
173
+
174
+ Her skill'in YAML frontmatter'ında `personas` alanı bulunur:
175
+
176
+ ```yaml
177
+ metadata:
178
+ mcp-server: user-figma-mcp-bridge
179
+ personas:
180
+ - designer
181
+ - designops
182
+ - uidev
183
+ - po
184
+ ```
185
+
186
+ Bu alan, AI agent'ın kullanıcı persona'sına göre doğru skill'i önermesini sağlar.
187
+
188
+ ## Evolution Triggers (genel)
189
+
190
+ Her skill dosyasında `## Evolution Triggers` bölümü bulunur. Bu bölüm:
191
+
192
+ - Bridge'e yeni araç eklendiğinde hangi adımların güncellenmesi gerektiğini belirtir
193
+ - Persona geri bildirimine göre hangi çıktı formatlarının eklenmesi gerektiğini işaret eder
194
+ - `validate:fmcp-skills` betiğinin yeni araç adlarını doğrulayacağını hatırlatır
@@ -0,0 +1,111 @@
1
+ # F-MCP Bridge ↔ Resmi Figma MCP Araç Eşleme Tablosu
2
+
3
+ > Yeni skill yazarken veya topluluk skill'lerini uyarlarken bu tabloyu referans alın.
4
+ > Kaynak doğrulama: `npm run validate:fmcp-skills`
5
+
6
+ ## Tuval Yazma ve Çalıştırma
7
+
8
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
9
+ |---|---|---|
10
+ | `use_figma` | `figma_execute` | Aynı amaç: JS çalıştırma. F-MCP'de `code` parametresi ile Plugin API kodu gönderilir. |
11
+ | — | `figma_instantiate_component` | Resmi MCP'de yok; F-MCP'ye özel bileşen instance oluşturma aracı. |
12
+ | — | `figma_set_instance_properties` | Resmi MCP'de yok; F-MCP'ye özel instance property ayarlama. |
13
+ | — | `figma_arrange_component_set` | F-MCP'ye özel; variant grid düzenleme. |
14
+
15
+ ## Dosya ve Yapı Okuma
16
+
17
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
18
+ |---|---|---|
19
+ | `get_metadata` | `figma_get_file_data` | Yapı ve metadata. F-MCP'de `depth` parametresi ile derinlik sınırlanır. |
20
+ | `get_design_context` | `figma_get_design_context` | Aynı ad, benzer çıktı. F-MCP'de `includeCodeReady` parametresi mevcut. |
21
+
22
+ ## Görsel Doğrulama
23
+
24
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
25
+ |---|---|---|
26
+ | `get_screenshot` | `figma_capture_screenshot` | Node bazlı ekran görüntüsü. |
27
+
28
+ ## Tasarım Sistemi Keşfi
29
+
30
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
31
+ |---|---|---|
32
+ | `search_design_system` | `figma_search_components` + `figma_get_design_system_summary` | İki araç birlikte aynı kapsamı karşılar. `figma_search_components` bileşen arar; `figma_get_design_system_summary` genel DS özeti döner. |
33
+
34
+ ## Değişkenler ve Token'lar
35
+
36
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
37
+ |---|---|---|
38
+ | (use_figma ile) | `figma_get_variables` | Verbosity: `summary` / `full`. |
39
+ | — | `figma_refresh_variables` | Önbellek temizleme. |
40
+ | — | `figma_get_token_browser` | Token tarayıcı; kategoriye göre filtreleme. |
41
+ | — | `figma_create_variable` | Tekil variable oluşturma. |
42
+ | — | `figma_create_variable_collection` | Collection oluşturma. |
43
+ | — | `figma_batch_create_variables` | Toplu variable oluşturma. |
44
+ | — | `figma_batch_update_variables` | Toplu variable güncelleme. |
45
+ | — | `figma_update_variable` | Tekil güncelleme. |
46
+ | — | `figma_delete_variable` / `figma_delete_variable_collection` | Silme. |
47
+ | — | `figma_rename_variable` / `figma_rename_mode` / `figma_add_mode` | İsimlendirme ve mod yönetimi. |
48
+ | — | `figma_setup_design_tokens` | Toplu token kurulum aracı. |
49
+
50
+ ## Stiller
51
+
52
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
53
+ |---|---|---|
54
+ | (use_figma ile) | `figma_get_styles` | Paint, text, effect stilleri. |
55
+
56
+ ## Bileşenler
57
+
58
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
59
+ |---|---|---|
60
+ | — | `figma_get_component` | Tekil bileşen detayı. |
61
+ | — | `figma_get_component_image` | Bileşen SVG/PNG export. |
62
+ | — | `figma_get_component_for_development` | Geliştirici odaklı bileşen bilgisi. |
63
+
64
+ ## Code Connect
65
+
66
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
67
+ |---|---|---|
68
+ | `get_code_connect_suggestions` | **yok** | Bridge'de kayıtlı değil. FUTURE.md'de planlı. |
69
+ | `send_code_connect_mappings` | **yok** | Bridge'de kayıtlı değil. |
70
+
71
+ ## Dosya Yönetimi
72
+
73
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
74
+ |---|---|---|
75
+ | `create_new_file` | **yok** | Bridge'de kayıtlı değil. |
76
+ | `whoami` | **yok** | Bridge'de kayıtlı değil. |
77
+ | `generate_figma_design` | **yok** | Web-only paralel piksel referansı; bridge'de yok. |
78
+ | `create_design_system_rules` | **yok** | F-MCP'de `design-system-rules` skill'i AI tabanlı üretim yapar. |
79
+
80
+ ## Bağlantı ve Durum
81
+
82
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
83
+ |---|---|---|
84
+ | — | `figma_get_status` | Plugin bağlantı durumu. |
85
+ | — | `figma_list_connected_files` | Bağlı dosya listesi. |
86
+ | — | `figma_clear_console` | Konsol temizleme. |
87
+
88
+ ## Doğrudan Node Düzenleme
89
+
90
+ > Node düzenleme işlemleri `figma_execute` ile Plugin API kodu çalıştırılarak yapılır.
91
+ > Ayrıca `figma_create_frame`, `figma_create_rectangle`, `figma_create_text`, `figma_create_group` özel araçları mevcuttur.
92
+
93
+ ## Tasarım–Kod Parity
94
+
95
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
96
+ |---|---|---|
97
+ | — | `figma_check_design_parity` | Tasarım–kod uyum kontrolü (plugin-only). |
98
+
99
+ ## REST API ve Tanılama
100
+
101
+ | Resmi Figma MCP | F-MCP Bridge | Fark / Not |
102
+ |---|---|---|
103
+ | — | `figma_rest_api` | Doğrudan Figma REST API çağrısı (token gerekir). |
104
+ | — | `figma_set_rest_token` / `figma_get_rest_token_status` / `figma_clear_rest_token` | REST token yönetimi. |
105
+ | — | `figma_set_port` | Bridge port değiştirme (5454-5470). |
106
+ | — | `figma_plugin_diagnostics` | Plugin bağlantı tanılama. |
107
+ | — | `figma_search_assets` | Kütüphane bileşen arama. |
108
+ | — | `figma_export_nodes` | Node export (SVG/PNG/JPG/PDF). |
109
+ | — | `figma_set_description` | Node açıklama ayarlama. |
110
+ | — | `figma_watch_console` | Konsol izleme. |
111
+ | — | `figma_get_console_logs` | Konsol çıktıları. |
@@ -0,0 +1,254 @@
1
+ ---
2
+ name: ai-handoff-export
3
+ description: Figma tasarım verisini AI'nın kod üretimi için kullanabileceği tek bir handoff paketine dönüştürür (HANDOFF şablonu + JSON manifest). Node kimlikleri, design context özeti, token özeti, ekran görüntüsü referansları ve opsiyonel Code Connect haritası üretir. PO/PM için executive summary da içerir. "AI handoff", "handoff dosyası", "handoff export", "teslimat paketi", "figma handoff", "koda teslim özeti", "design handoff oluştur", "handoff al", "implementasyon paketi" ifadeleriyle tetiklenir. F-MCP Bridge plugin bağlantısı gerektirir.
4
+ metadata:
5
+ mcp-server: user-figma-mcp-bridge
6
+ personas:
7
+ - uidev
8
+ - po
9
+ ---
10
+
11
+ # AI Handoff Export
12
+
13
+ ## Overview
14
+
15
+ Bu skill, dağınık Figma çıktılarını tek bir teslimat formatında toplar:
16
+
17
+ - `HANDOFF_TEMPLATE.md` (insan okunur)
18
+ - `handoff.manifest.json` (makine okunur, schema tabanlı)
19
+
20
+ **Önemli:** Tüm veriler plugin bridge üzerinden alınır. Şablon: repo kökünde `HANDOFF_TEMPLATE.md`; şema: `docs/handoff.manifest.schema.json`.
21
+
22
+ ## F-MCP skill koordinasyonu
23
+
24
+ - **Önce:** Tuval DS uyumu için isteğe bağlı **audit-figma-design-system** / **apply-figma-design-system**; token isimleri için **design-token-pipeline** ile uyumlu manifest.
25
+ - **Sonra:** **implement-design** ana tüketici; **code-design-mapper** özetini manifest’e işleyebilirsin.
26
+ - **PO/PM akışı:** Teknik olmayan ekran özeti için **figma-screen-analyzer**; değişiklik etkisi için **ds-impact-analysis**
27
+
28
+ ## Required Workflow
29
+
30
+ ### Step 1: Plugin Bağlantısını Doğrula
31
+
32
+ `figma_get_status()`
33
+
34
+ ### Step 2: Hedef node'ları netleştir
35
+
36
+ - Kullanıcı URL verdiyse `node-id` değerini ayıkla.
37
+ - Node belirsizse `figma_get_file_data(depth=1)` ile kapsam çıkar.
38
+
39
+ ### Step 3: Design context topla
40
+
41
+ `figma_get_design_context` çağrısı:
42
+
43
+ - `includeLayout=true`
44
+ - `includeVisual=true`
45
+ - `includeTypography=true`
46
+ - `includeCodeReady=true`
47
+ - `depth=2`
48
+
49
+ ### Step 4: Token ve component reuse özeti çıkar
50
+
51
+ - `figma_get_variables`
52
+ - `figma_search_components`
53
+ - gerekiyorsa `figma_get_component_for_development`
54
+
55
+ ### Step 5: Code-Only Props Çıkar
56
+
57
+ "Code only props" katmanı olan bileşenlerde, gizli property'leri spec data olarak çıkar:
58
+
59
+ ```js
60
+ // figma_execute — Code-only props okuma
61
+ const component = await figma.getNodeByIdAsync("<COMPONENT_ID>");
62
+ const codeOnlyFrame = component.children.find(c => c.name === "Code only props");
63
+ if (codeOnlyFrame) {
64
+ const props = codeOnlyFrame.children.map(c => ({
65
+ name: c.name,
66
+ type: c.type === "TEXT" ? "string" : "variant",
67
+ value: c.type === "TEXT" ? c.characters : null,
68
+ visible: c.visible
69
+ }));
70
+ return { codeOnlyProps: props };
71
+ }
72
+ ```
73
+
74
+ Handoff çıktısına ekle:
75
+ ```yaml
76
+ ## Code-Only Properties (Geliştirici İçin)
77
+ | Property | Type | Default | Görünürlük |
78
+ |----------|------|---------|-----------|
79
+ | accessibilityLabel | string | "Button label" | Gizli |
80
+ | as | enum (h1-h6) | h2 | Gizli |
81
+ ```
82
+
83
+ ### Step 6: Screenshot referansı ekle
84
+
85
+ - `figma_capture_screenshot`
86
+
87
+ ### Step 7: Handoff dosyalarını üret
88
+
89
+ 1. `HANDOFF_TEMPLATE.md` içini doldur.
90
+ 2. `docs/handoff.manifest.schema.json` uyumlu `handoff.manifest.json` çıktısı oluştur.
91
+
92
+ ### Step 8: Platform Hedefi Belirle
93
+
94
+ Handoff manifest'ine hedef platform(lar) eklenir:
95
+
96
+ ```json
97
+ {
98
+ "targetPlatforms": ["ios", "android", "web"],
99
+ "platformDetails": {
100
+ "ios": { "framework": "SwiftUI", "minVersion": "16.0" },
101
+ "android": { "framework": "Compose", "minApiLevel": 24 },
102
+ "web": { "framework": "React", "styling": "Tailwind" }
103
+ }
104
+ }
105
+ ```
106
+
107
+ Platform bilgisi kullanıcıdan alınır veya proje yapısından çıkarılır.
108
+
109
+ ### Step 9: Self-healing sonucunu işle
110
+
111
+ - İterasyon sayısını kaydet (`0-3`).
112
+ - Açık kalan sapmaları `openIssues` alanına yaz.
113
+ - Çözülemeyen fark varsa `manualReviewNeeded=true`.
114
+
115
+ ### Step 10: Executive Summary (PO/PM Modu)
116
+
117
+ PO/PM persona algılandığında veya `--executive` flag ile teknik handoff'un yanında yönetici özeti eklenir:
118
+
119
+ ```markdown
120
+ ## Executive Summary — [Ekran Adı]
121
+
122
+ ### Genel Bakış
123
+ - **Ekran:** Login Screen
124
+ - **DS Uyum:** %92 (23/25 öğe)
125
+ - **Tahmini İmplementasyon Süresi:** iOS: 4s, Android: 4s, Web: 3s
126
+ - **Risk Seviyesi:** Düşük
127
+
128
+ ### Bileşen Dağılımı
129
+ - DS instance: 18 (hazır)
130
+ - Custom öğe: 2 (oluşturulması gerekli)
131
+ - Token bağlı: 23/25
132
+
133
+ ### Platform Hazırlık Durumu
134
+ | Platform | Token | Bileşen | Hazırlık |
135
+ |---|---|---|---|
136
+ | iOS | ✓ | %90 | Hazır |
137
+ | Android | ✓ | %85 | Eksik: SegmentedControl |
138
+ | Web | ✓ | %95 | Hazır |
139
+
140
+ ### Riskler ve Açık Noktalar
141
+ 1. Custom illustration asset'i henüz export edilmedi
142
+ 2. Animasyon spesifikasyonu eksik
143
+ ```
144
+
145
+ ## Handoff Prensipleri
146
+
147
+ Her handoff paketi bu 4 prensibe uygun olmalıdır:
148
+
149
+ 1. **Varsayma, belirt** — Belirtilmeyen her şeyi geliştirici tahmin eder. Padding, radius, renk, davranış, hepsi açıkça yazılmalı.
150
+ 2. **Token kullan, değer değil** — `spacing-md` yaz, `16px` yazma. `color/primary` yaz, `#2563eb` yazma. Token ismi hem niyeti hem değeri taşır.
151
+ 3. **Tüm durumları göster** — Default, hover, active/pressed, disabled, loading, error, empty, focus. Gösterilmeyen durum "yok" demek değil, "bilinmiyor" demek.
152
+ 4. **Neden'i açıkla** — "Mobilde daraltılır" yerine "Mobilde daraltılır çünkü tek elle kullanım senaryosunda ekran alanı kısıtlı." Bağlam, geliştiricinin kenar durumlarında doğru karar vermesini sağlar.
153
+
154
+ ## Etkileşim Spesifikasyonları
155
+
156
+ Step 5 (Code-Only Props) ile Step 6 (Screenshot) arasında üretilecek ek bölüm (Step 5.5):
157
+
158
+ ### Davranış Detayları
159
+
160
+ | Öğe | Tıklama/Tap | Hover | Transition | Gesture |
161
+ |-----|------------|-------|------------|---------|
162
+ | CTA Buton | navigate("/dashboard") | scale(1.02), shadow-lg | 200ms ease-out | — |
163
+ | Kart | navigate("/detail/:id") | border highlight | 150ms ease-in-out | swipe-left: sil |
164
+ | Input | focus + keyboard | border-color change | 100ms | — |
165
+ | Modal | — | — | enter: 300ms ease-out, exit: 200ms ease-in | swipe-down: kapat |
166
+
167
+ ### Animasyon Spesifikasyonları
168
+
169
+ - **Giriş animasyonları:** fade-in + slide-up (stagger delay: 50ms per item)
170
+ - **Çıkış animasyonları:** fade-out (150ms)
171
+ - **Mikro etkileşimler:** buton press scale(0.97), toggle spring(damping: 15)
172
+ - **Sayfa geçişleri:** push (iOS), shared-element (Android), fade (Web)
173
+
174
+ ## İçerik Spesifikasyonları
175
+
176
+ Step 5 (Code-Only Props) çıktısına ek olarak:
177
+
178
+ | Alan | Max Karakter | Truncation | Boş Durum | Yükleme Durumu |
179
+ |------|-------------|-----------|-----------|---------------|
180
+ | Sayfa başlığı | 60 | ellipsis | — | skeleton (200×24) |
181
+ | Açıklama metni | 120 | 2 satır + "devamı" | "Henüz açıklama yok" | skeleton (full-width×16 ×2) |
182
+ | CTA butonu | 24 | — | — | spinner |
183
+ | Kullanıcı adı | 30 | ellipsis | "Anonim" | skeleton (120×16) |
184
+ | Avatar | — | — | initials fallback | pulse circle |
185
+
186
+ > **Copy kuralları** için bkz. [ux-copy-guidance](../ux-copy-guidance/SKILL.md) — hata mesajı formülü, boş durum kalıbı, CTA prensipleri
187
+
188
+ ## Uç Durumlar
189
+
190
+ Step 8 (Self-healing) sonrasında değerlendirilecek:
191
+
192
+ | Uç Durum | Tasarım Davranışı | Not |
193
+ |----------|------------------|-----|
194
+ | Min içerik (başlık 3 kelime) | Normal görünüm | Kart yüksekliği auto |
195
+ | Max içerik (başlık 30 kelime) | Truncation: 2 satır + ellipsis | Tooltip ile tam metin |
196
+ | Uluslararası metin (Almanca %30 uzun) | Truncation tetiklenir | i18n testinde en uzun locale kontrol |
197
+ | RTL dil (Arapça) | Mirror layout | İkonlar ters, sayılar LTR kalır |
198
+ | Yavaş bağlantı / offline | Skeleton → timeout mesajı (10sn) | "Bağlantı kurulamadı. Tekrar deneyin." |
199
+ | Eksik veri (null avatar) | Initials fallback → generic ikon | İsim de yoksa "?" ikonu |
200
+ | Eksik veri (isim yok) | "Anonim Kullanıcı" placeholder | Backend default ile uyumlu olmalı |
201
+
202
+ ## Erişilebilirlik Spesifikasyonları
203
+
204
+ Handoff paketine a11y bilgisi eklenir. Detaylı denetim için bkz. [figma-a11y-audit](../figma-a11y-audit/SKILL.md).
205
+
206
+ | Öğe | Fokus Sırası | ARIA Label/Role | Klavye Etkileşimi |
207
+ |-----|-------------|----------------|-------------------|
208
+ | Ana başlık | — (heading, fokuslanmaz) | role="heading" level=1 | — |
209
+ | E-posta input | 1 | label="E-posta adresi" | Tab: giriş, Enter: submit |
210
+ | Şifre input | 2 | label="Şifre" | Tab: giriş, Enter: submit |
211
+ | Giriş butonu | 3 | role="button" label="Giriş yap" | Enter/Space: tetikle |
212
+ | Google butonu | 4 | role="button" label="Google ile giriş" | Enter/Space: tetikle |
213
+
214
+ **Ekran okuyucu duyuruları:**
215
+ - Form submit sonrası: `aria-live="assertive"` — "Giriş başarılı" veya "Hatalı e-posta adresi"
216
+ - Loading durumunda: `aria-busy="true"` — "Yükleniyor"
217
+ - Modal açıldığında: fokus modal'a taşınır, `aria-modal="true"`
218
+
219
+ ## Marka Profili Entegrasyonu
220
+
221
+ `.fmcp-brand-profile.json` varsa handoff paketine otomatik eklenir:
222
+ - `voiceTone` → İçerik spesifikasyonlarında ton referansı
223
+ - `copyRules` → CTA max karakter, kaçınılacak/tercih edilecek kelimeler
224
+ - `i18n` → Uç durumlar bölümünde desteklenen diller ve en uzun locale
225
+
226
+ ## Rules
227
+
228
+ - Hardcoded renk/font yerine mevcut token isimlerini yaz.
229
+ - "Yeni component oluştur" kararı vermeden önce component araması yap.
230
+ - Handoff dosyasında varsayımları açıkça "riskler" altında belirt.
231
+ - Code Connect verisi yoksa alanı boş bırak; uydurma map yazma.
232
+ - PO/PM persona'sı için executive summary'yi her zaman ekle.
233
+ - Platform hedefini manifest'e her zaman yaz.
234
+
235
+ ## Türkçe Karakter Kuralı (ZORUNLU)
236
+
237
+ Tüm Türkçe metin içeriklerinde (Figma text node, kod string, dokümantasyon) doğru Unicode karakterler kullanılmalıdır. ASCII karşılıkları YASAKTIR:
238
+
239
+ | Doğru | Yanlış | Doğru | Yanlış |
240
+ |-------|--------|-------|--------|
241
+ | ş | s | Ş | S |
242
+ | ı | i | İ | I |
243
+ | ö | o | Ö | O |
244
+ | ü | u | Ü | U |
245
+ | ç | c | Ç | C |
246
+ | ğ | g | Ğ | G |
247
+
248
+ Son adım: Üretilen tüm Türkçe metinleri karakter kontrolünden geçir.
249
+
250
+ ## Evolution Triggers
251
+
252
+ - Bridge'e yeni metadata araçları eklendiğinde handoff paketi zenginleştirilebilir
253
+ - Yeni platform desteği (Flutter, .NET MAUI) eklenirse platformDetails şeması genişletilmeli
254
+ - PO/PM geri bildirimine göre executive summary formatı güncellenmeli
@@ -0,0 +1,104 @@
1
+ ---
2
+ name: apply-figma-design-system
3
+ description: Mevcut Figma ekranını yayınlanmış design system bileşenleri ve token'larıyla çok bölümlü şekilde hizalar; yedek, envanter, bölüm bölüm swap/compose. "ekranı ds'ye bağla", "kütüphaneye geçir", "design system apply", "tasarım sistemi uygula", "bileşenleri hizala", "token'ları bağla" ifadeleriyle tetiklenir. F-MCP Bridge ve figma_execute gerektirir.
4
+ metadata:
5
+ mcp-server: user-figma-mcp-bridge
6
+ personas:
7
+ - designer
8
+ - designops
9
+ ---
10
+
11
+ # Apply Figma Design System (geniş yazma)
12
+
13
+ ## Overview
14
+
15
+ Mevcut bir frame/page **published design system** kullanmalıdır; detached layer, yerel wrapper ve tek seferlik kompozisyonlar hedeflenir.
16
+
17
+ **Tek dar bulgu** için **fix-figma-design-system-finding** kullan; bu skill çok bölüm ve koordineli reconcile içindir.
18
+
19
+ ## Giriş Modları
20
+
21
+ Bu skill iki farklı modda çalışabilir:
22
+
23
+ 1. **review-then-apply** *(varsayılan)* — Tam audit → envanter → bölüm sınıflandırması → onay → uygulama. İlk kez DS hizalaması yapılıyorsa veya kapsamlı tarama istendiğinde kullanılır.
24
+ 2. **apply-known-scope** — Kullanıcı hedef frame'leri ve stratejiyi zaten biliyorsa (ör. önceki audit'ten), audit adımları atlanır ve doğrudan uygulama başlar. Giriş: `{ frames: [{ id: "72:293", strategy: "exact-swap" | "compose-from-primitives" }] }`.
25
+
26
+ Mod, kullanıcı girdisinden otomatik çıkarılır: frame ID + strateji belirtilmişse `apply-known-scope`, aksi halde `review-then-apply`.
27
+
28
+ ## %80 Uyum Eşiği
29
+
30
+ Bölüm sınıflandırması sonrası uyum oranı hesaplanır:
31
+ ```
32
+ uyumOranı = (already-connected + exact-swap + compose-from-primitives) / toplamBölüm
33
+ ```
34
+ - `uyumOranı >= 0.80`: Otomatik uygulama önerilir.
35
+ - `uyumOranı < 0.80`: Uyarı gösterilir — "67% (16/24) otomatik düzeltilebilir. Minimum %80 önerilir. Devam edilsin mi?" Kullanıcı onay vermeden uygulama başlamaz.
36
+
37
+ ## Bölüm sınıflandırması
38
+
39
+ Her bölüm tam olarak biri:
40
+
41
+ - `already-connected` — Zaten kütüphane instance veya kullanıcıca kabul görmüş kompozisyon
42
+ - `exact-swap` — Tek bir library component/variant ile doğrudan değiştirilebilir
43
+ - `compose-from-primitives` — Tek composite yok; yayınlanmış primitive’lerle yeniden kurulur
44
+ - `blocked` — Kütüphane yok, import başarısız veya kasıtlı bespoke
45
+
46
+ ## F-MCP araç eşlemesi
47
+
48
+ | Niyet | F-MCP Bridge |
49
+ |--------|----------------|
50
+ | Özet / sayfa yapısı | `figma_get_file_data`, `figma_get_design_system_summary` |
51
+ | Görsel | `figma_capture_screenshot` |
52
+ | Yapı envanteri | `figma_get_file_data`, `figma_get_design_context`, `figma_execute` (instance → mainComponent keşfi) |
53
+ | Aday bileşen | Önce aynı dosyadaki referans ekranlar; sonra `figma_search_components` |
54
+ | Token | `figma_get_variables`, `figma_get_styles` |
55
+ | Yazma | `figma_execute` |
56
+
57
+ ## F-MCP skill koordinasyonu
58
+
59
+ | Önce | Sonra |
60
+ |------|--------|
61
+ | Kapsam belirsiz | **audit-figma-design-system** (veya eşdeğer iç audit) — tek bulgu çıkarsa **fix-figma-design-system-finding**’e geç |
62
+ | Token kodda da senkron olmalı | **design-token-pipeline** |
63
+ | Kod-Figma parity | **design-drift-detector**, **code-design-mapper** güncellemesi |
64
+ | Koda geçiş | **ai-handoff-export** veya **implement-design** |
65
+ | Repo kuralları | **design-system-rules** |
66
+
67
+ Uçtan uca önerilen sıra özeti: **audit-figma-design-system** skill’indeki “Önerilen uçtan uca akış” bölümüne bak.
68
+
69
+ ## Core kural
70
+
71
+ Birkaç DS butonu içerdi diye bölüm “bağlı” sayılmaz. Bu skill **çok bölüm** reconcile içindir.
72
+
73
+ ## Required Workflow (özet)
74
+
75
+ 1. **Plugin bağlantısını doğrula:** `figma_get_status()` — bağlantı yoksa devam etme.
76
+ 3. **Kapsam:** Gerekirse audit; tek bulguya düşerse fix skill’e yönlendir.
77
+ 3. **Durum yakala:** `figma_get_file_data` (gerekirse düşük `depth`) + `figma_capture_screenshot`; isteğe bağlı `figma_get_design_context` (Code Connect uyarısı varsa araç talimatına uy).
78
+ 4. **Yedek:** Hedef frame/page çoğalt, sağa `Backup - …` adıyla koy; mümkünse ayrı `figma_execute`, oluşan id’yi dön.
79
+ 5. **Envanter:** `figma_execute` ile section instance’ları, `mainComponent`, remote/local, iç içe published kullanımı topla (Edenspiekermann örnek pattern’i referans: instance listesi JSON ile kısa dönüş).
80
+ 6. **Harita:** Önce dosya içi kanıt ekranları, sonra gerekirse `figma_search_components`. Variant seçimini orijinal görsel/ipuçlarına göre yap; varsayılan variant’a sessizce düşme.
81
+ 7. **Strateji:** Bölüm başına `exact-swap` vs `compose-from-primitives` vs `blocked` karar ver.
82
+ 8. **Uygula:** **Bölüm bölüm**, tek script ile tüm ekranı yıkma; auto-layout olmayan üstlerde x/y ve boyutları açıkça koru; drift uyarısı ver.
83
+ 9. **Import hata:** Dur; alakasız edit yapıp “bağlandı” deme; key doğrula, tekrar dene; olmazsa `blocked` raporla.
84
+ 10. **Doğrula:** Her bölüm sonrası screenshot; sonda tam ekran.
85
+
86
+ ## Import / layout kuralları
87
+
88
+ - `importComponentSetByKeyAsync` / `importComponentByKeyAsync` başarısız → dur, net blocker.
89
+ - Non-auto-layout parent: pozisyon ve boyut koru; swap sonrası kayma riskini kullanıcıya yaz.
90
+
91
+ ## Kapanış özeti
92
+
93
+ `Swapped` / `Composed` / `Already connected` / `Blocked` (neden) listeleri. Hepsi blocked ise açıkça söyle.
94
+
95
+ ## İlişkili skill
96
+
97
+ - Okuma-only ön kontrol: **audit-figma-design-system**
98
+ - Tek bulgu: **fix-figma-design-system-finding**
99
+
100
+ ## Evolution Triggers
101
+
102
+ - Bridge'e yeni swap/compose araçları eklendiğinde reconcile stratejisi güncellenmeli
103
+ - `figma_search_components` kapasitesi değişirse bileşen eşleme adımları uyarlanmalı
104
+ - Yeni DS standartları (multi-brand, white-label) desteklenirse iş akışı genişletilmeli