Token导航 LogoToken导航TokenDH.com
研究检索external-servicegithub未标认证来源可访问许可证需确认审计通过

design设计

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

10,758

周安装

431

GitHub Stars

382

下载量

3,482
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:design(设计)
来源仓库:https://github.com/subframeapp/subframe
仓库路径:skills/design
安装命令:
npx skills add https://github.com/subframeapp/subframe --skill design
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/subframeapp/subframe --skill design

简介

使用 AI 生成的变体在 Subframe 中设计 UI 页面,然后用代码实现。

  • 创建新页面或使用多种设计变体重新设计现有 UI,以便在提交代码之前探索选项
  • 使用设计页面
  • 对于新设计和 edit_page
  • 对现有子框架页面进行有针对性的更改
  • 生成与您的设计系统相匹配的生产就绪型 React/Tailwind 代码;实施前在子帧编辑器中进行视觉优化
  • 使用 edit_theme 全局更新项目主题
  • 调整所有页面的颜色、版式、边框和阴影

SKILL.md

Design pages using the design_page and edit_page MCP tools. design_page creates AI-generated design variations that the user can preview and select. edit_page applies targeted changes directly to an existing Subframe page. Both produce designs the user can refine visually in the Subframe editor and then implement in code. Update the theme for the entire project using edit_theme.

Don't write UI code directly. Subframe generates production-ready React/Tailwind code that matches the design system. Design first, then implement with /subframe:develop.

When to Use This

Use /subframe:design when the user:

  • Needs UI while coding
  • Wants to explore design options
  • Has codebase context that should inform the design
  • Wants a starting point to refine in a design tool
  • Is collaborating on designs with a team
  • Wants to modify an existing page
  • Wants to edit the theme for their Subframe designs

The key value: /subframe:design and /subframe:develop bridge coding and design. They work in both directions — create designs while coding and then ensure your code exactly reflects your design.

MCP Authentication

If you cannot find the design_page tool (or any Subframe MCP tools), the MCP server likely needs to be authenticated. Ask the user to authenticate the Subframe MCP server. If the user is using Claude Code, instruct them to run /mcp to view and authenticate their MCP servers, and then say "done" when they're finished.

Subframe Basics

  • Components (buttons, inputs, cards): Synced via CLI. Source of truth in Subframe. Don't modify locally.
  • Pages (screens): Designed via AI or editor. Exported via MCP. Add business logic after export.

Subframe knows about the design system and theme. Your job is to provide context from the user's codebase.

Workflow

You do not have to run /subframe:setup before designing. The design_page MCP tool works independently — it only needs a projectId and an authenticated MCP server. Local project setup (.subframe/ folder, synced components, Tailwind config) is not required to design pages.

  1. Understand the request — If vague, ask clarifying questions. What data? What actions? Who uses it?
  2. Find the projectId — Check .subframe/sync.json if it exists. If there is no .subframe/sync.json or no projectId found, call list_projects to get the available projects. Each project includes a projectId, name, teamId, and teamName.

- One project: Use it automatically. - Multiple projects: Always ask the user which project to use. Present each project with its teamName to disambiguate. If the user already mentioned a specific team or project name, match it against the teamName and name fields — but still confirm before proceeding. Never silently pick a project when multiple exist.

  1. Decide: design_page or edit_page? Then call the respective MCP tool:

- design_page → Creating something new, exploring multiple directions, or redesigning existing UI where the user wants options to choose from - edit_page → Making targeted changes to a Subframe page that was just created in this session (via design_page) or that the user provided via an MCP link

  1. Present the review URL — This is the primary output. The user will preview and choose next steps.

design_page — New Pages & Redesigns

Use design_page when:

  • Creating a new page from scratch
  • Redesigning or rethinking existing UI — if there's an existing implementation in code, use design_page when the user wants to explore new design directions or add new features
  • Recreating an existing UI from code exactly as a starting point to design in Subframe
  • The user wants options to choose from (multiple variations)

Context and Variations

How much context to gather and how many variations to generate depends on the task:

TaskContextVariations
New page (open-ended)Data types (codeContext)4 — explore the design space
New page (with reference pages)Reference pages (additionalPages if in Subframe, codeContext if not), data types (codeContext)1-2 — stay close to the reference pages
Redesigning existing UIThe current page (additionalPages if in Subframe, codeContext if not; note what to keep vs change in the description)2-4 — depending on how open-ended
Recreating an existing UIThe current page's exact markup and styles (codeContext)1 - recreate the UI from code exactly

Always include when available:

  • The existing page being discussed and similar existing pages (the single most valuable context). Use additionalPages for Subframe pages — pass the pageId returned by design_page, or the page ID from a pasted MCP link. Use codeContext for pages that only exist in the codebase.
  • Components or patterns the user refers to or explicitly mentions (via codeContext)
  • Data types/interfaces for what the page will display (via codeContext)

Preparing codeContext

When including code in codeContext, distinguish between Subframe components and non-Subframe components:

  • Subframe components are imported from the synced Subframe directory (configured in .subframe/sync.json — typically @/ui or src/ui) or from @subframe/core. Include these as-is — Subframe understands its own components.
  • All other components are application components. Do NOT pass these by name. Instead, read the component's source and inline its rendered JSX and Tailwind classes into codeContext. If the expanded markup uses Subframe components internally, keep those Subframe references intact.

For example, if a page uses <LoginForm /> and it's not from the Subframe directory, expand it into the form's JSX markup (inputs, buttons, layout, Tailwind classes) rather than passing <LoginForm />.

Variations

Each variation is an object with a name (short name) and description (a few sentence prompt describing the design direction).

When you have reference pages (additionalPages), use fewer variations (1-2) and keep them grounded in the reference. The variations should refine or extend the existing design, not diverge from it. For example:

  • {"name": "Adapted layout", "description": "Follow the same layout as the reference page but adapted for [new content]"}
  • {"name": "Compact data-dense", "description": "Same structure as the reference but with a more compact, data-dense layout."}

When starting from scratch (no additionalPages), use more variations (4) to explore the design space:

  • {"name": "Data table", "description": "Compact data table with inline actions and bulk operations."}
  • {"name": "Card grid", "description": "Card-based layout with visual hierarchy and quick filters."}
  • {"name": "Minimal single-column", "description": "Minimal single-column design focused on the primary action."}
  • {"name": "Split panel", "description": "Split-panel layout with sidebar navigation and detail view."}

More variations = more exploration. Fewer = more focused. Default to fewer when strong context exists.

Multi-Page Requests

When designing multiple related pages (flows, CRUD, etc.):

  1. Design the primary page first with more variations to establish the direction
  2. After user selects a variation, design remaining pages passing the relevant pages via additionalPages as context
  3. Use the same flowName to group related pages together

edit_page — Targeted Edits to an Existing Page

Use edit_page for targeted changes to a specific Subframe page. Provide a page identifier and a description of the changes — Subframe handles the rest.

  • description: Describe what to change. You can include code snippets for precision, but it's not required.
  • Page identifier: id, name, or url. Use list_pages to find existing pages if needed.

The edit is applied immediately. Present the returned pageUrl to the user so they can view the updated page in Subframe.

When to use edit_page vs design_page

  • edit_page: Targeted changes to an existing Subframe page. Fast and precise.
  • design_page: New pages, redesigns, or exploring multiple design directions.

When NOT to use edit_page: If the user has existing UI in their codebase but no corresponding Subframe page, or if they want to explore multiple design options, use design_page instead.

After Designing

For design_page, present the reviewUrl as a clickable markdown link. The user will:

  1. Preview variations — See each design option rendered in Subframe
  2. Select a variation — Choose the one that best fits their needs
  3. Open in editor — Refine visually in Subframe's full design editor

From there, the user may continue refining in Subframe or return here and ask you to implement the design in code. Do NOT ask the user which variation they prefer or present variation options as a multiple choice in chat. Variation selection happens in the Subframe editor, not here. Simply present the review URL and let them know they can ask you to implement the design once they're ready.

For edit_page, the edit is applied immediately. Present the returned pageUrl as a clickable markdown link so the user can view the updated page in Subframe. The user can undo the edit in the editor if needed.

Internally track the pageId from the response — you'll need it for /subframe:develop, additionalPages for future designs, or edit_page for future edits — but don't mention it to the user.

Iterating on Variations

Do NOT proactively call get_variations after design_page. The user reviews and selects variations in the Subframe editor, not in chat. Only call get_variations when the user comes back and explicitly asks to iterate on or combine designs — for example, "I like the layout from variation 1 but the color scheme from variation 3", or "keep the header from the current page but use the card layout from variation 2."

get_variations returns:

  • currentPageCode — The current page code if the user has already accepted a variation for this page, or null if no variation has been accepted yet. This reflects the live state of the page, including any edits the user made in the Subframe editor.
  • variations — The generated design variations from the most recent design_page call.

Important: The variations can be very token-heavy. After calling get_variations, extract currentPageCode from the response first — it determines your next step.

  • currentPageCode exists — The user already has a page. Use edit_page with a description incorporating ideas from the variations or the user's feedback. You don't need to deeply analyze every variation — just reference the ones the user mentions.
  • currentPageCode is null — The user hasn't accepted any variation yet. Use design_page to iterate, passing the relevant variation code via codeContext along with the user's feedback in the description. Note: this creates a new pageId — use it for subsequent get_variations calls.

Updating Theme

Use edit_theme to update the visual theme of a Subframe project. This tool is designed for targeted tweaks and high-level changes to an existing theme:

  • Targeted tweaks: Specific adjustments like "make the primary color darker", "increase border radius on all components", "switch the font to Inter", or "make shadows more subtle".
  • High-level changes: Broader theme shifts like "switch to a dark theme", "make the design feel more modern and minimal", or "adopt a warm earth-tone palette".

edit_theme can update colors, fonts, corners, shadows, and typography tokens. Use get_theme to understand the current theme before formulating your changes.

When NOT to use edit_theme: If the user wants to import or replicate an entire existing design system theme (e.g. "set up our theme to match these design tokens from our codebase"), edit_theme is not the right approach. For full theme setup from existing tokens or files, direct the user to the theme import feature in the Subframe UI at https://app.subframe.com/theme, where they can upload their theme files directly. For importing a full design system (components + theme), use /subframe:import instead — but note that the import feature is only available for certain teams (see the import skill for details).

The description parameter should describe what changes you want to make to the theme. It can include exact token values if needed, or it can be a high-level description — the AI will interpret both.

If you are currently working on a page with the user, you should pass that page information into the edit_theme tool call.

If a page is provided, the tool will return a URL where the user can review and apply the theme changes. If no page is provided, the tool will return a URL where the user can see the updated project theme. The user cannot review the theme changes prior to application in this case, so it is best to provide a page identifier if any is available.

Important: The theme affects all pages and components in the project, so always make the user confirm that they want to update the whole project before using edit_theme. If the user only wants to change the styling of a particular page (not the project-wide theme), use edit_page instead.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.74%
按下载量换算1,210

Claude

27.48%
按下载量换算957

Cursor

19.01%
按下载量换算662

Gemini CLI

9.11%
按下载量换算317

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills