Przejdź do głównej zawartości

Figma

Wtyczka Figma łączy Claude’a z twoimi plikami Figmy, na potrzeby pracy z systemem projektowym i przekładania projektów graficznych na kod. Odczytuje strukturę pliku, eksportuje obrazy oraz odczytuje, dodaje i usuwa komentarze. Tworzy też i edytuje zmienne, style, komponenty i prototypy. Zwykle takie operacje wliczają się do limitów zapisu w REST API Figmy, tu jednak przechodzą osobną ścieżką, na której żaden taki limit nie obowiązuje. Jak każdą wtyczkę Speedwave, także tę pisze, rozwija i dostarcza wyłącznie Speednet.

Wtyczka ma dwa niezależne transporty. Transport REST komunikuje się z Figma REST API i obsługuje inspekcję tylko do odczytu, eksport obrazów oraz komentarze; wymaga opcjonalnego tokenu Personal Access Token do Figmy. Transport mostkowy działa jako most do hosta: to połączenie WebSocket między workerem a towarzyszącą wtyczką Figma Desktop o nazwie “Speedwave DS Bridge”, którą raz importujesz do Figmy. Wszystkie zapisy, czyli tworzenie zmiennych, stylów, komponentów i prototypów, idą przez mostek i wykonują się na Figma Plugin API wewnątrz twojego otwartego edytora.

Odczyty i komentarze przechodzą przez narzędzie REST: worker wywołuje Figma REST API, korzystając z twojego tokenu Personal Access Token, jeśli został ustawiony, i zwraca wynik Claude’owi. Zapisy biegną inaczej. Claude wysyła polecenie do workera, ten przekazuje je jako JSON-RPC przez mostek WebSocket, a wtyczka Desktop działająca wewnątrz Figmy wykonuje je na Plugin API, nie zużywając przy tym ani odrobiny limitu zapisów w REST. To właśnie dzięki tej ścieżce zapisy w systemie projektowym są darmowe i nieograniczone.

Manifest deklaruje mostek z trwałym tokenem, maksymalnym rozmiarem ramki 16 MiB i preferowanym portem 60123. Worker uwierzytelnia się nagłówkiem, a wtyczka Desktop parametrem zapytania. Zobacz jak obsługiwane są dane uwierzytelniające, by poznać sposób, w jaki tokeny i połączenia mostka pozostają z dala od środowiska samego modelu.

Wtyczka udostępnia dziewięć umiejętności (skills), które prowadzą Claude’a przez typowe zadania związane z systemem projektowym:

UmiejętnośćCo robi
figma-inspect-fileOdczytuje strukturę pliku; domyślny punkt wejścia dla wszystkiego, co dotyczy tylko odczytu
figma-audit-dsSprawdza kondycję systemu projektowego i wskazuje wartości literalne, które powinny być zmiennymi lub stylami, a także nieużywane tokeny
figma-build-design-systemBuduje kompletny system projektowy: zmienne, style, komponenty, zestawy wariantów, instancje, wektory, obrazy
figma-compose-screenSkłada cały ekran na bazie istniejącego systemu projektowego
figma-to-codePrzekłada projekt graficzny na kod front-endowy, zaczynając od tokenów i komponentów
figma-ds-contextZapisuje w twoim repozytorium migawkę systemu projektowego: plik DESIGN.md, pliki tokenów DTCG oraz components.json
figma-populate-dataWypełnia instancje komponentów danymi z tabeli
figma-prototype-flowsPodłącza interakcje prototypu typu click-through między ramkami
figma-assets-roundtripPrzenosi zasoby graficzne i wektorowe między plikami

Dodaje też sześć poleceń /figma:

PolecenieCo robi
/figma:statusPokazuje, czy DS Bridge jest połączony i który plik jest jego celem
/figma:tokensWypisuje zmienne, style, komponenty, linki do prototypów i zasoby
/figma:ds-pullOdświeża pliki DS-context w twoim repozytorium
/figma:design-mdPrzekształca działającą stronę internetową w plik DESIGN.md, bez udziału pliku Figmy
/figma:from-urlPrzekształca stronę internetową w odpowiadający jej system projektowy w Figmie
/figma:cleanDestrukcyjne. Masowo usuwa zmienne, style lub komponenty; najpierw zapisuje automatyczny checkpoint

Transport REST udostępnia 17 narzędzi, wszystkie z przedrostkiem figma_rest_. Wyłącznie odczyty i komentarze; nic tutaj nie dotyka mostka.

NarzędzieCo robi
get_file, get_nodesPobierają cały plik albo konkretne węzły po ID
get_file_versionsWypisuje zapisaną historię wersji pliku
get_comments, post_commentOdczytują lub dodają komentarze do pliku
delete_commentDestrukcyjne. Usuwa komentarz z pliku
get_variablesOdczytuje zmienne lokalne (tylko na planach Enterprise przez REST)
get_team_projects, get_project_filesPozwalają odkryć projekty zespołu i pliki wewnątrz nich
get_team_components, get_team_component_sets, get_team_stylesWypisują opublikowane komponenty biblioteki, zestawy wariantów i style w obrębie zespołu
get_file_components, get_file_component_sets, get_file_stylesWypisują komponenty, zestawy wariantów i style wewnątrz jednego pliku, bez pobierania całego pliku
get_image_fillsWypisuje oryginalne zasoby graficzne przechowywane w pliku
export_imagesRenderuje węzły jako PNG, JPG, SVG lub PDF i zwraca tymczasowe linki do pobrania

Transport mostkowy udostępnia 45 narzędzi, wszystkie z przedrostkiem figma_plugin_, i wymaga uruchomionego DS Bridge. Odczytują i zapisują otwarty plik bezpośrednio przez Plugin API, więc żadne z nich nie wlicza się do limitu REST.

NarzędzieCo robi
statusZgłasza, czy mostek jest połączony i który plik jest jego celem
read_state, read_node, query_nodesOdczytują strony pliku, zaznaczenie, zmienne, style lub komponenty, wchodzą w szczegóły jednego węzła albo wyszukują węzły według wzorca
export_snapshot, export_image, export_tokensZapisują na dysk pełny graf sceny, wyrenderowany obraz albo tokeny projektowe
read_prototype, get_cssOdczytują przepływy prototypu na węźle albo CSS, jaki wygenerowałaby dla niego Figma
audit, component_usage, check_contrastWskazują niedociągnięcia systemu projektowego, wypisują nieużywane komponenty albo sprawdzają kontrast kolorów
check_fonts, load_fontsSprawdzają, jakie fonty są dostępne, a następnie wczytują je z wyprzedzeniem przed budową z dużą ilością tekstu
create_variables, update_variablesTworzą lub edytują zmienne i ich wartości
create_styles, update_stylesTworzą lub edytują style wypełnień, tekstu i efektów
create_components, create_component_sets, create_component_properties, edit_component_propertyBudują komponenty, łączą je w zestawy wariantów i definiują ich właściwości
create_instances, swap_instance, detach_instance, reset_overridesUmieszczają instancje komponentów i zarządzają nimi później
bind_styles, bind_variables, bind_paint_variables, set_variable_modePodpinają style lub zmienne do węzłów, w tym powiązania na poziomie pojedynczych wypełnień i nadpisania trybu motywu
create_images, create_svg_nodes, create_vectors, vector_opWstawiają obrazy bitmapowe, znaczniki SVG lub surowe ścieżki wektorowe oraz wykonują operacje boolowskie na wektorach
create_pages, create_sections, update_nodes, node_opsTworzą strony i sekcje oraz edytują lub przebudowują istniejące węzły
import_library_assetsPobiera opublikowany styl, zmienną lub komponent z biblioteki do pliku lokalnego
write_prototypePodłącza interakcje click-through między ramkami
set_node_metadata, annotateOznaczają węzły ukrytymi metadanymi albo zapisują notatki przekazania do Dev Mode
save_versionZapisuje nazwany checkpoint wersji przed ryzykowną zmianą
delete_allDestrukcyjne. Masowo usuwa wszystkie lokalne zmienne, style i komponenty
delete_nodesDestrukcyjne. Usuwa konkretne węzły

status i check_contrast pozostają dostępne nawet bez połączonego mostka, bo pierwsze narzędzie diagnozuje właśnie ten stan, a drugie potrafi działać na zwykłych wartościach kolorów.

  1. Zainstaluj i włącz wtyczkę Figma w zwykły sposób, opisany w korzystaniu z wtyczek.

  2. W aplikacji Figma Desktop przejdź do Menu → Plugins → Development → Import plugin from manifest… i wybierz manifest dołączony do zainstalowanej wtyczki.

  3. Uruchom zaimportowaną wtyczkę “Speedwave DS Bridge” w pliku, w którym ma pracować Claude. Po przełączeniu się na inny plik uruchom ją ponownie, bo połączenie nawiązuje się osobno dla każdego pliku.

  4. Opcjonalnie dodaj token Personal Access Token do Figmy w danych uwierzytelniających wtyczki, aby odblokować narzędzia REST. Transport mostkowy wraz ze wszystkimi zapisami działa i bez niego.

Bez tokenu Personal Access Token narzędzia REST, które go wymagają, pozostają niedostępne. Transport mostkowy nadal działa, a wraz z nim wszystko, co potrafi on zbudować lub zmienić. Przekazuje on polecenia wyłącznie do wtyczki Desktop, którą samodzielnie uruchomiłeś w konkretnym pliku, nie sięga więc do żadnego pliku, w którym nie otworzyłeś mostka. Usuwanie węzłów lub masowe czyszczenie pliku wymaga jawnej flagi potwierdzającej i pomija monit o cofnięciu na płótnie, dlatego warto najpierw zapisać wersję pliku. Zmiennych z kolei nie da się odczytać przez REST na planach Figmy innych niż Enterprise, przez co mostek pozostaje jedyną drogą do nich.