frontend-design (Anthropic)
frontend-design:对照组 3.5、一句话提示 3.75、装 skill 3.75(0–5 分,Codex 实测,n=2/任务/组)。结论:视情况而定,相对不装 skill +0.25。
25.5 / 30
相对不装 skill 的提升:+0.25
视情况而定:提升 +0.25 低于 +1.0。推荐要求总分 22/30、产出质量 3.5、提升 +1.0。
前沿
通过使用 Codex 测试。
覆盖 Codex, Claude Code
Codex CLI 0.166(SOTA 档):18 次评分运行。按我们的分档规则,这档通过同时覆盖 Claude Code;它不代表第二档的结果。
分数
每一维 0 到 5 分,六维相加是满分 30 的总分。每一维都是 5 更好。成本 5 表示又便宜又快。安装 5 表示容易。
- 触发可靠性
- 5.0
- 相对不装的提升
- 2.3
- 产出质量
- 3.8
- 令牌与时间成本
- 5.0
- 安装与可移植性
- 4.5
- 安全
- 5.0
安全审查
安全静态扫描:0 CRITICAL / 0 HIGH / 0 MEDIUM。人工审查:可在断网沙箱中运行。扫描没有命中不等于绝对安全。
安装
npx skills@latest add anthropics/skills --skill frontend-design
固定提交: ca45fc496a3436251f191354091d557da31c15b5
测试日期: 2026-11-02
我们测了什么
- New landing page from a brief
- Data-dense dashboard UI
- Reshape an existing bland page
优点
- 不点名也会被触发:Skill file was read in 6/6 treatment runs without being named: auto-trigger works for UI building prompts.
- 不增加 token 开销:约为不装 skill 时的 0.95 倍。
缺点
- 相对不装 skill 没有可测量的提升(+0.25,在噪声范围内)。
- 一句话提示得 3.75,装 skill 得 3.75(差 +0.00)。
- 每个任务每组 n=2,差距在 1 分以内属于噪声。
评测
在 Codex CLI(SOTA 档)上跑 3 个任务、对照、一句话提示、装 skill 三组,共 18 次运行,由规则脚本打分(没有 LLM 评委),断网沙箱、每次运行独立临时目录。具体做法见下方英文评测原文。
三组对比
| 组别 | 平均分(0–5) | 每次 token |
|---|---|---|
| 不装 skill | 3.5 | 93k |
| 一句话提示 | 3.75 | 125k |
| 装了 skill | 3.75 | 88k |
Codex CLI 实测,18 次运行,规则脚本打分,没有 LLM 评委。总分 25.5 / 30,结论 视情况而定。
下面是评测原文,英文。
Verdict: Situational (25.5 / 30, the highest of our first three). Source: anthropics/skills, skills/frontend-design, pinned at commit ca45fc4. Install: npx skills@latest add anthropics/skills --skill frontend-design. Apache-2.0.
What it is
A single prose file, no scripts. It tells the agent to act like the design lead at a studio that has already rejected cliché proposals: choose a palette, typefaces and layout specific to the brief, avoid common "AI-generated" defaults (a cream background with a terracotta accent, an all-caps eyebrow label above every heading, numbered 01/02/03 markers that do not mark a sequence), work in two passes (plan, review the plan against the brief, then build), and finish with a self-critique. It also lists quality floors: responsive to mobile, visible keyboard focus, reduced motion respected.
How we tested
Codex CLI 0.166 (gpt-6-astra, low reasoning), a fresh temporary project per run, skill installed or absent, two runs per group, network off. We never mentioned the skill in the prompt, so this also tests auto-triggering. Three tasks: a landing page for an invented seaweed-snack subscription (Tidepool), a water-quality monitoring dashboard with sample data, and a redesign of a deliberately bland climbing-gym homepage that had to keep all its content. We rendered every page with Playwright (desktop 1440 px and mobile 390 px) in a network-less sandbox and scored them blind from screenshots, 0 to 5. We also counted specific features in the HTML.
What happened
It triggers on its own. The skill file was read in all six treatment runs, with no prompting. Nobody had to type a command.
The tells it names do disappear. Per page, control pages used 3.2 all-caps labels and 1.5 numbered markers on average; pages made with the skill used 0.3 and 0. That is the skill's own advice showing up in the output. Neither group used the cream and terracotta hex values it warns against, and gradient use was identical (0.17 per page). Font families were limited to system fonts in both groups because the sandbox was offline, which hurts a skill that cares about typography. We expect different results with web fonts.
Overall quality was about the same. Blind scores averaged 3.75 with the skill and 3.5 without. The landing pages did better with the skill (4.0 vs 3.25), the dashboard and redesign tied. With two runs per cell that is noise. All the pages were competent: clear hierarchy, sensible spacing, no broken layouts.
The sameness is untouched. Three of the four landing pages, with and without the skill, used the same headline, "A little ocean. A lot of crunch."; the fourth (a treatment run) wrote "A little sea." with different copy. All four shared the same overall layout: product pouches and a mid-page pricing card. The skill asks for "a distinctive point of view specific to this brief", but one model run twice from the same prompt still converges on its own default. The skill removes surface clichés; it does not diversify the underlying idea. The redesign task produced a little more variety in typography: control runs used Arial/Helvetica and Courier, treatment runs picked Impact-style display type with Helvetica Neue or Avenir Next. That is system-font variety only.
Quality floors were met equally. Viewport meta tag, @media queries and :focus styles appeared in every page in both groups. Reduced-motion handling was missing on both dashboards in both groups. Mobile overflow was zero in 10 of 12 pages; one landing page in each group overflowed by 2 to 6 pixels.
No cost. Runs with the skill used 87,900 tokens on average against 93,000 without (0.95x) and took 155 seconds against 189. Reading the file is cheap compared with the pages themselves.
A caveat about our own checks
Our automated check for "keeps the $22 / $79 / $720 prices" failed on three of four redesign runs, in both groups. This is a flaw in our regex, not in the pages: the prices were split across <span> tags, and the screenshots show all three prices present. We did not use that check in the scores.
Safety review
One markdown file and a licence file. The scanner found nothing; the only domain is apache.org inside the licence text. No scripts, binaries, hidden characters or instructions about secrets. See security.md.
Scores
| Dimension | Score | Why |
|---|---|---|
| Output quality | 3.75 | Polished, competent pages |
| Lift vs no skill | 2.25 | +0.25, within noise |
| Trigger | 5.0 | Read in 6 of 6 runs unprompted |
| Instructions and portability | 4.5 | Pure prose, no tool names; assumes screenshots are possible |
| Efficiency | 5 | 0.95x tokens |
| Safety and hygiene | 5 | Nothing found |
Who should use it
If your agent's pages keep arriving with the same all-caps eyebrow labels and 01/02/03 markers, this skill reliably stops that, at no extra token cost, so there is little reason not to keep it installed. If you are hoping it will make an average model produce visibly more original design, we did not see that: you will still get a competent page that looks like what the model usually makes. The reliable fix for sameness is a stronger brief from you (a palette, a reference, a mood), which the skill says the brief's own words always override.
Limits of this test
Two runs per cell, one model, offline sandbox with system fonts, three tasks, scored by one blind reviewer rather than a panel. Design judgement is subjective. The Codex tier counts for Codex and Claude Code under the site's rule.
Update (2 Nov 2026): one-sentence group added
We added a third group: no skill, but one sentence appended to the prompt that carries the skill's core rule ("Give the page one specific, bold visual point of view ... avoid generic AI-design tells such as purple gradients, uppercase eyebrow labels, numbered 01/02 markers and identical three-card grids"). 6 runs, run on a Windows machine with the same Codex build, network off.
| Group | Blind mean score (0-5) | Tokens per run |
|---|---|---|
| No skill | 3.50 | 93k |
| One sentence | 3.75 | 125k |
| Skill installed | 3.75 | 88k |
The one sentence matches the skill (gain of the skill over it: 0.00) and beats no skill by 0.25, all inside noise at n=2. The one-liner runs spent about 1.4x the control's tokens; the skill did not. The best-looking page of the whole set (a serif dashboard headline, "A clear view of your water.") came from a one-liner run, and the one clearly buggy page (a garbled ticker with literal ?/b> text) came from the other one-liner run on the redesign task. Scores for the new group were given in a separate blind session from the original six-run comparison, so a small drift is possible (the same landing page scored 4.5 in one session and 3.25 on average in the other). The cost-free part of the skill is still the same: it removes the specific tells it names. A one-sentence prompt does most of that too.
记录
Run log for frontend-design: Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run. Columns: task, arm-run, score (0-5), tokens, seconds, checks passed, skill files the agent opened. t1-landing control-1: score 3.5, tokens 82271, secs 186.0, checks 5/5, opened nothing t1-landing control-2: score 3, tokens 71992, secs 148.5, checks 5/5, opened nothing t1-landing oneliner-1: score 4, tokens 97532, secs 173.6, checks 5/5, opened nothing t1-landing oneliner-2: score 3.5, tokens 97406, secs 150.6, checks 5/5, opened nothing t1-landing treatment-1: score 4, tokens 102012, secs 167.9, checks 5/5, opened frontend-design t1-landing treatment-2: score 4, tokens 84401, secs 169.4, checks 5/5, opened frontend-design t2-dashboard control-1: score 4, tokens 99830, secs 215.1, checks 4/5, opened nothing t2-dashboard control-2: score 3, tokens 138278, secs 252.2, checks 4/5, opened nothing t2-dashboard oneliner-1: score 4, tokens 117512, secs 188.7, checks 5/5, opened nothing
18 次运行、3 个产物
样例产物
前沿 · 装了 skill:index.html(t1-landing,第 1 次,Codex)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="theme-color" content="#e3eee4"><meta name="description" content="Meet Tidepool: small-batch, big-crunch seaweed snacks. Three bright flavours, one $14 box, delivered monthly."> <title>Tidepool — A little sea. A lot of crunch.</title> <style> :root{--ocean:#163e4b;--glass:#e3eee4;--green:#becfa3;--yellow:#f6cf58;--pink:#e9ad9c;--paper:#faf9ef;--line:#163e4b30}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--glass);color:var(--ocean);font-family:"Trebuchet MS",Arial,sans-serif;font-size:16px;line-height:1.6}button,a,input{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #bd552d;outline-offset:5px}.wrap{max-width:1320px;margin:auto;padding:0 6%}.announcement{text-align:center;background:var(--ocean);color:var(--paper);font-size:12px;letter-spacing:.4px;padding:8px 16px}.nav{display:flex;align-items:center;justify-content:space-between;height:106px;gap:24px}.logo{font-family:"Arial Rounded MT Bold","Trebuchet MS",sans-serif;font-size:43px;font-weight:900;letter-spacing:-3px;text-decoration:none;line-height:1}.logo span{display:inline-block;transform:rotate(-14deg)}.nav-links{display:flex;gap:33px;align-items:center}.nav-links a{text-decoration:none;font-size:14px}.nav-links a:hover{text-decoration:underline}.button{border:1.5px solid var(--ocean);border-radius:40px;display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--ocean);color:var(--paper);padding:14px 25px;text-decoration:none;font-weight:700;cursor:pointer;line-height:1.3}.button:hover{background:#285664}.button.small{padding:11px 23px;font-size:13px}.button .arrow{font-size:23px;line-height:.8}.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;min-height:574px;padding-top:25px;padding-bottom:65px;gap:20px}.hero h1{font-size:clamp(58px,6.5vw,88px);font-weight:900;line-height:.99;letter-spacing:-5px;margin:0 0 27px;max-width:650px}.hero p{font-size:17px;max-width:355px;margin:0 0 28px}.note{font-size:12px;margin-top:14px;display:block}.product-scene{height:480px;position:relative;isolation:isolate}.halo{position:absolute;inset:34px -10px 0;background:#ccddca;border-radius:50%}.pouch{position:absolute;width:205px;height:302px;border-radius:8px 8px 24px 24px;background:var(--green);box-shadow:10px 18px 20px #183e4822,inset -8px 0 18px #213f3412,inset 7px 0 12px #ffffff40;overflow:hidden;text-align:center;color:var(--ocean)}.pouch:before,.pouch:after{content:"";position:absolute;left:0;right:0;height:13px;background:repeating-linear-gradient(90deg,transparent 0 3px,#163e4b12 3px 4px);border-bottom:1px solid #163e4b20;top:0}.pouch:after{top:auto;bottom:0;border-top:1px solid #163e4b20}.pouch-brand{font-size:38px;line-height:1;font-weight:900;letter-spacing:-2.8px;margin-top:35px;display:block}.pouch-tag{font-size:8px;letter-spacing:1.1px;margin:8px 0}.pouch svg{width:110px;height:120px;display:block;margin:0 auto}.pouch-f [... excerpt: first 3200 of 18232 characters]