Token导航 LogoToken导航

Agent Skill · 研究检索

design(设计)

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

design 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为调用外部服务;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 11,918。

总安装 10,758周安装 431GitHub Stars 382下载 3,482核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 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

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

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

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

来源仓库内路径:skills/design

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/subframeapp/subframe --skill design;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要调用外部服务,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

design 怎么安装?

在终端执行 npx skills add https://github.com/subframeapp/subframe --skill design。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

design 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

design 需要什么权限?

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

design 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

design 用的人多吗?

公开数据是累计安装 10,758 次,近一周安装 431 次,下载 3,482 次,GitHub 382 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

design 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
design

设计 · 本页

10,758382调用外部服务未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

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.

平台分布

Codex

34.74%
按下载量换算1,210

Claude

27.48%
按下载量换算957

Cursor

19.01%
按下载量换算662

Gemini CLI

9.11%
按下载量换算317

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

调用外部服务

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

安装前确认

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

继续浏览同类 Skills