Experience现代化代理的提示指南 prompting-guide
体验现代化代理会根据自然语言请求自动选择相应的技能。 本指南提供了有效提示的技巧并描述了技能的作用。
一般提示 general-tips
有些技能取决于其他技能的产出。 dependency
- 由于批量导入需要页面迁移创建的导入基础结构,因此请在运行批量导入之前至少迁移一个页面。
- 由于块CSS引用全局设计令牌,因此请在为各个块设置样式之前完成站点范围的设计。
AI遵循结构化工作流,并在需要更多信息时提出澄清问题。 workflows
- 信任该过程,并在问题出现时回答这些问题。
- 不要尝试在初始提示中预先加载所有要求。
在项目中创建Markdown文件,以记录特定于项目的规则、准则、设计决策或约束。 markdown-files
- 这些Markdown文件(例如,INSTRUCTIONS.md、CONTEXT.md)可以包括文件命名约定、内容映射规则或品牌指南。
- 开始新对话时,请让代理“通过阅读项目文档来热身”,以便代理在继续执行任务之前加载此上下文。
代理的上下文窗口不是无限的。 limited-window
- 在长时间的对话中,可能会压缩或忘记之前的指令。
- 如果代理似乎丢失了上下文,请提醒它关键点或清除聊天,然后使用热身提示重新开始阅读项目文档。
使用迭代提示来优化结果。 iterate
- 如果某些内容看起来不正确(例如,块上的背景颜色错误),请提示代理修复特定问题,而不是从头开始。
站点创建和迁移技能 site-migration
站点现代化代理提供了多种用于创建新的Edge Delivery Services站点和迁移现有网站的技能。 任何新的Edge Delivery站点或迁移项目都应利用这些技能。
将网站或页面迁移到AEM migrate-a-site
将内容从现有网站迁移到Edge Delivery Services时,请使用此提示。
示例提示 example-migrate
- “迁移此页面:
https://example.com/about - “迁移这些页面:URL1、URL2、URL3”
须知事项 wtk-migrate
-
迁移遵循七步工作流程:
- 代理将擦除源页面。
- 它标识节结构。
- 它执行创作分析。
- 它将内容映射到块变体。
- 它会生成Markdown。
- 那个创造进口基础设施。
- 预览结果。
-
代理使用两级层次结构分析页面:
- 首先,它确定截面边界(背景变化、间距偏移)
- 然后,它标识每个部分中的内容序列。
-
创作分析遵循David的模型。
- 对于每个内容序列,它首先会检查“作者能否通过正常键入方式创建内容?”
- 默认内容(标题、段落、列表、内嵌图像)优先于块。
-
在创建新块之前,代理会尝试重用存储库块库中的现有块。
- 当内容无法映射到现有块时,它会创建新的块变体。
- 您可以提示进行更改、请求新变体或以交互方式调整映射。
-
块变体使用元数据进行跟踪。
- 在迁移多个页面时,代理会先加载现有的自定义变体,并在样式匹配时重用这些变体(根据目的、颜色、排版、间距、布局设置,相似性阈值为70%)。
-
页眉、导航和页脚将从页面迁移中排除。 这些由专门的技能处理。
-
每次迁移都会创建导入基础结构(页面模板、块解析器、转换器),以供将来批量导入。
批量导入 bulk-import
示例提示 example-prompts-bulk-import
- “在以下页面上运行批量导入:URL1、URL2、URL3。”
- "在所有产品页面上运行批量导入。"
- “批量导入以下博客页面: URL1、URL2。”
须知事项 wtk-bulk-import
- 批量导入取决于在之前的单页迁移期间创建的导入基础结构。
- 这包括页面模板(区域结构)、转换器(站点范围DOM清理)和解析器(特定于块的HTML到表转换)。
- 在运行批量导入之前,必须为每个模板至少迁移一个代表页面。
- 批量导入会重用在单页迁移期间建立的结构和映射。
- 它不会从头开始推断模板。
- 转换器在解析之前和之后对整个DOM进行操作。 解析器在单个块级别运行。
- 在可以继续批量导入之前,将验证所有解析器。
- 一个模板对应于一个批量导入配置。
- 不支持在单个运行中混合使用模板。
典型工作流程 typical-workflow
推荐的工作流程是迭代式的:先对小集合进行验证,然后按比例放大。
- 首先运行单页迁移。 — 为计划批量导入的模板迁移一个代表页面。
- 这将创建所需的导入基础结构。
- 在一小部分页面上运行批量导入。 — 要求代理运行批量导入,并提供遵循同一模板的URL的简短列表。
- 查看并优化结果。 — 检查导入的页面。
- 如果有任何错误,请要求代理调整解析器、转换器或导入逻辑。
- 按比例放大。 — 当结果正确时,提供URL的完整列表。
- 代理将重用相同的导入逻辑并大规模运行批量导入。
抓取网页 scraping-webpages
使用此提示从源URL中提取内容、元数据和图像以进行分析或迁移。
示例提示 example-scraping
- “抓取此页面进行分析:
https://example.com” - “从
https://example.com/product提取内容”
须知事项 wtk-scraping
-
此提示通常会在页面迁移的第一步自动调用。
-
如果内容存在于DOM中,则也会捕获通过CSS隐藏的内容。
-
延迟加载的图像和客户端渲染的内容可通过在headless Chromium中滚动页面并允许脚本执行来处理。
-
为了兼容,WebP/AVIF/SVG图像已转换为PNG。
-
元数据包括标题、描述、开放图形标签、JSON-LD结构化数据、规范URL。
-
DOM中的图像是固定的。
- background-image转换为img。
- 图片元素已展开
- srcset已解析为src
- 相对URL将转换为绝对URL
- 要的内联SVG将转换为img文件。
-
生成经过清理的文档路径(小写字母无
.html扩展名)。 -
产出如下:
screenshot.pngcleaned.html(无脚本/样式)metadata.json- 具有本地副本的
images/文件夹
-
用户可以询问有关屏幕快照维度的信息,并请求特定设备大小(移动设备、桌面)来进行内容提取。
-
在多个断点提取内容会增加处理时间。
设计迁移 design-migration
使用此提示从源站点提取可视设计并将其应用于Edge Delivery Services。
示例提示 example-design
- "从
https://example.com迁移设计" - "提取设计令牌"
- “打造英雄风格”
须知事项 wtk-design
-
设计迁移分为两个阶段:
-
阶段1(站点范围)将以下内容提取到
styles/styles.css:- 全局调色板和主题色
- 排版系统(字体、大小、粗细)
- 间距系统(填充、边距、间隙)
- 截面背景(浅、深、彩色)
- 基本组件样式(按钮、链接、图像)
- 输出至
-
阶段2迁移单个块样式并在
/blocks/{name}/{name}.css中创建块特定的CSS。
-
-
块样式(第2阶段)要求首先完成站点范围的设计(第1阶段)。
- 全局设计系统提供阻止引用的CSS自定义属性。
-
预计时间:
- 阶段1:5-10分钟
- 阶段2:10-15分钟
-
模棱两可的请求默认完成迁移(两个阶段)。
阻止评论 block-critique
使用此提示验证和优化单个迁移的块,并确保相对于原始网站的视觉准确性。
示例提示 example-block-critique
- “批判英雄区块”
- “验证块自定义卡片”
须知事项 wtk-block-critique
-
块批评将迁移的块与其原始源进行比较,并反复应用CSS修复,直到达到85%的视觉相似性或完成三次迭代。
-
该技能要求块首先由页面迁移创建。
-
块批评遵循六个步骤的工作流程:
- 它使用XPath选择器从源页面捕获原始块。
- 它会初始化批评会话。
- 它会检查原始块(屏幕快照、样式、HTML)。
- 它会检查迁移的块。
- 它会比较元素并生成与CSS修复的相似性分数。
- 它会应用修复并重新检查,直到达到85%的目标。
-
每个迭代都会显示一个包含所有差异的完整评估报告,应用所有CSS修复(按视觉影响划分优先级),在预览中验证,重新检查并显示改进量度。
-
在设计迁移完成后使用块批注。
页面评论 page-critique
使用此提示验证整个迁移页面是否具有原始网站的全页可视保真度。
示例提示 example-page-critique
- “批判页面”
- “根据
https://example.com/about验证迁移的页面”
须知事项 wtk-page-critique
-
页面批评在原始页面和迁移页面之间执行全页可视化比较,不断迭代,直到达到85%的相似性目标或完成三次迭代。
-
页面评论包含五个步骤的工作流程:
- 它会初始化一个批评会话。
- 它检查原始页面上的所有元素。
- 它检查已迁移页面上的所有元素。
- 它会比较并生成与优先级排列的CSS修复的相似性得分。
- 它会应用修复并重新检查,直到达到85%的目标。
-
页面评论需要源页面URL和迁移的路径(例如,"/about")作为输入。
-
在验证总体页面保真度或同时验证多个块时使用页面批次。
-
使用块评论对特定组件进行重点验证。
-
建议使用以下工作流程:
- 迁移页面。
- 应用设计。
- 对关键块运行块评论
- 运行页面批评以进行完全验证。
图形块迁移 figma-block-migration
使用此提示将块从Figma设计迁移到Edge Delivery Services。
请注意,必须在体验现代化控制台中设置您的Figma详细信息才能使用此提示。
示例提示 example-figma
- "将块
https://figma.com/design/{fileKey}?node-id={nodeId}迁移到Edge Delivery Services" - “将
{blockName}从https://figma.com/file/{fileKey}迁移到Edge Delivery Services”
须知事项 wtk-figma
-
此技能每次迁移一个块,而不是整个页面或完整的Figma文件。
-
为获得最佳结果:
- 选择要在Figma中迁移的特定块,并复制其链接(带
node-id)或名称。 - 在URL中提供
node-id参数以定位确切的块。
- 选择要在Figma中迁移的特定块,并复制其链接(带
-
运行此技能时,将在托管环境中自动执行以下步骤:
- 块结构发现 — 代理读取Figma节点以了解层和组件。
- 全局样式提取 — 代理将颜色、排版规则和间距作为CSS自定义属性(设计令牌)提取到
styles/styles.css中。 - 块特定的样式创建 — 代理会创建特定于正在迁移的块的其他CSS自定义属性。
- 映射到现有块 — 代理识别项目块库中最接近的匹配块并创建自定义变体。
- CSS生成 — 代理写入引用提取的CSS自定义属性的样式,以确保设计的一致性。
- 资源下载 — 代理将图像和图标从Figma保存到托管环境的工作区。
- Edge Delivery Services内容生成 — 代理将按照EDS块结构创建Markdown文件
- 输出验证 — 代理预览结果,并对原始的Figma设计执行视觉比较。
-
该技能首先读取元数据(步骤1)以了解结构,然后提取详细的设计上下文(步骤2-5)。
- 这种分阶段的方法可以防止大型或复杂的Figma文件出现问题。
-
这项技能采取的是风格优先的方法。
- 在写入任何CSS之前,所有样式都会提取为CSS自定义属性(设计令牌)。
- 这可确保迁移的块与您的设计系统保持一致。
-
该提示符需要Figma URL(包含
fileKey和可选的node-id)或Figma文件键直接作为输入。
导航设置 navigation-setup
使用此提示设置或迁移站点导航。
示例提示 example-navigation
- “设置来自
https://example.com的导航” - “修复导航菜单”
须知事项 wtk-navigation
-
Edge Delivery Services导航强制实施三部分结构(由
header.js强制):- 品牌(第1部分):徽标和主要品牌链接
- 节(节2):带有可选下拉菜单的主导航菜单
- 工具(第3部分):实用工具链接(订阅、登录、购物车)
-
导航内容位于根目录的
nav.md中。 -
分区由(
---)个标记分隔。 -
包含嵌套列表的粗体项目(
**Text**)将创建下拉列表。 -
由于文档创作的自动换行行为,导航中的链接可能会呈现为按钮。
- 标头块包含从导航链接中删除按钮类的代码。
块开发功能 block-development-capabilities
这些提示用于创建和演变块,在初始站点创建或迁移之外提供持续价值。
块开发 block-development
使用此提示创建新块或修改现有块。
示例提示 example-block-development
- “创建证明块”
- “将视频背景变体添加到主页块”
须知事项 wtk-block-development
内容建模 content-modeling
使用此提示可设计创建块内容时作者可使用的表结构。
示例提示 example-modeling
- “为证明块设计内容模型”
- “此轮播的最佳内容模型是什么?”
须知事项 wtk-modeling
-
Edge Delivery Services有四种标准模型类型:
- 独立:不同的可视化/叙述元素(主页、块引用)
- 具有块内容的单个表
- 收藏集:重复半结构化内容(卡片、轮播)
- 具有重复行模式的表
- 配置: API驱动的内容或显示配置控件的动态内容(博客列表、搜索结果)
- 具有键值配置行的表。
- 自动阻止:作者创建为节/默认内容的复杂结构,然后进行转换(制表符、YouTube嵌入)
- 独立:不同的可视化/叙述元素(主页、块引用)
-
每行限制为4个单元格。
- 将相关元素分组到单元格中。
-
与配置单元格相比,首选块变体以体现样式差异。
-
遵循Postel定律:对输入结构持灵活态度。
- 无论内容位于一个单元格中、在两个单元格之间拆分还是位于单独的行中,主页块都应该正常工作。
-
这项技能通常在块创建期间由内容驱动开发自动调用。
查找引用块 reference-blocks
使用此提示查找要用作起点的现有实施。
示例提示 example-reference
- “查找与定价表类似的块”
- “哪些区块可供推荐使用?”
- "搜索选项卡实施的阻止方"
须知事项 wtk-reference
搜索文档 searching-documentation
使用此提示查找有关Edge Delivery Services功能或实施指南的信息。
示例提示 example-documentation
- “如何在Edge Delivery Services中实施延迟加载?”
- 在文档中搜索章节元数据
须知事项 wtk-documentation
- 它专门搜索aem.live文档(文档和博客文章)。
- 使用特定关键词(“块修饰”、“sidekick插件”、“元数据”),而不是通用术语(“aem”、“网站”、“如何构建”)。
- 对于代码示例和引用实施,请改用“查找引用块”。
- 默认情况下返回的前十个最相关的结果。
测试 testing
在打开拉取请求之前,使用此提示验证代码更改。
示例提示 example-testing
- “测试新卡块”
- “在打开PR之前运行测试”
须知事项 wtk-testing
-
测试遵循“价值与成本”的理念,即当测试的价值超过成本时,您可以创建和维护测试。
- 守护程序测试(单元测试)用于逻辑密集型实用程序、数据处理、API集成。 这些方法快速、易于维护,并捕获重用代码中的回归。
- 一次性测试(浏览器测试)用于DOM转换和可视化验证。 使用验证实施,捕获PR审核的屏幕快照,然后放弃。
-
一次性测试在
test/tmp/中进行,在drafts/tmp/中测试内容(均已授予)。 -
在打开PR之前,请确保:
- 现有测试通过
- 单元测试是针对新逻辑编写的
- 浏览器验证已完成
- 测试所有变体
- 已验证响应式行为
- 斜纹刀路
调试 debugging
使用此提示解决块、图像、CSS或预览的问题。
示例提示 example-debugging
- “调试为什么图像显示为:error左右”
- “修复主页块未呈现”
- “为什么我的更改没有显示在预览中?”
须知事项 wtk-debugging
-
常见问题具有已知模式:
- 图像显示“关于:error”:块JS中通常缺少
createOptimizedPicture调用,或者在DOM重构之前调用 - 块未呈现:检查Markdown中的块名称格式并验证该块在
.js中同时具有.css和blocks/文件。 - CSS未加载:检查文件路径,验证CSS文件存在,并在浏览器中检查“网络”选项卡。
- 更改未出现:代码同步需要3-5秒。 尝试硬刷新(Ctrl+Shift+R)。
- 图像显示“关于:error”:块JS中通常缺少
-
代理程序会系统地检查每个层:
- Source文件
- 已渲染输出
- 块代码
- 浏览器控制台
-
该代理能够在
http://localhost:3000检查本地预览。