Community编程与开发github.com

lksnmnn/设计方向

通过访谈为项目确立独特的视觉方向——品牌、世界观、图形手法和标志性动作——在UI构建之前,让最终作品具有不可复制的辨识度。适用于启动或重设计应用、落地页、演示文稿,或任何不应显得千篇一律的页面。

设计方向 是什么?

设计方向(Design direction)是一个面向AI Agent(如Claude Code)的技能,旨在帮助开发者在构建UI前,通过结构化访谈确立独特的视觉语言。它强调“差异性”而非“模板化”,因为单纯依赖生成器往往会产出相似的默认风格。该技能支持Operate(操作型应用)和Persuade(说服型页面)两种模式,并针对不同模式提供差异化的设计策略。核心流程包括:收集现有品牌资产、执行深度访谈、模式决策、提出多个差异化方向、通过“归属测试”(Attribution test)检验独特性,最后将决定记录到项目文件中。每个方向都涵盖色彩、排版、图形元素、交互语音和标志性动作等具体定义。对于表面上看起“通用”但用户无法指出具体问题的设计,该技能提供独立开关(如字体、调色板、圆角等)让用户逐个切换,直到定位问题根因。该技能要求所有决策都必须源于访谈记录,并对照“默认风格清单”进行校验,从而确保最终设计是真正属于这个产品的,而不是AI的随机输出。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lksnmnn/product-ui-skills/tree/HEAD/skills/design-direction

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

设计方向 是做什么的?

一个设计是独特的,当业内同行能将它归因于这一个产品。可用性来自熟悉的结构;独特性来自只有这个产品独有的东西:它的品牌、它的世界观、它的图形手法以及一个标志性动作。这些都源自于人,所以本技能在绘制之前先进行提问。

一个独立的生成器往往会收敛于少数几种相同的风格(defaults.md)。以下每个决策要么来自访谈,要么根据该列表进行校验;没有任何选择是因为它是最先想到的。

当方向被记录下来、由人选定,并且后续的每一次构建都参照它时,本技能即告完成。

1. 收集现有资产

询问并阅读所有已定义品牌的内容:Logo文件、颜色、字体、品牌指南、摄影作品、插图、早期的演示文稿或页面、仓库中的设计系统文件,以及 product-ui 技能的工程文件(.claude/product-ui.md,如果存在)。现有的系统是出发点;设计方向扩展它,但绝不会与它矛盾。记录哪些资产存在,哪些缺失。

2. 访谈

执行 interview.md:每轮几个问题,每一轮都建立在前一轮答案的基础上。询问、倾听,然后对令人惊讶的答案再深入一层。当你能用一段话概括产品的世界观、个性和反面参考(anti-references),并且用户同意这段话时,本轮结束。

3. 模式

根据访谈确定模式:

  • 操作模式(人们工作的应用程序):结构、导航和控件保留该品类熟悉的模式。设计方向贡献于安静区域(如头部、空状态、引导页、加载状态)中的排版、调色板、密度、图形手法以及一个标志性动作。
  • 说服模式(落地页、广告活动、演示文稿):设计方向可以塑造整个页面——构图、图像、动效、布局。

如果产品兼具两种模式,则有一个统一的设计方向,并根据每种模式应用。

4. 提出方向

基于访谈素材,撰写两到三个在视觉上一望即可区分的方向。每个方向需命名:

  • 标记:调色板(4-6个已命名的颜色及其作用)、字体配对与缩放、圆角、边框、投影、密度。使用 tokens.md 从第一步骤的品牌资产中构建它们——参考产品可以借用其特质(如速度、密度),但绝不能使用它的颜色或字体;
  • 图形手法:取自产品世界观的形状语言与几何,以及一种从这些形状构建生成的背景、图案和填充图片的配方;
  • 图像:展示何种摄影或插图,以及它们如何被裁剪和处理;
  • 结构:网格、节奏、屏幕或页面的构成方式;
  • 语气:用三个词描述界面如何“说话”,并为按钮、空状态和错误各提供一句例句;
  • 标志性动作:一个具体的、可命名的想法,让观看者能记住(例如“将状态绘制成…”);
  • 一个示例:用真实内容渲染的一个真实屏幕或区域。

将示例并排展示,使用相同尺寸和相同内容。用户选择一个,或组合各部分,并说明原因。

示例上的每个数字和标签都需要一个用户同意的定义(例如“活跃用户”:已登录?还是今天有会话?)。将用户质疑的那些收集起来作为开放定义;这些属于产品问题,并将记录到第六步的文档中。

当用户表示它看起来仍然很通用但无法说出具体原因时,将界面拆分为独立开关——字体、调色板、形状(圆角、边框、标签)、密度、图标风格——全部在同一个屏幕上,让用户逐一切换,直到那种感觉消失。移除这种感觉的那个开关揭示了根本原因。

5. 检查独特性

将选定的示例与 defaults.md 以及用户的反面参考进行对照。对于每一个匹配项,要么更改产生它的决策,要么记录下为什么这个产品保留它。然后进行归属测试,根据访谈中确定的独特性级别来评估其权重:遮挡住 Logo 后,该领域的同行能否叫出这个产品?在高独特性级别下,“它可能是任何人的产品”将把你送回第四步,并指出最薄弱的元素。在低独特性级别下,一个干净、熟悉的结果可以通过测试,并在记录中说明这一点。

独特性绝不能牺牲可用性:一个隐藏了控件、降低了对比度或破坏了该品类熟悉模式的标志性动作,应被移至安静区域或直接丢弃。

6. 记录

将设计方向写入项目文件(.claude/product-ui.md,或者如果 CLAUDE.md 指定了项目存放设计决策的位置,则写入该位置;如果不存在则从 product-ui 模板创建)的“方向”部分:具体包括日期、模式、标记、图形手法、图像配方、结构、语气、标志性动作、反面参考、开放定义以及支持它们背后决策的访谈答案。将标记本身写入代码的标记文件。后续的构建和审查会首先读取项目文件。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能