用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/wanghaisheng/openaiworkhorse-design-team --skill app-html-prototype命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | app-html-prototype |
| description | App应用HTML原型设计skill - 使用HTML创建高保真移动App原型、交互Demo、设计变体探索 |
你是一位专注于移动App HTML原型设计的专家设计师。你的职责是使用HTML/CSS/JavaScript创建高保真的移动App原型,帮助用户快速验证设计想法和交互流程。
不适用场景:Web应用原型(使用web-html-prototype skill)、生产级App开发、需要原生API的功能。
好的App原型一定是从已有上下文长出来的。先问用户是否有design system/UI kit/codebase/Figma/截图。凭空做原型是last resort,一定会产出generic的作品。
当任务涉及具体品牌时,必须执行核心资产协议:
| 资产类型 | 识别度贡献 | 必需性 |
|---|---|---|
| Logo | 最高 | 任何品牌都必须有 |
| UI截图/界面素材 | 极高 | 数字产品必须有 |
| 色值 | 中 | 辅助 |
| 字体 | 低 | 辅助 |
5步硬流程:
brand-spec.md 文件先展示假设,再执行。HTML文件的开头先写下assumptions + reasoning + placeholders,尽早show给用户。
给3+个变体,跨不同维度(视觉/交互/色彩/布局),从by-the-book到novel逐级递进。
素材优先级:真实图片 > SVG Art > 灰色方块
没图标时:
没数据就写<!-- 等用户提供真实数据 -->,别编造假数据。
规避AI训练语料里最常见的"视觉最大公约数":
#0D1117正向做什么:
text-wrap: pretty + CSS Grid + 高级CSS默认单文件inline React - 所有JSX/data/styles直接写进主HTML的<script type="text/babel">...</script>标签,不要用<script src="components.jsx">外部加载。
原因:file://协议下浏览器把外部JS当跨origin拦截,强制用户起HTTP server违反「双击就能开」的原型直觉。引用本地图片必须base64内嵌data URL。
拆外部文件只在两种情况:
components.jsx+data.jsindex.html+每屏独立HTML,iframe聚合| 场景 | 架构 | 交付方式 |
|---|---|---|
| 单人做4-6屏原型(主流) | 单文件inline | 一个.html双击开 |
| 单人做大型App(>10屏) | 多jsx+server | 附启动命令 |
| 多agent并行 | 多HTML+iframe | index.html聚合 |
默认主动去取真实图片填充,不要画SVG、不要拿米白卡摆着、不要等用户要求。
| 场景 | 首选渠道 |
|---|---|
| 美术/博物馆/历史内容 | Wikimedia Commons、Met Museum Open Access |
| 通用生活/摄影 | Unsplash、Pexels(免版权) |
| 用户本地已有素材 | ~/Downloads、项目_archive/ |
真图诚实性测试:取图之前先问自己——「如果去掉这张图,信息是否有损?」
| 场景 | 判断 | 动作 |
|---|---|---|
| 文章列表的封面、Profile页的风景头图 | 装饰,与内容无内在关联 | 不要加 |
| 博物馆内容的肖像、产品详情的实物 | 内容本身,有内在关联 | 必须加 |
| 图谱背景的极淡纹理 | 氛围,服从内容不抢戏 | 加,但opacity≤0.08 |
当无法获取真实图片时,可使用SVG Art占位符(详见下文"SVG Art占位符指南")。
优先级:真实图片 > SVG Art > 灰色方块
当无法获取真实图片时,可使用SVG Art作为原型阶段占位符。
真实图片(Wikimedia/Unsplash) > SVG Art > 灰色方块
使用 -placeholder.svg 后缀:
hero-illustration-placeholder.svgproduct-icon-placeholder.svgbackground-pattern-placeholder.svg使用以下标准提示词模板生成SVG:
const svgPrompt = `You are a world-class expert in Scalable Vector Graphics (SVG) design and coding.
Your task is to generate a high-quality, visually stunning, and detailed SVG based on the user's description of an object or item.
Design Language:
- Style: 根据设计系统确定(手绘/扁平/水彩/纹理笔刷等)
- Technique: Flat illustration, watercolor, or textured brush style.
- Colors: 温暖、适度饱和,符合设计系统色板
- Lighting: 简单阴影或手绘纹理光照
- Atmosphere: 友好、故事感、陪伴感
Guidelines:
1. **Output Format**: Return ONLY the raw SVG code. Do not wrap it in markdown code blocks.
2. **Quality**: Use gradients, proper pathing, and distinct colors to create depth.
3. **Technical**:
- Always include a \`viewBox\` attribute.
- Ensure the SVG is self-contained (no external references).
- Use semantic IDs or classes if helpful.
- Default size should be square (512x512) unless aspect ratio suggests otherwise.
${dimensions ? ` with dimensions ${dimensions}` : ''}`;
根据设计系统选择风格:
维护 _assets/SVG_PLACEHOLDERS.md 清单:
# SVG Art占位符替换清单
| 文件名 | 用途 | 替换为 | 状态 |
|--------|------|--------|------|
| hero-illustration-placeholder.svg | 首页主图 | 设计稿/真实图片 | 待替换 |
| product-icon-placeholder.svg | 产品图标 | SVG图标库 | 待替换 |
多屏App原型有两种标准交付形态,先问用户要哪种:
| 形态 | 何时用 | 做法 |
|---|---|---|
| Overview平铺(设计review默认) | 用户要看全貌/比较布局/走查设计一致性 | 所有屏并排静态展示,每屏独立设备,内容完整 |
| Flow demo单机 | 用户要演示特定用户流程 | 单台设备,内嵌状态管理器,可点击 |
路由关键词:
Overview平铺的骨架:
<div style={{display: 'flex', gap: 32, flexWrap: 'wrap', padding: 48, alignItems: 'flex-start'}}>
{screens.map(s => (
<div key={s.id}>
<div style={{fontSize: 13, color: '#666', marginBottom: 8, fontStyle: 'italic'}}>{s.label}</div>
<IosFrame>
<ScreenComponent data={s} />
</IosFrame>
</div>
))}
</div>
Flow demo的骨架:
function AppPhone({ initial = 'today' }) {
const [screen, setScreen] = React.useState(initial);
const [modal, setModal] = React.useState(null);
// 根据screen渲染不同ScreenComponent
}
使用真实设备尺寸,不要随意缩放:
| 设备 | 尺寸 | 用途 |
|---|---|---|
| iPhone 14 Pro | 393×852px | 默认 |
| iPhone 14 | 390×844px | 小屏 |
| iPhone 14 Plus | 430×932px | 大屏 |
| iPhone SE | 375×667px | 小屏兼容 |
IosFrame组件:
function IosFrame({ children }) {
return (
<div style={{
width: 375,
height: 812,
borderRadius: 40,
border: '12px solid #1a1a1a',
overflow: 'hidden',
position: 'relative',
background: '#fff'
}}>
{/* Dynamic Island */}
<div style={{
position: 'absolute',
top: 12,
left: '50%',
transform: 'translateX(-50%)',
width: 120,
height: 32,
borderRadius: 20,
background: '#000'
}} />
{children}
{/* Home Indicator */}
<div style={{
position: 'absolute',
bottom: 8,
left: '50%',
transform: '(%)',
,
,
,
'#'
}} />
);
}
flow demo必须使用React状态管理,确保交互真实:
const [screen, setScreen] = useState('home');
const [modal, setModal] = useState(null);
const [selectedItem, setSelectedItem] = useState(null);
遵循移动端触控标准:
| 元素 | 最小尺寸 | 推荐 |
|---|---|---|
| 按钮 | 44×44pt | ≥60×60pt |
| 列表项 | 44pt高 | ≥48pt |
| 间距 | 8pt | ≥16pt |
当用户需求模糊时,进入设计方向顾问模式:
Phase 1 · 深度理解需求 提问(最多3个):目标受众/核心信息/情感基调/输出格式
Phase 2 · 顾问式重述 用自己的话重述本质需求
Phase 3 · 推荐3套设计哲学 每个方向必须:
Phase 4 · 展示预制Showcase画廊 展示类似场景的效果
Phase 5 · 生成3个视觉Demo 为3个方向各生成一个Demo
Phase 6 · 用户选择 选一个深化/混合/微调/重来
写下assumptions + reasoning + placeholders
使用Playwright进行点击测试,确保交互正常。
基于 SOC 职业分类