跳转到使用指南
design-html作者 Garry Tan

Design HTML Skill.

一个用于 UI 设计的 Claude Code 和 Codex skill:根据已确定的设计方向生成生产级 HTML/CSS。

  • Web & UI
  • HTML
garrytan/gstack · design-html/SKILL.mdSKILL.md
--- name: design-html description: Design finalization: generates production-quality Pretext-native HTML/CSS. (gstack) --- ## When to invoke this skill ## Confusion Protocol ## Claimed Limitations Need Evidence ## Continuous Checkpoint Mode ## Context Health (soft directive) ## Question Tuning (skip entirely if QUESTION_TUNING: false)
前置信息和章节标题读取自 2026-09-14 的上游文件 · 完整内容 54,976 字符

01 功能说明

design-html Skill 在 Claude Code 和 Codex 中的功能

摘要、工作流与产物,均读自该 skill 的 SKILL.md。

来自 SKILL.md读取于 2026-09-14 · 非实际运行记录

以 skill 自身的术语

生成生产质量的 HTML/CSS,采用原生 Pretext 文本布局,文本能真正重排、高度动态计算、布局在调整大小时自适应。可基于已批准的原型稿(/design-shotgun)、CEO 计划(/plan-ceo-review)、设计评审上下文或用户描述来工作。根据设计复杂度路由到正确的 Pretext API 层级(简单布局使用 prepare + layout;聊天类 UI 使用 prepareWithSegments + walkLineRanges;书刊式跨页排版使用 layoutNextLine 处理文本环绕障碍物)。

30KB 开销,零依赖。生成自包含的 HTML 文件(内联打包的 Pretext)或框架组件(React/Svelte/Vue)。默认使用原生 HTML,并配备实时刷新服务器以便立即在浏览器中预览。绝不使用 lorem ipsum——从原型稿中提取真实内容,或根据计划生成逼真的文本。

它产出什么

  • 独立的 HTML 文件,内嵌预置的 Pretext,包含来自 token 的 CSS 自定义属性、语义化 HTML5、用于实时编辑的 contenteditable + MutationObserver、用于调整大小时重新布局的 ResizeObserver,保存至 ~/.gstack/projects/$SLUG/designs/<screen-name>-YYYYMMDD/finalized.html
  • 框架组件文件(React TSX/JSX、Svelte、Vue),已将 Pretext 导入项添加到项目依赖中,保存至 ~/.gstack/projects/$SLUG/designs/<screen-name>-YYYYMMDD/finalized.[tsx|svelte|vue]
  • 与 HTML 一并存在的 finalized.json 元数据,包含 source_mockup 路径、source_plan 路径、mode(approved-mockup/plan-driven/freeform/evolve)、pretext_tier、框架选择、迭代次数、日期、屏幕名称、分支
  • 若用户接受提取建议,则生成 open DESIGN.md 格式的 DESIGN.md 文件,其中包含从生成的 HTML 中提取的 CSS 自定义属性、字体家族、调色板、间距刻度、边框半径、阴影值
查看示例提示词 ↗

工作方式

  1. 01
    检测设计上下文并路由

    检查来自 /design-shotgun 的 approved.json、CEO 计划、设计变体,或 DESIGN.md 中的 token。

  2. 02
    提取实现规格

    若有可用的设计二值文件,则对已批准的 PNG 运行 prompt 命令,通过 GPT-4o 视觉提取颜色、排版与布局结构。

  3. 03
    智能 Pretext API 路由

    将设计归类到不同层级:简单布局使用 prepare + layout 来实现可感知缩放的高度;卡片网格使用同一方式实现自适应尺寸;聊天界面使用 prepareWithSegments + walkLineRanges 来实现紧贴内容的气泡;编辑式排版使用 layoutNextLine 让文字环绕障碍物。

  4. 04
    生成原生 Pretext HTML

    将内嵌打包的 Pretext(或 CDN 回退)、来自 token 的 CSS 自定义属性、语义化 HTML5、用于实时编辑的 contenteditable + MutationObserver、用于缩放时重排的 ResizeObserver,以及从 mockup 或计划中提取的真实内容写入单个文件。

  5. 05
    预览前进行 Slop Gate 扫描

    若有可用的设计检测器,则在最终页面完成后进行一次 AI-slop 模式扫描(紫色渐变、雷同的卡片网格、并非源自 mockup 的通用 CTA)。

02 找到适合场景

何时使用 design-html Skill

在 Claude Code 或 Codex 中使用 design-html skill 处理此类 UI 设计工作。适用范围和限制取自 skill 自身文件。

适合场景

  • 在创建仪表盘、列表页或卡片网格时,卡片需要根据内容自适应尺寸而无需硬编码高度
  • 在实现聊天或消息类 UI 时,气泡需要紧贴文字收缩并正确计算最小宽度
  • 在 /design-shotgun 批准 mockup、/plan-ceo-review 产品策略,或已存在 /plan-design-review 上下文后,定稿设计
  • 在构建编辑式排版、博客布局或内容密集型页面时,文字需要动态环绕障碍物或图片

了解边界

  • 需要占位内容或 lorem ipsum 的项目——skill 始终生成从 mockup、计划或用户描述中提取的真实内容
  • 无人工审核的自动化运行——设计检测器安装提议与优化循环需要用户通过 AskUserQuestion 做出决策

需要提供的信息

  • 已批准的设计 mockup PNG保存在 approved.json 中的、来自 /design-shotgun 的已批准变体路径,或用户提供的 PNG 路径。
  • CEO 计划或设计评审笔记来自 /plan-ceo-review 或 /plan-design-review 的 Markdown 文件,包含产品愿景、UI 需求、用户流程、目标受众、视觉基调、内容结构。
  • DESIGN.md token仓库的设计系统文件,包含品牌色、字体家族、间距比例、圆角、阴影值。
  • 自由模式下的用户描述当没有 mockup 或计划时,用户提供用途/受众、视觉基调(深色/浅色、活泼/严肃、紧凑/宽松)、内容结构、参考站点。
  • 演进模式下先前的 finalized.html来自上一次会话的现有最终 HTML。

03 Skill 内部

design-html Skill 为 Claude Code 和 Codex 设定的规则

SKILL.md 为 Agent 设定的 6 条具体指令、默认值与边界——文件中真正改变结果的那部分。

  1. 文字排版始终使用 Pretext

    即使设计看起来很简单,Pretext 也能确保在缩放时正确计算高度。开销仅为 30KB。每个页面都能从中受益。

  2. 只使用真实内容,绝不使用占位文本

    当存在 mockup 时,从中提取文本。在计划驱动模式下,使用计划中的内容。在自由模式下,根据用户描述生成真实内容。

  3. 忠于真相来源,而非追求代码优雅

    当存在已批准的 mockup 时,逐像素匹配它。如果这需要 width: 312px 而不是 CSS grid 类,那也是正确的。

  4. 在优化循环中进行精确修改,绝不重新生成

    使用 Edit 工具进行有针对性的更改,而不是用 Write 工具重新生成整个文件。用户可能已通过 contenteditable 进行了手动编辑,必须予以保留。

  5. 每次调用生成一页

    对于多页设计,每页运行一次 /design-html。每次运行生成一个 HTML 文件。

  6. 默认强制执行 AI 陈词滥调黑名单

    绝不包含紫色/蓝色渐变、米白配衬线字体的配色方案、渐变文字、通用三栏功能网格、完全相同的卡片网格、居中一切的布局、标题上方的 kicker、英雄区指标行、装饰性斑点、发光边缘、库存图片占位符、通用 CTA、带投影的圆角卡片、emoji 装饰、通用见证语,或千篇一律的分栏英雄区——除非已批准的 mockup 中包含这些元素、DESIGN.md 明确认可,或用户明确要求并说明一次权衡取舍。

04 投入使用

在 Claude Code 或 Codex 中安装 design-html

一条 npx skills add 命令,然后在你的 Agent 中执行第一个任务和对结果的清单检查。

将 design-html 添加到 Claude Code、Codex 或您的 Agent

在你的项目中运行;安装程序会询问要把它添加到哪个 Agent。

Terminal
npx skills add https://github.com/garrytan/gstack --skill design-html

用于 design-html/SKILL.md 的通用 skills CLI 表单;仓库可能会记录其自身的路径。

给 Skill 一个首次 UI 设计任务

按 skill 自身的术语撰写;把括号中的部分换成你的内容。

Starter prompt
Finalize the design for our [product name] landing page. I have an approved mockup from /design-shotgun at [path to approved.json]. The page needs a hero section with dynamic text that reflows on resize, a 3-card feature grid where cards self-size based on content, and a pricing table. Use our brand colors from DESIGN.md and make sure all text is editable in the browser so I can tweak copy live. Output as vanilla HTML first so I can preview immediately, then I'll ask for a React component version once the design is locked.

来源:依据 SKILL.md,按 skill 自身的术语撰写。

检查首次结果

SKILL.md 本身如何描述正确的结果:

  • 实时刷新服务器已在 http://localhost:PORT/finalized.html 启动,用户可调整窗口大小以验证文本动态重排,并点击任意文本以验证 contenteditable 布局能即时重新计算
  • 如果存在已批准的 mockup PNG,则在优化循环期间内嵌显示以进行视觉比对,否则在计划驱动或自由模式下,循环期间的用户反馈即为真相来源
  • 在首次调用 prepare() 之前,通过 document.fonts.ready 门控确认字体已加载,以确保 Pretext 布局计算的文本度量正确
  • 用户在优化循环中测试完调整大小行为和实时文本编辑后,确认“done”/“ship it”/“looks good”/“perfect”,最多迭代 10 次后再询问是否继续或调用 done

在 OpenDesign 中通过其 SKILL.md 链接导入 design-html:Plugins → Add → Skill → Import from link,然后在顶部栏中选择它。

05 开源、可追溯

来源、许可与验证

本页面事实的来源,以及最后检查时间。

Author
Garry Tan
Repository
github.com/garrytan/gstack 分支 main
Skill 文件
design-html/SKILL.md 验证时记录的内容校验和;提交 71f6048
License
MIT 来自 LICENSE。
仓库星标数
132,921 GitHub 快照拍摄于 2026-09-14,来自整个 garrytan/gstack 仓库,该仓库包含本目录中的 7 个 skill。不是 design-html 的评分或使用次数。
已由 OpenDesign 验证
2026-09-14 已检查源文件、路径、许可文本和 star 数量。未内置在 OpenDesign 主程序(检查日期 2026-08-28);本页面未记录实际运行。

SKILL.md 内部

  1. 何时调用此 skill适用于已批准的 mockup、CEO 计划、设计评审上下文,或用户描述的生产级 HTML/CSS
  2. 前言(首先运行)运行 gstack-skill-start,读取 STATUS 行,处理降级模式,遵循 GSTACK_INSTRUCTION 块进行引导/同意
  3. 计划模式下的安全操作计划模式下允许的操作:codex exec/review、写入 ~/.gstack/、计划文件、为产物打开
  4. 计划模式期间的 Skill 调用Skill 指令是可执行的而非仅供参考;AskUserQuestion 满足回合结束要求;ExitPlanMode 仅在工作流完成后调用
  5. AskUserQuestion 格式工具解析依据 SESSION_KIND 分支;spawned 自动选择推荐项;Conductor 使用文字说明;失败回退处理
  6. 产物同步(skill start)基于 skill-start 输出执行操作:GBrain 提示、ARTIFACTS_SYNC 健康状态、通过 GSTACK_INSTRUCTION 进行一次性隐私同意门控
  7. 模型特定行为补丁(claude)待办清单纪律、在执行重大操作前先思考、优先使用专用工具而非 Bash——这些偏好从属于 skill 指令
  8. 语气GStack 语气:先讲重点,提供具体细节,将选择与用户结果关联,直言质量问题,收尾有边界
  9. 上下文恢复恢复最近的产物、评审、时间线、决策、最新检查点;如果 RECENT_PATTERN 暗示某个 skill,则建议使用它
  10. 写作风格专业术语首次出现时给出简要解释,以结果来表述问题,句子简短、使用主动语态;若 EXPLAIN_LEVEL 为 terse 则跳过
  11. 完整性原则——涸泽而渔AI 让完整覆盖变得低成本;建议全面覆盖;当各选项覆盖范围不同时,标注完整性:X/10
  12. 困惑处理协议对于高风险的歧义情况要停下来,明确指出问题,给出 2-3 个带权衡的方案并提问——常规编码任务不适用
Skill 自身的描述
设计定稿:生成生产级别的 Pretext 原生 HTML/CSS。(gstack)

SKILL.md 文件的前言描述。完整文件约 54,976 字符。在 GitHub 上阅读完整文件。

06 安装之前

关于 design-html Skill 的问题

以下回答来自 2026-09-14 读取到的 SKILL.md,而非某次实际运行的记录。

这适用于我的 React / Svelte / Vue 项目,还是只支持纯 HTML?

两者都支持。步骤 2.5 会检测 package.json 中的框架,并询问你是想要纯 HTML(自包含的预览文件,推荐用于第一版)还是带有 Pretext 钩子的框架原生组件。如果未检测到框架,则默认使用纯 HTML。对于框架输出,你可以选择 TypeScript 或 JavaScript。

设计 HTML

在真实 UI 设计任务上运行 design-html。

下载 OpenDesign,从其 SKILL.md 链接导入 design-html,粘贴上方提示,在查看结果前阅读计划。

终端
npx skills add https://github.com/garrytan/gstack --skill design-html

OpenDesign 桌面客户端

一套设计系统,让每一次创作都保持品牌一致

在完整的 Vibe Design Workspace 中,用同一套品牌规则生成网页、PPT、可交互原型、数据看板、图像与 HTML 视频。连接本地 Codex、Claude Code、Cursor 等编程助手,即可免费创作。

  • 覆盖网页、PPT、原型、数据看板、图像与视频
  • 140+ 设计系统,以及完整模板与技能库
  • 连接本地 Codex 与 21+ 款编程助手 · 免费使用
免费下载

支持 macOS 与 Windows