Subframe — плагин
Официальный плагин Subframe: MCP-сервер и три скилла для дизайна интерфейсов в Subframe и переноса их в код приложения
- 466 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Сервер создает и удаляет страницы, компоненты и проекты команды: удаленный проект не восстановить.
- Генерация тратит кредиты Subframe AI, а CLI записывает файлы синхронизации в ваш код.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add plugins/subframeОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Сервер создает и удаляет страницы, компоненты и проекты команды: удаленный проект не восстановить.
- Генерация тратит кредиты Subframe AI, а CLI записывает файлы синхронизации в ваш код.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Плагин Subframe подключает агента к дизайн-инструменту Subframe через удаленный MCP-сервер `https://mcp.subframe.com/mcp` и три скилла. Скилл `design` создает и правит страницы, компоненты, сниппеты, документы и темы прямо в Subframe, сравнивает варианты на холсте и сверяет результат со скриншотами. Скилл `develop` реализует готовый дизайн в вашем приложении: сначала выясняет, кто владеет темой и компонентами, Subframe или кодовая база, затем синхронизирует нужные компоненты командой вроде `npx @subframe/cli@latest sync Button Alert` и подключает логику и данные. Скилл `import` переносит в Subframe существующую дизайн-систему из кода или сайта: токены, шрифты, иконки и компоненты в светлой и темной темах. Сервер умеет читать, создавать и удалять страницы и компоненты, снимать скриншоты, читать прототипы, править тему и искать по документации. В том же репозитории лежат пакеты `@subframe/core`, обертка над компонентами Radix без готового оформления, и `@subframe/cli` для синхронизации проекта Subframe с кодом.
Для кого. Фронтенд-разработчикам и дизайнерам на React и Tailwind, которые рисуют интерфейс в Subframe и просят Claude Code, Cursor или Codex реализовать его в приложении.
Подходит, если
- Нужно быстро сравнить три варианта лендинга на холсте и собрать комментарии команды до правок в коде.
- Готовая страница из Subframe переезжает в приложение, и агент синхронизирует недостающие компоненты и подключает данные.
- Дизайн-систему из кодовой базы, с токенами, шрифтами и иконками, нужно загрузить в Subframe, чтобы новые макеты следовали ей.
- Многоэкранный сценарий онбординга рисуется как поток экранов с общей оболочкой.
Не подходит, если
- Правка небольшая, например поправить отступ в готовом компоненте: проще менять код напрямую, скилл `design` сам рекомендует так делать.
- У проекта нет аккаунта Subframe: сервер входит через OAuth и работает с проектами аккаунта.
- Нужен двусторонний автоматический обмен между кодом и холстом: синхронизация идет по запросу, а страницы CLI не обновляет.
Пример запроса к агенту
Нарисуй в Subframe три варианта страницы тарифов, выбери самый чистый и реализуй его в приложении на наших компонентах.Ограничения
Для работы нужен аккаунт Subframe, вход идет через OAuth. Инструменты генерации (`design_page`, `design_component`, `edit_component`, `design_snippet`) тратят кредиты Subframe AI, даже когда агент работает на своей подписке. У наблюдателей проекта сервер только читает, править дизайн могут места редактора, а бесплатный тариф дает один проект. Синхронизация компонентов и темы идет через CLI по запросу, страницы он не обновляет, и правки в коде на холст сами не возвращаются. Установка плагина в Cursor через репозиторий требует командного маркетплейса Teams или Enterprise.
Как отключить. Выполните `claude plugin uninstall subframe@subframe`, для Codex удалите плагин через `codex plugin`. Подключение коннектора в Claude Desktop отключается в разделе коннекторов, а синхронизированные компоненты остаются в вашем коде.
Частые вопросы
Как поставить плагин в Claude Code?
Выполните `claude plugin marketplace add https://github.com/SubframeApp/subframe && claude plugin install subframe@subframe`. Затем `/mcp` покажет, подключен ли сервер Subframe. Автообновление для сторонних маркетплейсов выключено, поэтому обновляйте плагин вручную: `claude plugin update subframe@subframe`.
Как подключить Subframe в Claude Desktop?
Откройте Customize, затем Connectors и добавьте свой коннектор: имя Subframe, адрес сервера `https://mcp.subframe.com/mcp`. После добавления нажмите Connect и пройдите вход на сайте Subframe.
Как поставить плагин в Codex?
Выполните `codex plugin marketplace add SubframeApp/subframe`, затем `codex plugin add subframe@subframe` и в новой сессии `/mcp login subframe`. Скиллы вызываются как `$subframe:design`, `$subframe:develop` и `$subframe:import`.
Что делает скилл `develop` с чужой дизайн-системой?
Если в проекте нет синхронизации Subframe и есть своя библиотека, например MUI или `shadcn/ui`, он считает страницу Subframe лишь визуальным образцом и собирает ее из компонентов проекта. Инициализацию и синхронизацию без вашего решения он не запускает.
Что если дизайн нужно только читать?
Роль наблюдателя дает сервер только для чтения: он отдает код страниц, скриншоты и документы, но не создает и не правит дизайн. Править может пользователь с местом редактора.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ПлагиныСкилл собирает компоненты Framer на Three.js, WebGL и GSAP: 3D, шейдеры и анимация по прокрутке в одном TSX-файле.
MCP-сервер и скилл для интерфейсов: 31 дизайн-система для shadcn/ui, принципы UI и UX и проверка доступности для кода агента
Три скилла для Framer: код-компоненты и оверрайды, работа через Framer Agent и плагины, плюс сборник приемов и заметок
MCP-сервер, который передает агенту упрощенные данные макета Figma по ссылке, чтобы тот сверстал экран точнее, чем по скриншоту
design.how: 6 скиллов превращают интерфейс приложения в дизайн-систему для агента и четыре готовые системы для shadcn.
Figma MCP Server (Antonytm)
Figma MCP Server
Сообщественный MCP-сервер с плагином для Figma: агент создает фреймы, текст и компоненты в открытом файле, а не только читает
Коротко о README
Репозиторий открывает инструменты разработчика Subframe: плагин для агентов, CLI, компоненты и документацию. Сам редактор и генерация живут в облачном сервисе Subframe.
Бейдж для README
Исходный SKILL.md
--- name: design description: Create or edit pages, components, snippets, design documents, and themes in Subframe, or explore and compare UI design options in Subframe. argument-hint: "[what to design or change in Subframe]" --- Use this workflow when the deliverable belongs in Subframe. For implementation, use develop; for bringing an existing design system into Subframe, use import. ## Why and when to use Subframe **Why Subframe.** Give designs a persistent home outside a code branch so teammates can find, review, and revisit them. Compare variations and multi-screen flows side by side on a canvas. Gather teammate comments before code changes. Record decisions and rationale in design documents beside the design. When Subframe is the source of truth, sync code from its theme and components. **When to use it:** Explore directions, compare options, seek review or a shareable artifact, or change several screens or the design system. **When not to:** For small fixes to existing UI or code-only behaviour, work directly in code unless the user requests Subframe or the project keeps designs there. ## Steps 1. Identify what must stay and what should change. For an existing design, read its actual content and inspect its rendered appearance. For a website or codebase reference, use the host's browsing or file tools to collect the relevant source and screenshots. A prose description alone is weak evidence for recreating an existing UI. 2. Choose the smallest operation that delivers the request. Edit an existing page or snippet in place; duplicate for an exact copy. Use generation for a new design or a substantially different direction. Decide whether a reusable component, a page composition, a usage example, or written guidance is the intended output. 3. Prepare references before generating. Pass actual source, images, or Subframe resources with a usage note explaining what to preserve and what to change. Include relevant child components and styles when source code depends on them. Put these instructions in the generation brief; the generator does not see your conversation or reasoning. 4. Complete dependencies before their consumers. If a page needs missing reusable primitives, create those with design_component first. Finish independent primitives before components that embed them, then generate the page. Keep one-off page compositions inline. Do not turn recreating a page into an unsolicited component-library rebuild. 5. Complete the requested screens and edits, then review what landed. Compare screenshots with the reference and requested change, including lower sections, affected responsive layouts, and relevant states. Fix missing content, clipping, spacing, and typography discrepancies before reporting. ## Pages and flows Make each variation's brief self-contained. Describe concrete differences in layout or emphasis; do not tell one variation to copy another. If the user requests more variations than one call permits, split the requested count across calls on the same canvas. For a flow, establish the first screen's shared shell. Once wait_for_jobs reports it done, verify that the page actually exists and use its ID as sourcePageId for the next screen immediately. If several alternatives landed, select a coherent starting direction yourself and say which you carried forward. Preserve navigation and layout while specifying the next screen's differences. Do not wait for the user's pick. ## Existing designs Use update_node_styles for styling and edit_page or edit_snippet for content or structure. Start from the existing classes and subtree so unrelated layout, children, and copy survive. On replacement, keep data-node-id on retained nodes; omit IDs on new or inserted nodes. After a stale-ID error, reread the affected resource and reconstruct the edit instead of retrying old markup. Use edit_component when the requested change belongs to the shared component. Inspect representative usages to understand the effect. A page-specific adjustment belongs on that page's instance or composition. For comment-driven edits, match each requested thread to its current element and track which feedback was addressed. A thread whose element disappeared needs interpretation, not an edit against its old ID. ## Theme and design guidance For a restyle, update existing tokens so current designs inherit the intended look. Preserve semantic roles and aliases instead of creating parallel look-alike tokens. Check representative pages and components in the affected modes. Prepare concrete token mappings before requesting any confirmation required for deletions or replacements. Use import for adopting an external token source. Write design documents for decisions a future designer cannot infer from the UI: when to use a pattern, content constraints, and product-specific exceptions. Update existing guidance and preserve embedded examples. Use design_snippet for reusable examples or compositions that do not need a component API; do not manufacture documents or examples for every page. ## Review and recovery