全部技能

algorithmic-art (Anthropic)

使用 p5.js 创作原创生成艺术,支持固定随机种子和交互式参数探索。

algorithmic-art:对照组 4.52、一句话提示 4.76、装 skill 5.0(0–5 分,Codex 实测,n=2/任务/组)。结论:视情况而定,相对不装 skill +0.48。

看情况安全

Codex CLI · gpt-6-astra

22.5 / 30

相对不装 skill 的提升:+0.48 · 看情况 · 18 次运行

视情况而定:提升 +0.48 低于 +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.5
产出质量
5.0
令牌与时间成本
2.0
安装与可移植性
4.0
安全
4.0

安全审查

安全

静态扫描:0 CRITICAL / 0 HIGH / 0 MEDIUM。人工审查:可在断网沙箱中运行。扫描没有命中不等于绝对安全。

安装

npx skills@latest add anthropics/skills --skill algorithmic-art

来源

固定提交: ca45fc496a3436251f191354091d557da31c15b5

测试日期: 2026-11-02

我们测了什么

  • Flow-field art — Create generative art with p5.js: a flow field of thousands of particles. Make it explorable (seeded, adjustable). Deliver it as files in the current folder.
  • Particle system art — Make an algorithmic art piece with p5.js: particles orbiting several attractors, leaving trails. Seeded and interactive. Files in the current folder.
  • Open brief — Create an original piece of algorithmic art inspired by tide pools, using p5.js, with seeded randomness and parameter controls. Files in the current folder.

优点

  • 不点名也会被触发:Skill file read in 6/6 treatment runs.
  • 装 skill 后绝对质量高:5.0 / 5。

缺点

  • token 消耗是不装 skill 时的 1.99 倍。
  • 测试说明:p5 库从 CDN 加载,断网沙箱访问不到,所以生成的页面只做了规则检查,没有渲染。
  • 每个任务每组 n=2,差距在 1 分以内属于噪声。

评测

在 Codex CLI(SOTA 档)上跑 3 个任务、对照、一句话提示、装 skill 三组,共 18 次运行,由规则脚本打分(没有 LLM 评委),断网沙箱、每次运行独立临时目录。具体做法见下方英文评测原文。

三组对比

组别平均分(0–5)每次 token
不装 skill4.52115k
一句话提示4.76145k
装了 skill5.0229k

Codex CLI 实测,18 次运行,规则脚本打分,没有 LLM 评委。总分 22.5 / 30,结论 视情况而定。

测试披露: p5 库从 CDN 加载,断网沙箱访问不到,所以生成的页面只做了规则检查,没有渲染。

下面是评测原文,英文。

Verdict: Situational (22.5 / 30). Source: anthropics/skills, skills/algorithmic-art, pinned at commit ca45fc4. Install: npx skills@latest add anthropics/skills --skill algorithmic-art. Licence: Apache-2.0 / Anthropic terms (see LICENSE.txt in skill).

What it is

The algorithmic-art skill from anthropics/skills: a two-step procedure for generative art with p5.js: first write an 'algorithmic philosophy' (a named aesthetic movement, 4-6 paragraphs), then express it as seeded p5.js code in an interactive HTML viewer built from the skill's viewer.html and generator_template.js. Licence in LICENSE.txt (Apache-style for this skill).

How we tested

Codex CLI 0.166 (gpt-6-astra, low reasoning) on a dedicated Windows test PC, a fresh temporary project and temporary HOME/TMPDIR/caches per run, skill installed (treatment) or absent (control) or absent with the skill's core requirement squeezed into one sentence appended to the prompt (one-liner group), 2 runs per group per task, network off, /tmp writes blocked. The prompts never mention the skill (except the wording noted below).

Three tasks: a flow field of thousands of particles, an orbit/harmonic piece, and an open 'tide pools' brief, all asking for p5.js, seeded and adjustable output as files. The skill group uses the same prompt as control (skill is picked up by description match). The one-liner group adds one sentence: write a short algorithmic philosophy first, then code that is mostly generative, seeded, with parameter controls in an HTML viewer.

  1. Flow-field art — Create generative art with p5.js: a flow field of thousands of particles. Make it explorable (seeded, adjustable). Deliver it as files in the current folder.
  2. Particle system art — Make an algorithmic art piece with p5.js: particles orbiting several attractors, leaving trails. Seeded and interactive. Files in the current folder.
  3. Open brief — Create an original piece of algorithmic art inspired by tide pools, using p5.js, with seeded randomness and parameter controls. Files in the current folder.

Scoring is programmatic (hidden tests / planted-issue recall / constraint checks / render+OCR where relevant), 0–5 per run. No LLM judge decided any score.

Results

The one-liner given to the third group: "First write a short algorithmic philosophy (a named aesthetic movement), then express it as p5.js code that is mostly generative algorithm, uses a seeded random generator so the same seed reproduces the piece, and exposes parameter controls in an interactive HTML viewer."

TaskControl scoreOne-linerWith skillControl tokensOne-liner tokensWith-skill tokensSkill read
t1-flow5.05.05.0140k159k234k2/2
t2-orbits4.294.295.080k126k248k2/2
t3-original4.295.05.0124k148k203k2/2

Mean score: 4.52 without vs 5.0 with the skill (delta +0.48). Tokens per run: 115k vs 229k (1.99x); time 181s vs 165s. One-liner group: 4.76 (the skill's gain over the one-liner: +0.24; one-liner's own gain over no skill: +0.24); one-liner tokens 145k per run, so the skill costs 1.58x the one-liner.

What happened

  • Control already builds the basics: a viewer HTML, a seeded sketch and sliders in 6/6 runs. The score gap is almost all the philosophy check: control wrote only a README (126-226 words) and missed the 150-word threshold in 2 runs, and none of the 6 control runs produced a separate philosophy file. Mean 4.52 control, 4.76 one-liner, 5.00 skill.
  • The skill makes the philosophy step reliable: 6/6 treatment runs wrote a philosophy.md (410-520 words), and the one-liner arm wrote one in 6/6 too (290-460 words). The only seeding failure in 18 runs was a one-liner run (t2-orbits) that used no randomSeed/noiseSeed at all.
  • The skill adds output that was not asked for: export/save code (5, 8 and 3 download/saveCanvas references in the treatment viewers vs 1 in control), extra files (8.3 files per run vs 4 for control) and in 2 runs helper scripts (build_art.py, verify.cjs) that stitch the template together.
  • Cost: 229k tokens per run for the skill vs 115k control and 145k one-liner, about 2.0x and 1.6x. Treatment read the skill in 6/6 runs without being told to.
  • All arms except one one-liner run load p5.js from a CDN, so in the offline sandbox no piece could be rendered; the quality of the pictures is not compared.

Dimension scores

DimensionScoreWhy
1_output_quality5.0

Mean score 5.00/5 with the skill (programmatic checks, see per-task table).

2_lift_vs_no_skill2.48

+0.48 points vs 4.52 without the skill (n=2 per task; under ~1 point is noise).

3_trigger5.0Skill file read in 6/6 treatment runs.
4_instructions_portability4

SKILL.md plus two templates; no scripts. Long (300 lines) but self-contained.

5_efficiency2

1.99x tokens (229k vs 115k per run) and 0.91x time (165s vs 181s).

6_safety_hygiene4

Scanner clean (0/0/0). The viewer template pulls p5.js and Google Fonts from the network at open time.

Limits of this test

  • Rule-based checks only (file exists, seed functions, slider markup, word counts); 14 of 15 weighted checks pass for nearly every run, so the check set has a ceiling effect and cannot rank the art itself.
  • No rendering: p5.js comes from a CDN, which the offline sandbox blocks, so none of the sketches was run in a browser.
  • The 'philosophy' check accepts any .md with 150+ words, so a long README can pass; treated here by also counting separate philosophy files (see findings).
  • n = 2 per group per task: differences under about 1 point are noise.
  • Rule-based scoring measures what the checks can see; it cannot judge taste or whether a result is the best possible.

Security

See security.md. Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Verdict: safe to run (no-network sandbox). A clean scan does not prove a skill safe.

Bottom line

The skill reliably produces the two-part deliverable (named philosophy plus seeded, adjustable viewer) and the extra export features, but a one-sentence instruction gets almost the same checks for 60% of the tokens. Worth installing when you want that exact workflow and style; it is not a quality jump the checks can show.

记录

Run log for algorithmic-art: 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-flow control-1: score 5.0, tokens 94113, secs 128.8, checks 5/5, opened nothing
t1-flow control-2: score 5.0, tokens 187333, secs 213.0, checks 5/5, opened nothing
t1-flow oneliner-1: score 5.0, tokens 171520, secs 171.9, checks 5/5, opened nothing
t1-flow oneliner-2: score 5.0, tokens 146539, secs 224.4, checks 5/5, opened nothing
t1-flow treatment-1: score 5.0, tokens 235460, secs 165.8, checks 5/5, opened algorithmic-art
t1-flow treatment-2: score 5.0, tokens 233310, secs 163.5, checks 5/5, opened algorithmic-art
t2-orbits control-1: score 3.57, tokens 59459, secs 160.7, checks 4/5, opened nothing
t2-orbits control-2: score 5.0, tokens 101021, secs 168.0, checks 5/5, opened nothing
t2-orbits oneliner-1: score 5.0, tokens 107085, secs 225.1, checks 5/5, opened nothing

18 次运行、3 个产物

样例产物

前沿 · 装了 skill:index.html(t1-flow,第 1 次,Codex)

<!DOCTYPE html> <!-- THIS IS A TEMPLATE THAT SHOULD BE USED EVERY TIME AND MODIFIED. WHAT TO KEEP: ✓ Overall structure (header, sidebar, main content) ✓ Anthropic branding (colors, fonts, layout) ✓ Seed navigation section (always include this) ✓ Self-contained artifact (everything inline) WHAT TO CREATIVELY EDIT: ✗ The p5.js algorithm (implement YOUR vision) ✗ The parameters (define what YOUR art needs) ✗ The UI controls (match YOUR parameters) Let your philosophy guide the implementation. The world is your oyster - be creative! --> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Tidal Memory ? Particle Flow</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.7.0/p5.min.js"></script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&family=Lora:wght@400;500&display=swap" rel="stylesheet"> <style> /* Anthropic Brand Colors */ :root { --anthropic-dark: #141413; --anthropic-light: #faf9f5; --anthropic-mid-gray: #b0aea5; --anthropic-light-gray: #e8e6dc; --anthropic-orange: #d97757; --anthropic-blue: #6a9bcc; --anthropic-green: #788c5d; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Poppins', sans-serif; background: linear-gradient(135deg, var(--anthropic-light) 0%, #f5f3ee 100%); min-height: 100vh; color: var(--anthropic-dark); } .container { display: flex; min-height: 100vh; padding: 20px; gap: 20px; } /* Sidebar */ .sidebar { width: 320px; flex-shrink: 0; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); padding: 24px; border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 20, 19, 0.1); overflow-y: auto; overflow-x: hidden; } .sidebar h1 { font-family: 'Lora', serif; font-size: 24px; font-weight: 500; color: var(--anthropic-dark); margin-bottom: 8px; } .sidebar .subtitle { color: var(--anthropic-mid-gray); font-size: 14px; margin-bottom: 32px; line-height: 1.4; } /* Control Sections */ .control-section { margin-bottom: 32px; } .control-section h3 { font-size: 16px; font-weight: 600; color: var(--anthropic-dark); margin-bottom: 16px; display: flex; align-items: center; gap: 8px; } .control-section h3::before { content: '•'; color: var(--anthropic-orang [... excerpt: first 3200 of 20646 characters]

查看 Pro