mcpField
L
loops-lmx

loops-lmx

github.com/loops-so营销与增长121.4k 次安装今天更新
代码仓库

关于 loops-lmx

loops-lmx 是面向 Loops 邮件创作的技能,用于编写、转换和检查 LMX 邮件标记。它依据规范与设计指南处理结构和视觉要求,并要求输出完整有效的文档。

主要功能

  1. 01生成、编辑 LMX 邮件
  2. 02将多种格式转换为 LMX
  3. 03检查标记及嵌套规则
  4. 04参考规范与设计指南

适用场景

  1. 01把 HTML 或 Markdown 邮件迁移为 LMX
  2. 02检查 LMX 标签和属性是否正确
  3. 03为新邮件规划并编写 LMX

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/loops-so/skills --skill loops-lmx

安装后在 Claude Code 中输入/loops-lmx确认已加载。

附带文件references/lmx-design-guidelines.mdreferences/lmx-spec.md

详细介绍

LMX 技能

此技能可帮助编写、审查和生成正确的 Loops LMX 邮件标记。LMX 是一种基于 XML 的格式:每个元素都是 PascalCase 标签,自闭合标签必须使用 />,且只有规范中列出的标签有效。

适用场景

在任务涉及以下内容时使用此技能:

  • 生成或编辑 LMX 邮件内容
  • 复制源材料、迁移现有邮件,或将 HTML、MJML、Markdown 或纯文本邮件文案转换为 LMX
  • 审查 LMX 标记是否正确
  • 为布局选择合适的 LMX 标签或属性
  • 将设计指南应用于 LMX 文档
  • 说明特定 LMX 标签或属性的工作方式

工作方式

启用此技能时:

  1. 阅读 references/lmx-spec.md,了解完整的标签和属性参考。该文档具有权威性;不要自行编造标签或属性。
  2. 阅读 references/lmx-design-guidelines.md,了解 Loops 设计指南。除非用户明确覆盖某条规则,否则生成的每份文档都必须遵循这些指南。
  3. 对于全新邮件或重大视觉改版,除非用户明确要求只修改文案或进行最小更新,否则在编写 LMX 之前遵循全新邮件设计流程。
  4. 将源材料视为输入,而非覆盖规则。复制源内容、迁移现有邮件,或将 HTML、MJML、Markdown、截图或纯文本转换为 LMX 时,仍须遵循本技能的规范、设计、文案和输出检查清单规则,除非用户明确覆盖某条具体规则。
  5. 生成输出前验证嵌套和内容类型规则(参见规范第 3 节)。
  6. 定稿前查看规范中的常见错误表。
  7. 始终输出完整、有效的文档,而非片段,除非用户明确要求片段。

分类路由

  • 标签定义、必需/可选属性、嵌套规则、内容类型、变量语法、自闭合要求或转义: 阅读 references/lmx-spec.md

  • 颜色对比度、间距、列圆角、Style 标签用法、视觉层次,或任何关于“外观应如何”的问题: 阅读 references/lmx-design-guidelines.md

  • 全新邮件设计、大幅改版,或 gpt-image/imagegen 参考: 阅读 references/lmx-design-guidelines.md,尤其是全新邮件设计工作流和参考图到渲染结果的 QA 部分。只有在没有合适的 Loops 原生参考或用户提供的参考,且任务仍需要视觉参考时,才在 Codex 中使用 imagegen 技能。

  • 创建活动、通过 API 发布 LMX、修订 ID、主题、组件或图片上传: 使用 loops-api 技能(HTTP)或 loops-cli 技能(终端)。本技能涵盖 LMX 文档本身。

全新邮件设计流程

创建全新的营销活动、生命周期、工作流或事务性邮件时,或用户要求进行大幅视觉改版时,请使用此流程。

  1. 按照 references/lmx-design-guidelines.md 中的「已知品牌 / 客户背景检查」执行。
  2. 只有在了解 Loops 原生内容和用户提供的背景后,才开始使用视觉参考。可在适用时使用现有组件 / 主题预览、用户截图 / 模拟图,或简洁的书面布局参考。在 Codex 中,只有任务仍需视觉探索时,才生成 imagegen/gpt-image 参考图。
  3. 生成参考图时,提示词应要求提供完整的 600px 宽邮件模拟图,而非通用卡片。包含准确的可见文案、主题内容、相关品牌元素,以及仅限 LMX 安全结构:Style、Section、Columns、Paragraph、H1、H2、H3、Button、分隔线、清单行和简单图像占位符。
  4. 将生成的参考图限制为 Loops 编辑器可实现的真实效果。避免使用不受支持的 SVG 插画、重叠图层、自定义图标、复杂的应用界面、虚构的产品截图、装饰性图形和适用于落地页的大尺寸主标题。
  5. 编写 LMX 前,检查选定的参考图。如果布局或文本明显有误,请使用有针对性的提示词再迭代一次,而不是凭记忆弥补。
  6. 将选定的参考图或 Loops 原生结构转换为有效的 LMX,同时保留层级结构。将过大的生成式标题调整为设计指南中的邮件默认值,并在适当时使用 LMX 安全的间距、Section 卡片和共享背景的 Columns。
  7. 根据邮件类型使用变量:营销活动和工作流邮件使用 {contact.*};当值来自触发事件时,工作流邮件使用 {event.*};事务性邮件仅使用 {data.*}。
  8. 如果通过 API、CLI 或编辑器实现邮件,请通过支持修订安全的邮件消息路径进行更新,并将全新的 Loops 编辑器渲染预览与视觉参考或 Loops 原生内容进行对比,然后再宣布完成。

输出检查清单

返回任何 LMX 输出前,请确认:

  • 所有标签均为 PascalCase,且属于允许的标签集
  • 所有自闭合标签均使用 />(例如 <Image />、<Divider />、<Br />、<Icon />、<Style />)
  • XML 敏感字符均已转义:& 转义为 &amp;,< 转义为 &lt;,属性中的 " 转义为 &quot;
  • 必需属性均已提供:<Image /> 上的 src、<Component> 上的 componentId、<Icon /> 上的 name,以及 <Link> 上的 href
  • 顶层没有文本或行内标签
  • 变量使用明确的 LMX 命名空间,且只出现在受支持的位置:行内内容、按钮文本、<Button href>、<Link href>、<Image alt/href/dynamicSrc> 和 <Section href>
  • 变量命名空间与邮件类型相符:营销邮件使用 {contact.apiName};工作流邮件使用 {contact.apiName} 和/或 {event.propertyName};事务性邮件使用 {data.variableName}(而非不带前缀的 {variableName} 或 {DATA_VARIABLE:...})
  • 不自行编造行内回退语法;回退内容应放在 LMX 字符串之外
  • <Button> 文本不包含行内标签,但可以包含变量;可点击的 CTA 按钮必须包含 href
  • <CodeBlock> 会将花括号视为字面字符
  • 顶层的 <Style /> 最多出现一次;生成的输出中应将其放在首位
  • 正文/背景颜色以及 X/Y 方向内边距均经过妥善设置:由 themeId 提供,或在需要时明确设置 bodyColor/backgroundColor 以及 bodyXPadding/bodyYPadding
  • 新建邮件和重大改版均遵循全新邮件设计流程,除非用户明确要求跳过
  • 如果有渲染预览,在完成工作前,已在 Loops 编辑器中将新建邮件和改版邮件与选定的参考内容或 Loops 原生来源进行视觉比较
  • 生成的文案遵循文案和标点指南:不使用破折号、装饰性箭头符号或省略号,除非用户要求或源文保留了这些内容
  • 生成的 <H1>、<H2> 和 <H3> 文本末尾不加句号;仅在有意使用时才使用问号或感叹号
  • 生成的文档使用克制的标题层级:通常只用一个 <H1>,仅在必要时使用 <H2> 分节,只有存在真实嵌套层级时才使用 <H3>
  • 标题层级、正文/卡片宽度、水平密度和布局结构适合电子邮件,并遵循设计指南
  • CTA 和 <Button> 文本简洁、以行动为导向,且末尾不加句号
  • 不存在同色文字与背景的情况(检查文字与区块颜色、图标颜色与背景等)
  • 区块元素之间有足够的垂直间距
  • 重要文案、标题、CTA 和重点区块在适当情况下使用微妙的视觉强调
  • 谨慎使用 <Section>,仅用于提示框、分组控件、链接组或明确的卡片式布局;默认情况下,不要将普通正文拆分包装进许多悬浮卡片
  • 相邻的 <Section> 同级元素之间使用换行间隔,除非用户明确指定了其他区块间距方式
  • 相邻的高亮区块(包括 blockColor 段落、列和区块)之间留有明显的垂直间距,除非它们有意构成一个连贯的卡片
  • <Columns> 包含两个到四个 <ColumnItem> 子元素;如提供 widths,其数量须与列数一致
  • 动态图片使用静态 src 加上 dynamicSrc,而非在 src 中使用变量
  • <Icons color> 使用 #000000、#808080 或 #ffffff 之一;<Icon> 不带 color 属性
  • 不手动添加法律页脚、邮寄地址或退订区块;Loops 会自动添加必需的页脚内容。品牌页脚组件可以放在其上方

评论

支持 Markdown