create-site
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCreate Power Pages Code Site
创建Power Pages代码站点
Guide the user through creating a complete, production-quality Power Pages code site from initial concept to deployed site. Follow a systematic approach: discover requirements, scaffold and launch immediately, plan components and design, implement with design applied, validate, review, and deploy.
引导用户完成从初始概念到部署上线的完整、生产级Power Pages代码站点创建流程。遵循系统化方法:需求调研、快速搭建并启动、组件与设计规划、应用设计实现、验证、评审及部署。
Core Principles
核心原则
- Use best judgement for design details: Once the user picks an aesthetic direction and mood, make confident decisions about specific fonts, colors, page layouts, and component behavior. Do not ask the user to specify every detail — use the design reference and your own taste to make creative, distinctive choices.
- Use TaskCreate/TaskUpdate: Track all progress throughout all phases — create the todo list upfront with all phases before starting any work.
- Scaffold early, design with intention: Get the dev server running immediately after discovery so the user has something to look at. Then plan the design and features while the scaffold is live — apply the chosen aesthetic during implementation.
- Live preview feedback loop: The dev server MUST be running before any customization begins. Browse the site via Playwright (+
browser_navigate) to verify every significant change. Do NOT take screenshots — only use accessibility snapshots to check page structure and content.browser_snapshot - Use real images: Source high-quality photos from Unsplash wherever pages need visual content — hero sections, feature cards, about pages, backgrounds, etc. Use URLs with specific photo IDs found via
https://images.unsplash.com/photo-{id}?w={width}&h={height}&fit=crop. Never leave image placeholders or brokenWebSearchtags pointing to nonexistent files.<img> - Git checkpoints: Commit after every individual page and component — each gets its own commit so breaking changes can be reverted.
Constraint: Only static SPA frameworks are supported (React, Vue, Angular, Astro). NOT supported: Next.js, Nuxt.js, Remix, SvelteKit, Liquid.
Initial request: $ARGUMENTS
- 设计细节自主决策:一旦用户选定美学方向和风格基调,即可自信地决定具体字体、颜色、页面布局及组件行为。无需让用户指定每一个细节——结合设计参考和自身审美做出有创意、有特色的选择。
- 使用TaskCreate/TaskUpdate:在所有阶段全程跟踪进度——在开始任何工作前,提前创建包含所有阶段的待办事项列表。
- 尽早搭建框架,有目的地设计:需求调研完成后立即启动开发服务器,让用户能直观看到成果。然后在框架运行的同时规划设计和功能——在实现阶段应用选定的美学风格。
- 实时预览反馈循环:在进行任何定制化操作前,必须确保开发服务器处于运行状态。通过Playwright(+
browser_navigate)浏览站点,验证每一处重要更改。禁止截取屏幕截图——仅使用可访问性快照检查页面结构和内容。browser_snapshot - 使用真实图片:只要页面需要视觉内容(如英雄区、功能卡片、关于页面、背景等),就从Unsplash获取高质量图片。使用格式的URL,通过
https://images.unsplash.com/photo-{id}?w={width}&h={height}&fit=crop获取具体图片ID。绝对不要保留图片占位符或指向不存在文件的无效WebSearch标签。<img> - Git检查点:完成每个独立页面和组件后提交代码——每个页面/组件单独提交,以便在出现问题时可以回滚变更。
约束条件:仅支持静态SPA框架(React、Vue、Angular、Astro)。不支持:Next.js、Nuxt.js、Remix、SvelteKit、Liquid。
初始请求:$ARGUMENTS
Phase 1: Discovery
阶段1:需求调研
Goal: Understand what site needs to be built and what problem it solves
Actions:
-
Create todo list with all 8 phases (see Progress Tracking table)
-
If site purpose is clear from arguments:
- Summarize understanding
- Identify site type (portal, dashboard, landing page, blog, etc.)
-
If site purpose is unclear, use:
AskUserQuestionQuestion Header Options What should the site be called? (e.g., "Contoso Portal", "HR Dashboard") Site Name (free text — use a single generic option so the user types a custom name via "Other") Which frontend framework? Framework React (Recommended), Vue, Angular, Astro What is the site's purpose? Purpose Company Portal, Blog/Content, Dashboard, Landing Page Who is the target audience? Audience Internal (employees, partners), External (public-facing customers) Where should the project be created? Location Current directory, New folder in current directory (Recommended), Any other directory -
Resolve the project location:
- If "Current directory": Project root = .
<cwd> - If "New folder in current directory": Create a folder named inside the cwd. Project root =
__SITE_NAME__.<cwd>/__SITE_NAME__/ - If "Any other directory": Ask for the full path. Verify/create it. Project root = provided path.
After resolving, confirm: "The site will be created at."<resolved path>Store this as.PROJECT_ROOT - If "Current directory": Project root =
-
From the user's answers, derive:
- (Title Case, e.g.,
__SITE_NAME__)Contoso Portal - (kebab-case derived from site name, e.g.,
__SITE_SLUG__)contoso-portal - (one-line description based on name + purpose)
__SITE_DESCRIPTION__
-
Summarize understanding and confirm with user before proceeding
Audience influences site generation:
- Internal: Prioritize data tables, dashboards, authentication, navigation depth, functional over flashy design
- External: Prioritize landing page appeal, SEO-friendly structure, contact forms, clean marketing-oriented layout
Output: Clear statement of site purpose, framework, audience, derived naming values, and project location
目标:明确需要构建的站点类型及其要解决的问题
操作步骤:
-
创建包含全部8个阶段的待办事项列表(参见进度跟踪表格)
-
如果从参数中可明确站点用途:
- 总结对需求的理解
- 确定站点类型(门户、仪表板、着陆页、博客等)
-
如果站点用途不明确,使用询问用户:
AskUserQuestion问题 标题 选项 站点名称是什么?(例如:“Contoso Portal”、“HR Dashboard”) 站点名称 (自由文本——提供一个通用选项,让用户通过“其他”输入自定义名称) 选择哪个前端框架? 框架 React(推荐)、Vue、Angular、Astro 站点的用途是什么? 用途 企业门户、博客/内容平台、仪表板、着陆页 目标受众是谁? 受众 内部用户(员工、合作伙伴)、外部用户(面向公众的客户) 项目应创建在何处? 位置 当前目录、当前目录下的新文件夹(推荐)、其他任意目录 -
确定项目位置:
- 如果选择“当前目录”:项目根目录 = 。
<cwd> - 如果选择“当前目录下的新文件夹”:在当前目录下创建名为的文件夹。项目根目录 =
__SITE_NAME__。<cwd>/__SITE_NAME__/ - 如果选择“其他任意目录”:询问完整路径,验证/创建该目录。项目根目录 = 提供的路径。
确定后,向用户确认:“站点将创建在。”<resolved path>将此路径保存为。PROJECT_ROOT - 如果选择“当前目录”:项目根目录 =
-
根据用户的回答,生成:
- (标题格式,例如:
__SITE_NAME__)Contoso Portal - (由站点名称转换为短横线分隔的格式,例如:
__SITE_SLUG__)contoso-portal - (基于名称和用途的单行描述)
__SITE_DESCRIPTION__
-
总结需求理解,并在继续前获得用户确认
受众对站点生成的影响:
- 内部用户:优先考虑数据表格、仪表板、身份验证、导航深度,设计以功能性为主而非华丽外观
- 外部用户:优先考虑着陆页吸引力、SEO友好结构、联系表单、简洁的营销导向布局
输出:明确的站点用途、框架、受众、生成的命名值及项目位置说明
Phase 2: Scaffold & Launch Dev Server
阶段2:搭建框架并启动开发服务器
Goal: Get a running site immediately so the user has something to preview while features and design are planned
The scaffold is a temporary branded loading screen — it shows a Power Pages animated "Building your site" experience with orbiting elements, status messages, and feature cards. Its only purpose is to get the dev server running quickly so the user has something to look at while you plan and build. During Phase 5 (Implementation), the entire scaffold — including theme.css, Layout, Home page, and all placeholder components — is completely replaced with the user's actual site: their chosen typography, color palette, pages, components, and navigation. Do NOT try to build on top of the loading screen; replace it entirely.
Seefor the full framework → build tool → router → output path mapping.${CLAUDE_PLUGIN_ROOT}/references/framework-conventions.md
Actions:
目标:立即启动可运行的站点,让用户在规划功能和设计时能实时预览
框架是临时的品牌加载界面——它展示Power Pages的动画“正在构建您的站点”效果,包含环绕元素、状态消息和功能卡片。其唯一目的是快速启动开发服务器,让用户在您规划和构建的过程中能看到内容。在阶段5(实现阶段),整个框架——包括theme.css、Layout、主页及所有占位符组件——将完全替换为用户的实际站点:包含选定的排版、调色板、页面、组件和导航。不要尝试在加载界面的基础上进行构建;直接完全替换它。
完整的框架→构建工具→路由→输出路径映射,请参见。${CLAUDE_PLUGIN_ROOT}/references/framework-conventions.md
操作步骤:
2.1 Copy Template
2.1 复制模板
is already resolved to the plugin's absolute path at runtime. Use it directly in Glob/Read paths — do NOT search for the plugin directory.${CLAUDE_PLUGIN_ROOT}
Read and copy all files from the matching asset template to the project directory:
| Framework | Asset Directory |
|---|---|
| React | |
| Vue | |
| Angular | |
| Astro | |
Use to discover all files in the asset directory, each file, then to the project directory preserving the relative path structure.
GlobReadWrite在运行时已解析为插件的绝对路径。直接在Glob/Read路径中使用它——无需搜索插件目录。${CLAUDE_PLUGIN_ROOT}
读取并复制匹配的资产模板中的所有文件到项目目录:
| 框架 | 资产目录 |
|---|---|
| React | |
| Vue | |
| Angular | |
| Astro | |
使用发现资产目录中的所有文件,每个文件,然后到项目目录,保留相对路径结构。
GlobReadWrite2.2 Replace Placeholders
2.2 替换占位符
After copying, replace all tokens in every file. Use with on each file.
__PLACEHOLDER__Editreplace_all: true- Name/slug/description placeholders: Use the actual values from Phase 1 (,
__SITE_NAME__,__SITE_SLUG__).__SITE_DESCRIPTION__
Note: The scaffold loading screen uses hardcoded Power Pages branding colors — there are no color placeholders (, etc.) to replace. The user's chosen color palette is applied fresh during Phase 5 when the scaffold is completely replaced.__PRIMARY_COLOR__
复制完成后,替换所有文件中的标记。对每个文件使用并设置。
__PLACEHOLDER__Editreplace_all: true- 名称/短链接/描述占位符:使用阶段1中生成的实际值(、
__SITE_NAME__、__SITE_SLUG__)。__SITE_DESCRIPTION__
注意:框架加载界面使用硬编码的Power Pages品牌颜色——没有需要替换的颜色占位符(等)。用户选定的调色板将在阶段5完全替换框架时全新应用。__PRIMARY_COLOR__
2.3 Rename gitignore
2.3 重命名gitignore
Rename → in the project root (stored without dot prefix to avoid git interference in the plugin repo).
gitignore.gitignore将项目根目录中的重命名为(在插件仓库中存储时不带点前缀,避免与git冲突)。
gitignore.gitignore2.4 Install Dependencies
2.4 安装依赖
Run before initializing git so that is included in the initial commit:
npm installpackage-lock.jsonpowershell
cd "<PROJECT_ROOT>"
npm install在初始化git之前运行,确保包含在初始提交中:
npm installpackage-lock.jsonpowershell
cd "<PROJECT_ROOT>"
npm install2.5 Initialize Git Repository
2.5 初始化Git仓库
Initialize a git repo and make the first commit. This captures all template files AND in one clean baseline:
package-lock.jsonpowershell
cd "<PROJECT_ROOT>"
git init
git add -A
git commit -m "Initial scaffold: __SITE_NAME__ (__FRAMEWORK__)"From this point, commit after every significant milestone so any breaking change can be reverted.
初始化git仓库并进行第一次提交。这会将所有模板文件和捕获到一个干净的基线中:
package-lock.jsonpowershell
cd "<PROJECT_ROOT>"
git init
git add -A
git commit -m "Initial scaffold: __SITE_NAME__ (__FRAMEWORK__)"从此时起,在每个重要里程碑后提交代码,以便在出现问题时可以回滚任何变更。
2.6 Start Dev Server
2.6 启动开发服务器
This MUST happen now — before any planning or customization begins. The dev server gives the user a live preview while features and design are being planned:
powershell
cd "<PROJECT_ROOT>"
npm run devRun in the background using with . Note the local URL (typically for Vite or for Angular or for Astro).
npm run devBashrun_in_background: truehttp://localhost:5173http://localhost:4200http://localhost:4321**必须立即执行此操作——在任何规划或定制化开始之前。**开发服务器让用户在规划功能和设计时能实时预览:
powershell
cd "<PROJECT_ROOT>"
npm run dev使用在后台运行,设置。记录本地URL(通常Vite为,Angular为,Astro为)。
Bashnpm run devrun_in_background: truehttp://localhost:5173http://localhost:4200http://localhost:43212.7 Verify in Playwright & Share URL
2.7 通过Playwright验证并分享URL
Immediately after the dev server starts, verify the scaffold is working:
- Use to open the dev server URL
mcp__plugin_power-pages_playwright__browser_navigate - Use to verify the page loaded correctly (do NOT take screenshots — only use accessibility snapshots)
mcp__plugin_power-pages_playwright__browser_snapshot - Share the dev server URL with the user so they can preview the site in their own browser (e.g., "Your site is running at — open it in your browser to follow along as I build.")
http://localhost:5173
GATE: Do NOT proceed to Phase 3 until ALL of the following are true:
- Template files copied and placeholders replaced
- Git repo initialized with initial scaffold commit
completed successfullynpm install- Dev server is running in the background (
)npm run dev- Playwright has opened the site and verified it loads via
browser_snapshot- The dev server URL has been shared with the user
If any of these are not done, complete them now before moving on.
Output: Running dev server with verified scaffold, URL shared with user
开发服务器启动后,立即验证框架是否正常工作:
- 使用打开开发服务器URL
mcp__plugin_power-pages_playwright__browser_navigate - 使用验证页面是否正确加载——不要截取屏幕截图,仅使用可访问性快照
mcp__plugin_power-pages_playwright__browser_snapshot - 与用户分享开发服务器URL,让他们可以在自己的浏览器中预览站点(例如:“您的站点正在运行——在浏览器中打开它,跟随我一起构建。”)
http://localhost:5173
关卡:在以下所有条件满足之前,不要进入阶段3:
- 模板文件已复制且占位符已替换
- Git仓库已初始化并完成初始框架提交
已成功完成npm install- 开发服务器在后台运行(
)npm run dev- Playwright已打开站点并通过
验证其可加载browser_snapshot- 已与用户分享开发服务器URL
如果有任何条件未满足,先完成这些操作再继续。
输出:已验证的可运行框架开发服务器,且URL已分享给用户
Phase 3: Component Planning
阶段3:组件规划
Goal: Determine what pages, components, and design elements the site needs — while the user previews the running scaffold
Actions:
-
Useto collect feature and design requirements:
AskUserQuestionQuestion Header Options Which features? (multi-select) Features (generate 3-4 context-aware options based on the site name, purpose, and audience from Phase 1) What aesthetic direction do you want? Aesthetic Minimal & Clean (Recommended), Bold & Vibrant, Dark & Moody, Warm & Organic What's the overall mood? Mood Professional & Trustworthy (Recommended), Creative & Playful, Technical & Precise, Elegant & Premium Feature options are NOT hardcoded. Infer relevant features from Phase 1 answers. For example:- "HR Dashboard" + Internal → Employee Directory, Leave Requests, Announcements, Org Chart
- "Contoso Portal" + External → Contact Form, Service Catalog, Knowledge Base, FAQ
- "Partner Hub" + Internal → Document Library, Partner Directory, Deal Tracker, Notifications
Always generate options that make sense for the specific site — never reuse a fixed list. -
Read the design aesthetics reference:
${CLAUDE_PLUGIN_ROOT}/skills/create-site/references/design-aesthetics.md -
Map aesthetic + mood to design choices using the Aesthetic x Mood Mapping table from the design reference. Record the chosen font direction, color direction, and motion direction.
-
Analyze requirements and determine needed components. Present component plan to user as a table:
| Component Type | Count | Details | |---------------------|-------|---------| | Pages | 4 | Home, About, Services, Contact | | Shared Components | 3 | Navbar, Footer, ContactForm | | Design Elements | 4 | Google Fonts (Playfair Display + Source Sans Pro), Color palette (6 CSS vars), Page transitions, Gradient backgrounds | | Routes | 4 | /, /about, /services, /contact | -
Use best judgement to determine the final color palette based on the chosen aesthetic + mood. These will be written fresh into a newduring Implementation (Phase 5) when the scaffold loading screen is completely replaced:
theme.cssCSS Variable Description Value --color-primaryPrimary hex color (choose based on aesthetic + mood) --color-secondaryComplementary hex color (choose based on aesthetic + mood) --color-bgBackground color (choose based on aesthetic + mood) --color-surfaceSurface/card color (choose based on aesthetic + mood) --color-textMain text color (choose based on aesthetic + mood) --color-text-mutedMuted text color (choose based on aesthetic + mood)
Output: Confirmed list of pages, components, design elements, and routes to create
目标:确定站点所需的页面、组件和设计元素——同时让用户预览运行中的框架
操作步骤:
-
使用收集功能和设计需求:
AskUserQuestion问题 标题 选项 需要哪些功能?(可多选) 功能 (根据阶段1的站点名称、用途和受众生成3-4个上下文相关的选项) 您想要哪种美学方向? 美学风格 极简干净(推荐)、大胆活力、深色氛围、温暖自然 整体风格基调是什么? 风格基调 专业可信(推荐)、创意趣味、技术精准、优雅高端 功能选项并非硬编码。根据阶段1的回答推断相关功能。例如:- “HR Dashboard” + 内部用户 → 员工目录、请假申请、公告、组织架构图
- “Contoso Portal” + 外部用户 → 联系表单、服务目录、知识库、常见问题
- “Partner Hub” + 内部用户 → 文档库、合作伙伴目录、交易跟踪器、通知
始终生成适合特定站点的选项——不要重复使用固定列表。 -
读取设计美学参考:
${CLAUDE_PLUGIN_ROOT}/skills/create-site/references/design-aesthetics.md -
使用设计参考中的美学×风格基调映射表,将美学风格+风格基调映射为设计选择。记录选定的字体方向、颜色方向和动效方向。
-
分析需求并确定所需组件。以表格形式向用户展示组件规划:
| 组件类型 | 数量 | 详情 | |---------------------|-------|---------| | 页面 | 4 | 主页、关于我们、服务、联系我们 | | 共享组件 | 3 | 导航栏、页脚、联系表单 | | 设计元素 | 4 | Google Fonts(Playfair Display + Source Sans Pro)、调色板(6个CSS变量)、页面过渡、渐变背景 | | 路由 | 4 | /, /about, /services, /contact | -
根据选定的美学风格+风格基调,自主决定最终的调色板。这些将在实现阶段(阶段5)完全替换框架时,全新写入新的中:
theme.cssCSS变量 描述 值 --color-primary主色调十六进制值 (根据美学风格+风格基调选择) --color-secondary辅助色十六进制值 (根据美学风格+风格基调选择) --color-bg背景色 (根据美学风格+风格基调选择) --color-surface表面/卡片色 (根据美学风格+风格基调选择) --color-text主文本色 (根据美学风格+风格基调选择) --color-text-muted次要文本色 (根据美学风格+风格基调选择)
输出:已确认的要创建的页面、组件、设计元素和路由列表
Phase 4: Plan Approval
阶段4:规划审批
Goal: Get user approval on the implementation plan
Actions:
-
Read the design aesthetics reference:
${CLAUDE_PLUGIN_ROOT}/skills/create-site/references/design-aesthetics.md -
Present the implementation plan directly to the user as a formatted message. The plan MUST have ALL of the following sections:Section A — Design & Pages
- Pages to create (with content outline for each)
- Components needed for each page
- Routing and navigation structure
- Design decisions (from the chosen design direction):
- Typography: specific Google Fonts chosen
- Color palette: full CSS variable set with hex values (replacing the scaffold defaults)
- Motion/animation plan: page load, hover states, transitions
- Background treatment: gradients, patterns, effects
Section B — Review & Deployment- What to verify before handoff
- Deployment options
CRITICAL: The plan is written for the user — do NOT reference internal phase numbers, tool names, or implementation details. Describe what will be built and what it will look like. The scaffold is already running — this plan covers what will be built on top of it. -
Useto get approval:
AskUserQuestionQuestion Header Options Does this plan look good? Plan Approve and start building (Recommended), I'd like to make changes - If "Approve": Proceed to Phase 5.
- If "I'd like to make changes": Ask what they want changed, update the plan, and re-present for approval.
Output: Approved implementation plan
目标:获取用户对实施规划的批准
操作步骤:
-
读取设计美学参考:
${CLAUDE_PLUGIN_ROOT}/skills/create-site/references/design-aesthetics.md -
以格式化消息的形式直接向用户展示实施规划。规划必须包含以下所有部分:A部分——设计与页面
- 要创建的页面(包含每个页面的内容大纲)
- 每个页面所需的组件
- 路由和导航结构
- 设计决策(基于选定的设计方向):
- 排版:选定的具体Google Fonts
- 调色板:完整的CSS变量集及十六进制值(替换框架默认值)
- 动效/动画规划:页面加载、悬停状态、过渡效果
- 背景处理:渐变、图案、特效
B部分——评审与部署- 移交前需要验证的内容
- 部署选项
关键:规划是为用户编写的——不要引用内部阶段编号、工具名称或实现细节。描述将要构建的内容及其外观。框架已在运行——此规划涵盖将在其基础上构建的内容。 -
使用获取批准:
AskUserQuestion问题 标题 选项 此规划是否可行? 规划审批 批准并开始构建(推荐)、我想要修改 - 如果选择“批准”:进入阶段5。
- 如果选择“我想要修改”:询问用户想要修改的内容,更新规划并重新提交审批。
输出:已批准的实施规划
Phase 5: Implementation
阶段5:实现
Goal: Build all pages, components, and design elements with the chosen aesthetic applied from the start
Prerequisite: The dev server MUST already be running and verified via Playwright (completed in Phase 2). If it is not, go back and complete Phase 2.Design reference: Readand apply its principles throughout this phase. All pages and components should be built with the chosen typography, color palette, motion, and backgrounds from the start — do NOT build with neutral styling first and redesign later.${CLAUDE_PLUGIN_ROOT}/skills/create-site/references/design-aesthetics.md
Actions:
目标:构建所有页面、组件和设计元素,从一开始就应用选定的美学风格
前提条件:开发服务器必须已运行并通过Playwright验证(阶段2已完成)。如果未完成,返回阶段2完成相关操作。设计参考:读取,并在本阶段全程应用其原则。所有页面和组件从一开始就应使用选定的排版、调色板、动效和背景——不要先构建中性样式再重新设计。${CLAUDE_PLUGIN_ROOT}/skills/create-site/references/design-aesthetics.md
操作步骤:
5.1 Create Todos for All Work
5.1 为所有工作创建待办事项
Before writing any code, use to create a todo for every piece of work. This gives the user full visibility into what will be built:
TaskCreate- One todo per page — e.g., "Create Contact page ()", "Create Dashboard page (
/contact)"/dashboard - One todo per shared component — e.g., "Create ContactForm component", "Create DataTable component"
- One todo for routing — "Update router with all new routes"
- One todo for navigation — "Update Layout/Header with navigation links"
- One todo for design foundations — "Apply design tokens (fonts, colors, motion, backgrounds)"
Each todo should have a clear , , and that includes the file path and what the page/component does. Then work through the todos in order, marking each → .
subjectactiveFormdescriptionin_progresscompleted在编写任何代码之前,使用为每一项工作创建待办事项。这让用户能完全了解将要构建的内容:
TaskCreate- 每个页面一个待办事项——例如:“创建联系我们页面()”、“创建仪表板页面(
/contact)”/dashboard - 每个共享组件一个待办事项——例如:“创建联系表单组件”、“创建数据表格组件”
- 一个路由待办事项——“更新路由以包含所有新路由”
- 一个导航待办事项——“更新Layout/Header以包含导航链接”
- 一个设计基础待办事项——“应用设计标记(字体、颜色、动效、背景)”
每个待办事项应包含清晰的、和,其中包含文件路径和页面/组件的功能。然后按顺序处理待办事项,将每个待办事项标记为 → 。
subjectactiveFormdescriptionin_progresscompleted5.2 Replace the Scaffold & Build
5.2 替换框架并构建
The scaffold is a temporary loading screen — it must be completely replaced during this phase. Do NOT build on top of it or try to modify the loading animation into a real page. Start fresh with the user's chosen design.
- Design foundations — Completely rewrite (or
theme.cssfor Angular) from scratch with the chosen color palette as CSS custom properties, Google Fonts, motion/animation utilities, and background treatments. The scaffold's loading screen CSS is discarded entirely. Commit after this step.styles.css - Layout — Rewrite the Layout component (and Header/Footer for Astro) with proper navigation, header, and footer that reflect the chosen design. The scaffold's passthrough Layout is replaced with a real layout structure.
- Shared components — Build reusable components (Navbar, Footer, ContactForm, etc.) that pages will use
- Pages — Create route components for each requested page, replacing the scaffold Home page and About placeholder entirely
- Router — Register all new routes (the scaffold only has and
/— add all requested routes)/about - Navigation — Add links to the new Layout/Header component
- Entry HTML — Update (or
index.htmlfor Astro) to load the chosen Google Fonts instead of the scaffold's DM Sans + OutfitLayout.astro
Important: Build real, functional UI with distinctive design applied — not placeholder "coming soon" pages, and not generic unstyled markup. Every page and component should reflect the chosen aesthetic from the moment it's created. The scaffold loading screen should be completely gone after this phase — no trace of the Power Pages branded animation should remain.
框架是临时的加载界面——在本阶段必须完全替换。不要在其基础上构建或尝试将加载动画修改为真实页面。从用户选定的设计开始全新构建。
- 设计基础——完全重写(Angular为
theme.css),从头开始创建包含选定调色板(作为CSS自定义属性)、Google Fonts、动效/动画工具类和背景处理的样式文件。框架的加载界面CSS将完全丢弃。此步骤完成后提交代码。styles.css - 布局——重写Layout组件(Astro为Header/Footer),创建符合选定设计的适当导航、页眉和页脚。框架的传递式Layout将替换为真实的布局结构。
- 共享组件——构建页面将使用的可复用组件(导航栏、页脚、联系表单等)
- 页面——为每个请求的页面创建路由组件,完全替换框架的主页和关于我们占位符
- 路由——注册所有新路由(框架只有和
/——添加所有请求的路由)/about - 导航——在新的Layout/Header组件中添加链接
- 入口HTML——更新(Astro为
index.html)以加载选定的Google Fonts,替换框架的DM Sans + OutfitLayout.astro
重要提示:构建具有独特设计的真实功能UI——不要使用占位符“即将推出”页面,也不要使用通用的无样式标记。每个页面和组件从创建之初就应体现选定的美学风格。本阶段完成后,框架加载界面应完全消失——不应留下任何Power Pages品牌动画的痕迹。
5.3 Source Real Images
5.3 获取真实图片
Use high-quality photos from Unsplash wherever the site needs visual content. Do NOT use placeholder services (e.g., , ), broken tags, or leave empty image slots.
placeholder.complacehold.co<img>How to find images:
- Use to search Unsplash for relevant photos (e.g.,
WebSearch)site:unsplash.com modern office workspace - Pick specific photos and use their direct URL with sizing parameters:
https://images.unsplash.com/photo-{id}?w={width}&h={height}&fit=crop - Choose images that match the site's aesthetic and mood
Where to use images:
- Hero sections — Striking, high-resolution photos that set the tone for the site
- Feature/service cards — Relevant photos that illustrate each feature or service
- About/team sections — Professional or contextual photos matching the site's purpose
- Backgrounds — Atmospheric photos used as full-bleed or overlay backgrounds
- Content sections — Supporting photos that break up text and add visual interest
Guidelines:
- Pick images that feel cohesive together — consistent style, lighting, and color tone
- Use appropriate sizing (for cards,
w=800for heroes/backgrounds) to avoid slow loadsw=1600 - Add descriptive text to every
altfor accessibility<img> - For icons and logos, use inline SVGs instead of photos
在站点需要视觉内容的地方,使用Unsplash的高质量图片。不要使用占位符服务(如、)、无效的标签或留下空的图片位置。
placeholder.complacehold.co<img>如何查找图片:
- 使用在Unsplash上搜索相关图片(例如:
WebSearch)site:unsplash.com modern office workspace - 选择具体图片并使用带尺寸参数的直接URL:
https://images.unsplash.com/photo-{id}?w={width}&h={height}&fit=crop - 选择与站点美学风格和基调匹配的图片
图片使用位置:
- 英雄区——醒目的高分辨率图片,奠定站点基调
- 功能/服务卡片——说明每个功能或服务的相关图片
- 关于我们/团队部分——与站点用途匹配的专业或相关图片
- 背景——用作全屏或叠加背景的氛围图片
- 内容部分——分隔文本并增加视觉吸引力的辅助图片
准则:
- 选择风格、光线和色调一致的图片,保持整体协调性
- 使用合适的尺寸(卡片用,英雄区/背景用
w=800)以避免加载缓慢w=1600 - 为每个添加描述性的
<img>文本,确保可访问性alt - 对于图标和标志,使用内联SVG而非图片
5.4 Git Commit Checkpoints
5.4 Git提交检查点
Commit after every individual page and component so breaking changes can be reverted. Each page and each component gets its own commit — do NOT batch multiple pages or components into a single commit.
powershell
git add -A
git commit -m "<short description of what was added/changed>"When to commit:
- After applying design foundations (fonts, colors, motion)
- After creating each page (e.g., "Add Home page", "Add Contact page")
- After creating each shared component (e.g., "Add Navbar component", "Add Footer component")
- After updating routing and navigation
- Before attempting anything risky or experimental
If something breaks, revert to the last good commit:
powershell
git revert HEAD每个页面和组件完成后提交代码,以便在出现问题时可以回滚变更。每个页面和组件单独提交——不要将多个页面或组件批量提交。
powershell
git add -A
git commit -m "<对添加/更改内容的简短描述>"提交时机:
- 应用设计基础(字体、颜色、动效)后
- 创建每个页面后(例如:“添加主页”、“添加联系我们页面”)
- 创建每个共享组件后(例如:“添加导航栏组件”、“添加页脚组件”)
- 更新路由和导航后
- 尝试任何有风险或实验性的操作之前
如果出现问题,回滚到上一个正确的提交:
powershell
git revert HEAD5.5 Live Verification
5.5 实时验证
After each significant change (new page or component), browse the site via Playwright to ensure everything is up to the mark:
- Use to reload or navigate to the updated page
mcp__plugin_power-pages_playwright__browser_navigate - Use to verify the page structure and content are correct — do NOT take screenshots
mcp__plugin_power-pages_playwright__browser_snapshot - If something looks wrong in the snapshot, fix it before proceeding
The user is previewing in their own browser via the dev server URL shared in Phase 2.7.
GATE: Do NOT proceed to Phase 6 until ALL customization is complete with design applied. The site must have distinctive typography (Google Fonts — no generic Inter/Roboto/Arial), a cohesive color palette (CSS variables), motion/animations, and all requested pages/features before moving to accessibility verification.
Output: All pages, components, and design elements implemented and verified
每次进行重大变更(新页面或组件)后,通过Playwright浏览站点,确保一切符合要求:
- 使用重新加载或导航到更新后的页面
mcp__plugin_power-pages_playwright__browser_navigate - 使用验证页面结构和内容是否正确——不要截取屏幕截图
mcp__plugin_power-pages_playwright__browser_snapshot - 如果快照显示有问题,先修复再继续
用户通过阶段2.7中分享的开发服务器URL,在自己的浏览器中预览站点。
**关卡:在所有定制化完成并应用设计之前,不要进入阶段6。**站点必须具有独特的排版(Google Fonts——不使用通用的Inter/Roboto/Arial)、协调的调色板(CSS变量)、动效/动画,以及所有请求的页面/功能,然后才能进入可访问性验证。
输出:所有页面、组件和设计元素已实现并验证
Phase 6: Accessibility Verification
阶段6:可访问性验证
Goal: Verify the site meets WCAG 2.2 AA standards using axe-core automated testing and fix any violations
Prerequisite: All pages and components must be fully implemented (Phase 5 complete). The dev server MUST be running.
Actions:
目标:使用axe-core自动化测试验证站点是否符合WCAG 2.2 AA标准,并修复任何违规问题
前提条件:所有页面和组件已完全实现(阶段5已完成)。开发服务器必须运行。
操作步骤:
6.1 Install Playwright Dependency
6.1 安装Playwright依赖
Install as a dev dependency in the project so the audit script can launch a headless browser. This uses the system-installed browser (Edge/Chrome) — no browser download is needed:
playwrightpowershell
cd "<PROJECT_ROOT>"
npm install --save-dev playwright在项目中安装作为开发依赖,以便审计脚本可以启动无头浏览器。这使用系统安装的浏览器(Edge/Chrome)——无需下载浏览器:
playwrightpowershell
cd "<PROJECT_ROOT>"
npm install --save-dev playwright6.2 Run axe-core Audit on Every Page
6.2 对每个页面运行axe-core审计
Run the audit script via , passing the dev server URL and all site routes:
Bashpowershell
node "${CLAUDE_PLUGIN_ROOT}/skills/create-site/scripts/axe-audit.js" --url <DEV_SERVER_URL> --routes /,/about,/services,/contact --project-root "<PROJECT_ROOT>"The script launches a headless browser, navigates to each route, injects axe-core from CDN, runs the analysis, and outputs a JSON array of per-route results to stdout. Each result contains (with , , , , and affected ), count, and count. The script exits with code 1 if any or violations are found.
violationsidimpactdescriptionhelpUrlnodespassesincompletecriticalseriousParse the JSON output and record all violations.
通过运行审计脚本,传入开发服务器URL和所有站点路由:
Bashpowershell
node "${CLAUDE_PLUGIN_ROOT}/skills/create-site/scripts/axe-audit.js" --url <DEV_SERVER_URL> --routes /,/about,/services,/contact --project-root "<PROJECT_ROOT>"该脚本启动无头浏览器,导航到每个路由,从CDN注入axe-core,运行分析,并将每个路由的结果以JSON数组输出到标准输出。每个结果包含(包含、、、和受影响的)、计数和计数。如果发现任何或违规,脚本将以代码1退出。
violationsidimpactdescriptionhelpUrlnodespassesincompletecriticalserious解析JSON输出并记录所有违规问题。
6.3 Fix Accessibility Violations
6.3 修复可访问性违规问题
For each violation found, identify the source file and apply the fix:
| Violation | Fix |
|---|---|
Missing | Add descriptive |
| Insufficient color contrast | Adjust CSS color variables to meet 4.5:1 (normal text) or 3:1 (large text) ratios |
| Missing form labels | Add |
| Missing landmark regions | Wrap content in |
| Skipped heading levels | Correct heading hierarchy (h1 → h2 → h3, no gaps) |
| Missing link text | Add descriptive text or |
Missing | Add |
| Inadequate focus indicators | Add visible |
After fixing each group of related violations, commit:
powershell
git add -A
git commit -m "Fix accessibility: <violation description>"针对发现的每个违规问题,识别源文件并应用修复:
| 违规问题 | 修复方案 |
|---|---|
图片缺少 | 为 |
| 颜色对比度不足 | 调整CSS颜色变量,使其达到4.5:1(普通文本)或3:1(大文本)的比率 |
| 表单缺少标签 | 添加 |
| 缺少地标区域 | 将内容包裹在 |
| 标题层级跳跃 | 修正标题层级(h1 → h2 → h3,无间隔) |
| 链接缺少文本 | 为链接添加描述性文本或 |
缺少 | 为 |
| 焦点指示器不明显 | 为交互元素添加可见的 |
修复每组相关违规问题后提交代码:
powershell
git add -A
git commit -m "修复可访问性:<违规问题描述>"6.4 Re-verify After Fixes
6.4 修复后重新验证
After all fixes are applied, re-run the audit script (same command as 6.2) to confirm violations are resolved:
- If new violations appear (e.g., a fix introduced a regression), repeat 6.3–6.4
- Continue until the script exits with code 0 (zero and
criticalviolations)serious
Present a summary table to the user:
| Page | Route | Violations Found | Violations Fixed | Status |
|------|-------|-----------------|-----------------|--------|
| Home | / | 3 | 3 | Pass |
| About | /about | 1 | 1 | Pass |
| Contact | /contact | 2 | 2 | Pass |
| **Total** | | **6** | **6** | **All passing** |GATE: Do NOT proceed to Phase 7 until all pages pass axe-core with zeroandcriticalviolations. Minor and moderate violations should also be fixed where possible, but are not blocking.serious
Output: Accessibility-verified site with zero critical/serious axe-core violations
所有修复完成后,重新运行审计脚本(与6.2中的命令相同),确认违规问题已解决:
- 如果出现新的违规问题(例如:修复引入了回归),重复6.3–6.4步骤
- 持续执行,直到脚本以代码0退出(无或
critical违规问题)serious
向用户展示汇总表格:
| 页面 | 路由 | 发现的违规问题 | 已修复的违规问题 | 状态 |
|------|-------|-----------------|-----------------|--------|
| 主页 | / | 3 | 3 | 通过 |
| 关于我们 | /about | 1 | 1 | 通过 |
| 联系我们 | /contact | 2 | 2 | 通过 |
| **总计** | | **6** | **6** | **全部通过** |**关卡:在所有页面通过axe-core审计且无或critical违规问题之前,不要进入阶段7。**次要和中等违规问题也应尽可能修复,但不构成阻塞。serious
输出:通过可访问性验证的站点,无严重/关键axe-core违规问题
Phase 7: Review & User Testing
阶段7:评审与用户测试
Goal: Ensure the site meets user expectations and all pages work correctly
Actions:
-
Browse through each page via Playwright (+
browser_navigate) to verify all pages load correctly — do NOT take screenshotsbrowser_snapshot -
Present a summary of what was built:
| Component Type | Count | Details | |---------------------|-------|---------| | Pages | 4 | Home (/), About (/about), Services (/services), Contact (/contact) | | Shared Components | 3 | Navbar, Footer, ContactForm | | Design Elements | 4 | Playfair Display + Source Sans Pro, 6 CSS variables, fade-in transitions, gradient backgrounds | | Git Commits | 7 | scaffold + 6 feature commits | -
Share the dev server URL with the user and list all available routes
-
Ask the user to review using:
AskUserQuestion"The site is ready for review at. Please check it out in your browser. Would you like any changes?"<dev server URL> -
If the user requests changes, apply them and re-verify by browsing via
browser_snapshot
Output: User-approved site ready for deployment
目标:确保站点符合用户期望且所有页面正常工作
操作步骤:
-
通过Playwright浏览每个页面(+
browser_navigate),验证所有页面是否正确加载——不要截取屏幕截图browser_snapshot -
向用户展示构建内容的汇总:
| 组件类型 | 数量 | 详情 | |---------------------|-------|---------| | 页面 | 4 | 主页(/), 关于我们(/about), 服务(/services), 联系我们(/contact) | | 共享组件 | 3 | 导航栏、页脚、联系表单 | | 设计元素 | 4 | Playfair Display + Source Sans Pro, 6个CSS变量, 淡入过渡, 渐变背景 | | Git提交 | 7 | 框架 + 6个功能提交 | -
与用户分享开发服务器URL并列出所有可用路由
-
使用请用户评审:
AskUserQuestion“站点已准备好评审,访问地址为。请在浏览器中查看。您需要进行任何修改吗?”<dev server URL> -
如果用户要求修改,应用修改并通过重新验证
browser_snapshot
输出:用户已批准、可部署的站点
Phase 8: Deployment & Next Steps
阶段8:部署与后续步骤
Goal: Deploy the site and suggest enhancements
This phase is MANDATORY. Do NOT end the session without asking about deployment.
Actions:
-
Record skill usage:Reference:
${CLAUDE_PLUGIN_ROOT}/references/skill-tracking-reference.mdFollow the skill tracking instructions in the reference to record this skill's usage. Use. Note:--skillName "CreateSite"may not exist for first-time sites — the script exits silently..powerpages-site -
Usewith options: Deploy now (Recommended), Skip for now:
AskUserQuestion"Would you like to deploy your site to Power Pages now?" -
If the user chooses to deploy, invoke theskill.
/deploy-site -
Mark all todos complete
-
Present a final summary:
- Site name and purpose
- Framework and project location
- Components created (X pages, Y components, Z design elements)
- Key files and their purposes
- Total file count and git commit count
-
Suggest optional enhancement skills:
- — Create Dataverse tables for dynamic content
/setup-datamodel - — Add meta tags, robots.txt, sitemap.xml, favicon
/add-seo - — Add unit tests (Vitest) and E2E tests (Playwright)
/add-tests
Output: Deployed (or deployment-ready) site with clear next steps
目标:部署站点并建议增强功能
本阶段为必填项。不要在未询问部署的情况下结束会话。
操作步骤:
-
记录Skill使用情况:参考:
${CLAUDE_PLUGIN_ROOT}/references/skill-tracking-reference.md按照参考中的Skill跟踪说明,记录本次Skill的使用情况。使用。注意:首次创建的站点可能不存在--skillName "CreateSite"——脚本将静默退出。.powerpages-site -
使用提供选项:立即部署(推荐)、暂时跳过:
AskUserQuestion“您现在想要将站点部署到Power Pages吗?” -
如果用户选择部署,调用Skill。
/deploy-site -
将所有待办事项标记为完成
-
展示最终汇总:
- 站点名称和用途
- 框架和项目位置
- 创建的组件(X个页面、Y个组件、Z个设计元素)
- 关键文件及其用途
- 总文件数和Git提交数
-
建议可选的增强Skill:
- ——为动态内容创建Dataverse表格
/setup-datamodel - ——添加元标签、robots.txt、sitemap.xml、网站图标
/add-seo - ——添加单元测试(Vitest)和端到端测试(Playwright)
/add-tests
输出:已部署(或可部署)的站点,以及清晰的后续步骤建议
Important Notes
重要说明
Throughout All Phases
所有阶段通用
- Use TaskCreate/TaskUpdate to track progress at every phase
- Ask for user confirmation at key decision points (see list below)
- Use best judgement for design details — make confident, creative choices based on the user's aesthetic + mood selection without asking for every specific font, color, or layout decision
- Apply design from the start — never build neutral then restyle
- Verify via Playwright after every significant change
- Commit after every page and component — each gets its own dedicated commit, never batch multiple together
- No screenshots — only use (accessibility snapshots) to verify pages; never use
browser_snapshotas it clutters the user's directory. Give the user the dev server URL for visual preview.browser_take_screenshot
- 使用TaskCreate/TaskUpdate在每个阶段跟踪进度
- 在关键决策点请求用户确认(参见下方列表)
- 自主决策设计细节——根据用户选定的美学风格+风格基调,做出自信、有创意的选择,无需询问每个具体的字体、颜色或布局决策
- 从一开始就应用设计——永远不要先构建中性样式再重新设计
- 每次重大变更后通过Playwright验证
- 每个页面和组件完成后提交代码——每个页面/组件单独提交,永远不要批量提交
- 不要截取屏幕截图——仅使用(可访问性快照)验证页面;永远不要使用
browser_snapshot,因为它会占用用户的目录空间。将开发服务器URL提供给用户进行视觉预览。browser_take_screenshot
Key Decision Points (Wait for User)
关键决策点(等待用户确认)
- After Phase 1: Confirm site purpose, framework, and project location
- After Phase 4: Approve implementation plan
- After Phase 7: Accept site or request changes
- At Phase 8: Deploy or skip
- 阶段1后:确认站点用途、框架和项目位置
- 阶段4后:批准实施规划
- 阶段7后:接受站点或请求修改
- 阶段8时:部署或跳过
Progress Tracking
进度跟踪
Before starting Phase 1, create a task list with all phases using :
TaskCreate| Task subject | activeForm | Description |
|---|---|---|
| Discover site requirements | Discovering requirements | Collect site name, framework, purpose, audience, and project location |
| Scaffold and launch dev server | Scaffolding project | Copy template, replace placeholders with defaults, git init, npm install, start dev server, share URL |
| Plan site components | Planning components | Determine pages, components, design direction, and routes while user previews scaffold |
| Approve implementation plan | Getting plan approval | Present implementation plan covering design and pages, get user approval |
| Implement pages and components | Building site | Apply chosen design tokens, create all pages, components, routing, navigation |
| Verify accessibility with axe-core | Verifying accessibility | Run axe-core on every page, fix all critical/serious violations, re-verify until passing |
| Review with user | Reviewing site | Navigate all pages, share URL, get user feedback, apply changes |
| Deploy and wrap up | Deploying site | Ask about deployment, present summary, suggest next steps |
Mark each task when starting it and when done via . This gives the user visibility into progress and keeps the workflow deterministic.
in_progresscompletedTaskUpdate在开始阶段1之前,使用创建包含所有阶段的任务列表:
TaskCreate| 任务主题 | activeForm | 描述 |
|---|---|---|
| 调研站点需求 | Discovering requirements | 收集站点名称、框架、用途、受众和项目位置 |
| 搭建框架并启动开发服务器 | Scaffolding project | 复制模板,用默认值替换占位符,初始化git,安装npm依赖,启动开发服务器,分享URL |
| 规划站点组件 | Planning components | 确定页面、组件、设计方向和路由,同时让用户预览框架 |
| 审批实施规划 | Getting plan approval | 展示包含设计与页面的实施规划,获取用户批准 |
| 实现页面和组件 | Building site | 应用选定的设计标记,创建所有页面、组件、路由、导航 |
| 使用axe-core验证可访问性 | Verifying accessibility | 在所有页面上运行axe-core,修复所有严重/关键违规问题,重新验证直到通过 |
| 与用户评审 | Reviewing site | 导航所有页面,分享URL,获取用户反馈,应用修改 |
| 部署与收尾 | Deploying site | 询问部署事宜,展示汇总,建议后续步骤 |
开始每个任务时将其标记为完成后标记为,使用。这让用户能看到进度,并保持工作流程的确定性。
in_progresscompletedTaskUpdateQuality Standards
质量标准
Every site must meet these standards before completion:
- Distinctive typography via Google Fonts (no generic Inter/Roboto/Arial)
- Cohesive color palette via CSS variables
- Motion/animations (page transitions, hover states)
- All requested pages and features implemented (not placeholders)
- All routes working and navigation complete
- Accessibility verified via axe-core — zero critical/serious violations on all pages
- Git commits at key milestones
- Verified via Playwright
- User reviewed and approved
- Deployment offered
每个站点在完成前必须满足以下标准:
- 通过Google Fonts使用独特的排版(不使用通用的Inter/Roboto/Arial)
- 通过CSS变量实现协调的调色板
- 动效/动画(页面过渡、悬停状态)
- 所有请求的页面和功能已实现(非占位符)
- 所有路由正常工作,导航完整
- 通过axe-core验证可访问性——所有页面无严重/关键违规问题
- 在关键里程碑处进行Git提交
- 通过Playwright验证
- 已通过用户评审和批准
- 已提供部署选项
Example Workflow
示例工作流
User Request
用户请求
"Create a partner portal for our consultants"
“为我们的顾问创建一个合作伙伴门户”
Phase 1: Discovery
阶段1:需求调研
- Name: Partner Portal
- Framework: React
- Purpose: Company Portal
- Audience: Internal (partners, consultants)
- Location: New folder in current directory
partner-portal
- 名称:合作伙伴门户
- 框架:React
- 用途:企业门户
- 受众:内部用户(合作伙伴、顾问)
- 位置:当前目录下的新文件夹
partner-portal
Phase 2: Scaffold & Launch
阶段2:搭建框架并启动
- React template copied, default placeholders replaced
- Git initialized, npm installed, dev server running at
http://localhost:5173 - Playwright verified scaffold loads
- URL shared with user — they can preview immediately
- React模板已复制,默认占位符已替换
- Git已初始化,npm依赖已安装,开发服务器在运行
http://localhost:5173 - Playwright验证框架可加载
- URL已分享给用户——他们可以立即预览
Phase 3: Component Planning
阶段3:组件规划
- Features: Consultant Directory, Project Tracker, Document Library, Announcements
- Aesthetic: Minimal & Clean
- Mood: Professional & Trustworthy
- Component table presented and approved
- Design choices made: DM Sans + Space Grotesk, primary, blue-gray palette
#1e3a5f
- 功能:顾问目录、项目跟踪器、文档库、公告
- 美学风格:极简干净
- 风格基调:专业可信
- 组件表格已展示并批准
- 设计选择:DM Sans + Space Grotesk,主色调,蓝灰色调色板
#1e3a5f
Phase 4: Plan Approval
阶段4:规划审批
- Plan presented inline with design & pages + review & deployment sections
- User approved via AskUserQuestion
- 以内联形式展示规划,包含设计与页面+评审与部署部分
- 用户通过AskUserQuestion批准
Phase 5: Implementation
阶段5:实现
- Todos created for each page, component, routing, navigation, design foundations
- Built in order: design tokens (replace defaults with chosen palette) → shared components → pages → router → nav
- Git commits after each major piece
- Playwright verified each page
- 为每个页面、组件、路由、导航、设计基础创建待办事项
- 按顺序构建:设计标记(用选定的调色板替换默认值)→ 共享组件 → 页面 → 路由 → 导航
- 每个主要部分完成后进行Git提交
- Playwright验证每个页面
Phase 6: Accessibility Verification
阶段6:可访问性验证
- axe-core injected and run on all 4 pages via
browser_evaluate - Found 5 violations: 2 missing alt text, 1 insufficient contrast, 1 missing lang attribute, 1 skipped heading level
- All violations fixed in source code and committed
- Re-run confirmed zero critical/serious violations across all pages
- 通过在所有4个页面上注入并运行axe-core
browser_evaluate - 发现5个违规问题:2个缺少alt文本,1个对比度不足,1个缺少lang属性,1个标题层级跳跃
- 所有违规问题已在源代码中修复并提交
- 重新运行验证,确认所有页面无严重/关键违规问题
Phase 7: Review
阶段7:评审
- Summary table presented
- User reviewed at , requested minor color adjustment
http://localhost:5173 - Adjustment applied, re-verified
- 展示汇总表格
- 用户在评审,要求进行微小的颜色调整
http://localhost:5173 - 调整已应用并重新验证
Phase 8: Deploy
阶段8:部署
- User chose to deploy → invoked
/deploy-site - Final summary presented with next step suggestions
Begin with Phase 1: Discovery
- 用户选择部署 → 调用
/deploy-site - 展示最终汇总及后续步骤建议
从阶段1:需求调研开始