news 2026/9/12 7:39:03

Hallmark 审计动词实战:用命名反模式清单与结构指纹识别 AI-Slop 页面

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Hallmark 审计动词实战:用命名反模式清单与结构指纹识别 AI-Slop 页面

Hallmark 审计动词实战:用命名反模式清单与结构指纹识别 AI-Slop 页面

【免费下载链接】hallmarkAnti-AI-slop design skill for Claude Code, Cursor, and Codex.项目地址: https://gitcode.com/GitHub_Trending/hal/hallmark

hallmark audit是 Hallmark 技能(一个为 Claude Code、Cursor、Codex 等 AI 编程助手设计的反 AI-Slop 设计技能)中唯一的只读动词:它不改一行代码,只读取目标文件、对照命名反模式清单打分、输出一份按严重度分组的整改清单。本指南完整讲解该动词的输出契约、四重判定机制(反模式打分、结构指纹、Stamp 核验、Genre 感知)、在design.md系统管理项目下的特殊规则,并结合本仓库内真实的一次审计运行记录(site/_tests/verbs/audit/)逐条拆解。读完你将能复现任意一次hallmark audit,并据此决定页面下一步该走redesign还是原地refine

一、audit 在 Hallmark 动词体系中的定位

Hallmark 有一个默认行为(新建设计)和三个显式动词:auditredesignstudy(见 skills/hallmark/SKILL.md 的动词总表)。其中:

  • hallmark audit <target>:读取目标,对照反模式清单打分,返回排序后的整改清单(punch list)。不做任何编辑。
  • hallmark redesign <target> [--mood <name>]:在现有实现边界内重做视觉结构。
  • hallmark study <screenshot | URL>:从参考图或 URL 中提取设计 DNA。

audit 被定位为"安全动词"——它是用户在请求refineredesign之前最先运行的动词。正如仓库测试记录 site/_tests/verbs/audit/notes.md 所写:"audit 是那个不改变任何东西的动词,其输出给用户足够的信息去决定页面的下一步方向。"一次理想的 audit 甚至会帮用户选择另一个动词——当结构指纹本身就是问题时,它应当明确建议"不要 refine,直接 redesign"。

该动词运行时会加载三个评分依据文件:

加载的文件作用
skills/hallmark/references/anti-patterns.md命名反模式(named tells)库,audit 打分的核心对照表
skills/hallmark/references/structure.md结构指纹六轴定义,用于结构指纹检查
skills/hallmark/references/microinteractions.md微交互时序/缓动规范,用于 motion 类反模式的定级

二、输出契约:每个 finding 必须包含的四个字段

audit 对每个发现(finding)必须返回四个字段,缺一不可:

  • Tell(是什么)—— 命名的反模式名称,必须能在anti-patterns.md中找到对应条目,不能自造模糊描述。
  • Where(在哪)—— 文件路径与行号区间(如input.htmll. 26-33)。
  • Severity(多严重)—— 三级:critical(上线即 Slop,ships as slop)、major(看起来像 AI 生成的)、minor(小的品味问题)。
  • Fix(怎么改)—— 一行内给出具体、可执行的修正建议。

按严重度分组输出:先列所有 critical,再 major,再 minor,最后以计数收尾。计数格式是硬性要求:

N critical · M major · K minor

anti-patterns.md末尾给出的标准报告模板是:

[severity] Tell name — file:line why it's a tell (one line) → fix (one line)

随后跟两行总结:

Summary — N critical · M major · K minor Verdict — [ships as slop | reads as AI-generated | close, fix the minors]

三条铁律:不改文件、不做重新设计、以计数结尾。audit没有写路径(no write paths),这一点在测试记录中被专门强调——它是动词体系里唯一可以被放心批量执行的只读操作。

三、命名反模式库:critical / major / minor 三档对照表

audit 打分的依据是anti-patterns.md中按严重度分档的命名反模式清单。逐条背下这些名称,审计时才能做到"看到一个、命中一个"。核心条目如下。

Critical(上线即 Slop)

反模式识别特征标准修法
紫渐变 Herohero 背景为紫→蓝或紫→粉渐变,白色居中文字只选一个锚定色相,hero 不设渐变背景
Inter 打天下Inter/Roboto/Open Sans 同时充当 display 与 body,无配对字体用特色 display 字体配对精炼 body 字体
三列特性网格三列等宽卡片,图标+两行标题+三行正文,通栏 24px 间距打破网格、变化列宽、去一张卡用留白
卡中卡带边框容器里再套卡片,卡片里再套"微卡"只保留一层容器,通常是外层该去掉
渐变标题标题用background-clip: text填充渐变纯色墨迹;要"活"就用字重/斜体/display 字体
侧边条纹卡片卡片单边 4-6px 粗彩色竖条(紫或绿)全周发丝线边框,或完全无边框
全视口居中 Heromin-height: 100vh+ 全居中 + 一句话 + 一个大 CTA让 hero 高度等于内容高度,左偏或右偏
纯黑纯白#000000/#ffffff直接做底色向锚定色相微调色调
默认吸引子同质化同一项目连续两次 Hallmark 输出用同一宏观结构写代码前先查 CSS 顶部的 macrostructure stamp
Specimen 回退未要求 editorial 却产出左缘编号标签+大号衬线+非对称跨度Specimen 只是 21 种宏观结构之一,不是默认值
AI 导航左 wordmark + 4-5 个行内链接 + 右侧 CTA 按钮 + 发丝线底边从 component-cookbook 的 N5-N9 路由表选
AI 页脚4 列链接(Product/Company/Resources/Legal)+ 社交图标行 + 版权行默认走 Ft1/Ft2/Ft4-Ft8,Ft3 只用于真正的文档站
Aurora 斑点背景紫粉青流动有机网格斑点纯色表面,或双色渐变+<feTurbulence>颗粒
漂浮光球装饰无语义的 3D 球体/模糊彩圈飘在 hero 后删掉
带声自动播放hero 视频未设muted就自动播放<video autoplay muted loop playsinline>四件套
懒加载 LCPhero 图/视频标了loading="lazy"LCP 元素用fetchpriority="high"

Major(看起来像 AI 生成)

  • 弹跳缓动:按钮弹入、图标 hover 摇摆 → 改用指数 ease-out。
  • 全居中:标题、正文、按钮逐节全居中 → 打破一次对称即可。
  • 每节一个 eyebrow:每节都以大写 mono 小标签开头 →默认 OFF,只有章节式内容才允许,且整页封顶 1-2 个;标签必须在标题正上方同一列(标签左/标题右的两栏模式被 slop-test gate 66 直接判负)。
  • 暗底发光阴影:深色底上的卡片带彩色光晕box-shadow→ 用明度表达层级。
  • 图标瓦片卡:圆角矩形+左上彩色图标方+两行正文 → 允许不对称。
  • 无意义玻璃拟态→ 只有表达真实层次时可用。
  • 仅 hover 可见的交互:hover 才显示菜单/删除按钮/关键 tooltip → 每个 hover 效果必须有 focus 态。
  • 数据表格无 tabular-nums:数字列不对齐 →font-variant-numeric: tabular-nums;
  • 处处滚动入场动画→ 只保留一次编排过的入场。
  • 混用图标库:导航 Material、特性卡 Heroicons、页脚 Lucide → 每个项目只选一个库(默认 Lucide)。
  • AI 插画感:光滑网格 blob 人物、无关节 articulations → 纯 CSS/SVG 手绘。
  • 编造指标:"10× faster""trusted by 50,000+ teams" → 用占位+灰色标注块,或向用户要真实数字(slop-test gate 56)。
  • emoji 当特性图标✨🚀⚡🔥🎯✅作主图标 → 选一个图标库或自建 SVG(gate 60)。
  • 重绘 UI 外壳:手绘假浏览器栏、假手机框、假代码窗口 → 用真实截图包<figure>(gate 57)。
  • 渲染中途即兴 token:文件里出现绕开 token 块的裸色值/裸字体 → 一律var(--token-name)(gate 58)。
  • 可点文字换行:按钮/导航标签折成两行 → 缩短文案或white-space: nowrap(gate 59)。
  • Lottie 偷懒:CSS 能做的动画去拉 LottieFiles → 自建 CSS/SVG。
  • 静态物体的 Three.js:不能交互的 WebGL 旋转体 → 静态图或 SVG。

Minor(小品味问题)

  • 直引号"→ 弯引号“ ”;双连字符--→ 破折号(U+2014);三个句点...→ 省略号(U+2026)。
  • 占位名 "Jane Doe"/"John Smith" → 用贴合受众的拟真名。
  • 创业套话产品名 "Acme"/"Nexus"/"Pulse" → 用领域具体的占位名。
  • z-index: 9999→ 用六级命名层级。
  • 每节 padding 完全一致 → 有意识地变化。
  • width: 100vwwidth: 100%+ 容器 padding。

反模式库还单列了微交互类反模式(见anti-patterns.md):transition: all、通用hover:scale-105、UI 上的弹跳 overshoot 缓动、动画 hover 渐变、光标跟随点、无暂停自动轮播(WCAG 2.2.2)、庆祝式成功 toast、可逆操作的确认弹窗、hover/focus tooltip 延迟相同、焦点环淡入动画、toast 导致布局位移、全屏滚动淡入、闪现 spinner。

四、结构指纹检查:视觉不错也可能是 Slop

audit 与一般视觉审查最大的不同在于:它检查结构指纹(structural fingerprint),而不仅是视觉表象。核心规则(audit.md 原文):

如果页面使用了 AI 模板(居中 hero、3 个等宽特性卡、CTA、页脚,且没有任何不对称或惊喜),即使视觉处理本身没问题,也判为 critical 结构发现。

判定依据来自 skills/hallmark/references/structure.md 的核心论断:"大多数 AI 生成的 UI 视觉上各不相同,但结构上完全相同:hero → 三个特性 → CTA → 页脚。"结构相同才是 AI 指纹,视觉相同不是。

structure.md 把页面结构拆成六个可组合的轴:小节标题放置、正文构成、分隔线语言、按钮声线、图像处理、reveal 模式。六轴各选一项即构成一个"结构指纹",理论上可组合出 42 000 种。而被明确列为必须拒绝的 AI 模板指纹有五种:

  • SaaS hero:居中大标题 + 居中副题 + 居中胶囊 CTA + 全视口 hero + fade-up。
  • 3 特性行:图标在上、标题在下、两行正文的三等列。
  • benefits-then-CTA:特性列表后跟"Sign up"按钮块。
  • everything-fades-in:每节同样的滚动入场。
  • carbon-copy 页脚:Logo + 四列链接 + 社交行 + 版权。

这条检查是 audit 最具价值的部分——它意味着单靠修视觉救不了结构问题,审计报告会明确把这类问题标为"即使视觉处理没问题也判 critical",并建议不要用原地refine(refine 保留结构),而应走redesign

五、Stamp-vs-Page 核验:抓"盖章撒谎"

Hallmark 每次产出页面时,会在 CSS 文件首行写入格式固定的盖章注释:

/* Hallmark · macrostructure: <name> · ... */

audit 会读取这个 stamp 并核验页面是否真的符合声明的宏观结构。规则(audit.md 原文):

如果被审计文件含有/* Hallmark · macrostructure: <name> · ... */盖章,核实页面是否真的匹配该名称。若盖章写Bento Grid但页面其实是居中的单列 hero + CTA,判为 critical 结构发现:stamp lies——盖章必须反映实际交付内容,否则就应删除。

这条规则的设计意图(audit.md 原文):抓漂移——某次 Hallmark 运行盖了某个宏观结构的章,之后有人手工改版把页面拉回了 AI 模板,而章还留在原地。此时"盖章撒谎"本身就是最强证据:页面声称遵守了系统,代码却没有兑现。

designed-as-app变体同理(见 skills/hallmark/references/verbs/redesign.md 的多页流程):页面 CSS 盖章写着designed-as-app,同时标着design-system: design.md,但实际内容漂移出了 design.md 的声明 → 判critical: stamp lies

六、Genre 感知审计:同一特征在不同流派里定罪不同

audit 还要求尊重页面声明的流派(genre)。Hallmark 定义了四种流派:editorial(默认)、modern-minimal、atmospheric、playful(见 skills/hallmark/SKILL.md 的流派检测)。流派决定哪些 slop-test 门禁生效、哪些可以放宽。audit.md 给出的两个典型例子:

  • 径向渐变背景:对 editorial 是 critical 的 AI 痕迹,对 atmospheric 却是允许的(atmospheric 就是 Suno/Runway 暗色 AI 工具那一派)。
  • 纯白纸面:对 editorial 是 AI 痕迹,对 modern-minimal 却允许(Stripe/Linear 一派)。

流派放行的具体边界定义在 skills/hallmark/references/slop-test.md 的 69 个门禁里,以 gate 注释形式内联标注:

  • gate 2(渐变):atmospheric 只允许背景上的径向渐变,绝不允许文本或胶囊按钮上的渐变。
  • gate 7(100vh 居中 hero):atmospheric 与 playful 在"画布本身即设计"时(Suno 风格)允许居中 hero。
  • gate 8(纯 #fff):modern-minimal 允许纯白纸。
  • gate 23(Specimen 回退):仅 editorial 可默认 Specimen,且须 brief 明确触发。
  • gate 24(零色度中性色):modern-minimal 允许纯灰中性色。
  • gate 25(accent 覆盖面积):atmospheric 允许 accent 色调径向光晕覆盖最多约 20% 画布。
  • gate 31(抽象背景):atmospheric 允许至多两个暖色径向光晕,覆盖约 20-30%,固定定位且不带动画。

结论:audit 必须按页面自己声明的流派来定罪——把 atmospheric 页面按 editorial 标准打,或反过来,都会得出错误的审计结论。流派来源是页面 stamp 中的genre:字段;若 stamp 没写流派,则回落到 editorial 默认标准。

七、design.md 审计:系统管理项目下的四种专项违规

audit.md 规定:如果项目根目录存在design.md(或DESIGN.md),audit 必须先读它,再逐页核验。这个文件是由此前某次hallmark redesign多页流程(或人工)产出的"锁定设计系统"(见 skills/hallmark/references/verbs/redesign.md § Multi-page flow),项目一旦拥有它,就进入"系统管理"模式:页面之间的一致性取代多样性成为目标

audit 在系统管理项目上检查四类专项违规:

违规判定严重度
主题漂移(Theme drift)页面用了不匹配 design.md 声明系统的 token/字体/accent。系统管理项目上"每页各自选主题"本身就是 Slop,即使单页内部自洽critical: design-system drift
宏观结构家族违规design.md 声明营销页用 Marquee Hero 或 Stat-Led,被审计页却用了 Letter 格式major: outside design.md family
盖章不匹配(Stamp mismatch)CSS 盖章写designed-as-app、也标着design-system: design.md,但页面实际漂移出 design.mdcritical: stamp lies(盖章声称的合规,代码没兑现)
缺失盖章系统管理项目上某页完全没有盖design.md归属章major: missing system reference(design.md 项目上每一页都必须盖章声明对系统的归属)

反向场景(audit.md 原文):在不存在 design.md 的项目上,标准多样性规则反转适用——如果某页与先前某次 Hallmark 输出共享宏观结构/主题,判minor: variety drift。同一个"重复"现象,在有 design.md 的系统项目上是 critical(一致性被破坏),在无系统项目上只是 minor(多样性缺失),这就是 audit 规则的上下文敏感性。

八、实战拆解:仓库里的一次真实 audit 运行

仓库 site/_tests/verbs/audit/ 目录保存了一次完整的真实运行:用户调用hallmark audit input.html,产出 audit-report.md。被审计对象 input.html 是一个 148 行的内联 CSS 落地页——虚构产品 "Nexus" 的"AI 形状"页面,密集命中至少 14 个反模式。我们逐层还原这次审计的推理。

8.1 输入页面的问题清单(对照代码)

这次 audit 共报告5 critical · 6 major · 3 minor = 14 项,关键发现与代码证据对应如下:

Critical(5 项)

  1. AI 结构模板——hero(居中 100vh)→ 三等列特性网格 → CTA → 页脚,正是 structure.md 列为第一号的 AI 结构指纹。审计结论:"这是结构发现——视觉修复救不了它",并给出替代方案:对该 AI/SaaS 定位的 brief,Bento Grid、Stat-Led 或 Workbench 才是对的宏观结构。
  2. Inter 当 display 字体——body { font-family: 'Inter' }(input.html l. 10)。修法:配对特色 display 字体,如 Newsreader + Inter Tight。
  3. 标题渐变——background-clip: text的紫→蓝渐变(l. 26-33),命中 gate 5(universal,无流派豁免)。
  4. 纯 #fff / 纯 #000——background: #fff; color: #000(l. 11-12)。修法:OKLCH paper 96-98% L 带轻微色相偏置,ink 18-22% L。
  5. 侧边条纹卡 + 重复渐变图标 + 卡中卡——border-left: 4px solid #8b5cf6(l. 65)、.nested-card(l. 88)、.icon-wrap渐变(l. 71-83)三连。修法:去掉侧条纹、去掉图标在上方的模式、去掉嵌套卡。

Major(6 项)transition: all+ 弹跳缓动(l. 46、l. 66、l. 114);hover 同时做 scale+translate+shadow 三连(l. 49、l. 69、l. 117);300ms 内同时动 transform+box-shadow+颜色(l. 49);套话文案 "AI-powered platform for modern teams"、"50,000+ teams"(命中 gate 20);胶囊按钮 + 渐变叠加(l. 43);所有节统一 6rem padding(l. 56、l. 100,命中 gate 10 等距留白)。

Minor(3 项):heromin-height: 100vh(l. 17);全站无:focus-visible(gate 28);hover 过渡无prefers-reduced-motion降级(gate 29)。

8.2 审计结论的动词建议

报告最终给出的结论非常关键(audit-report.md 原文要点):

页面在至少 14/38 个 slop-test 门禁上失败。它无法原地修补——结构指纹(gate 9)+ 渐变文字标题(gate 5)+ hover 堆叠(gate 14)要求走redesign而非refine

并补充了反直觉的边界情况:如果用户坚持保留该结构(比如 brief 明确要求 Hero + 3 特性),refine可以修掉字体、渐变、缓动、侧条纹、hover 堆叠这些视觉痕迹,但结构指纹发现会在下一轮 audit 中再次失败。也就是说:结构问题不除根,审计永远过不了。

这正是 audit 作为"安全动词"的价值闭环(notes.md 原文):"输出给用户足够信息决定页面的下一步方向……理想输出是帮助用户选择另一个动词。" 审计报告本身是可存档的产物——可以进 PR、贴进 Linear ticket,或直接作为后续redesign运行的输入 brief。

九、与 redesign / refine 的衔接:audit 是动词链的第一环

一次审计的落点几乎总是另一个动词。衔接规则总结如下:

  • 结论是结构性问题(结构指纹、stamp lies、design-system drift)→ 走 skills/hallmark/references/verbs/redesign.md 的hallmark redesign。redesign 的目标是"用同样的内容得到不同的页面",它会换掉结构指纹、组件声线、reveal 模式与视觉节奏,但默认不删除生产文件、不碰路由树与业务逻辑——除非用户明确批准文件级删除计划。
  • 结论仅是视觉问题且结构健康→ 可考虑原地refine,但需明白下一轮 audit 仍会复查结构。
  • 多页产品→ 先由 redesign 的多页流程产出根目录design.md,之后所有页面审计都以它为裁判。

需要强调的职责边界(SKILL.md § Implementation safety rail):audit 是只读的,redesign 默认原地编辑或增量新增组件,两者都不得在未经用户批准时删除生产文件、路由树或旧网站。在现有项目里使用这两个动词时,都要求先明确声明将要修改/创建/删除的文件清单。

十、实践要点速查

  1. 触发方式hallmark audit <target>。target 可以是单个文件或多个文件。
  2. 评分依据anti-patterns.md命名反模式库 +slop-test.md69 门禁 +structure.md六轴结构指纹 +microinteractions.md时序/缓动规范。
  3. 输出格式:每条 finding 四字段(Tell/Where/Severity/Fix),按 critical→major→minor 分组,结尾N critical · M major · K minor
  4. 必查四项:反模式命中、AI 模板结构指纹、CSS stamp 与页面实际一致性、声明流派下的门禁豁免边界。
  5. design.md 项目:先读 design.md,再按主题漂移/家族违规/stamp lies/缺失盖章四类专项规则逐页核验;无 design.md 的项目则检查 variety drift。
  6. 绝不越权:不编辑、不重新设计、不删除;产出报告本身就是完整交付物。

延伸阅读:本文引用的判定依据全部可在仓库内继续深挖——skills/hallmark/references/anti-patterns.md(完整命名反模式库)、skills/hallmark/references/slop-test.md(69 个门禁的完整定义与流派注释)、skills/hallmark/references/structure.md(42 000 种结构指纹与 5 种 AI 模板指纹)、skills/hallmark/SKILL.md(动词总表与设计流程)、以及一次完整运行实录 site/_tests/verbs/audit/audit-report.md。

【免费下载链接】hallmarkAnti-AI-slop design skill for Claude Code, Cursor, and Codex.项目地址: https://gitcode.com/GitHub_Trending/hal/hallmark

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 7:36:35

数据备份策略与实战:从3-2-1法则到智能恢复

1. 数据备份的重要性与核心价值硬盘突然崩溃的那一刻&#xff0c;我才真正理解数据备份的价值。三年来积累的客户资料、项目文档和财务记录在几秒钟内化为乌有&#xff0c;这种痛只有经历过的人才懂。数据备份不是可选项&#xff0c;而是数字时代生存的必备技能。想象一下你的手…

作者头像 李华
网站建设 2026/9/12 7:35:05

目标检测与YOLO系列实战:从基础概念到模型部署全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 7:32:47

10个真正可落地的企业级AI Agent开源平台选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 7:32:29

毕业论文参考文献不崩的8个AI工具实测与操作指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 7:31:33

搞懂LLM的Token、上下文窗口与采样参数:从原理到调参实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华