모든 스킬

algorithmic-art (Anthropic)

p5.js로 시드 기반 난수와 대화형 매개변수 탐색을 활용해 독창적인 생성 예술을 만듭니다.

algorithmic-art: 모든 그룹이 규칙 검사를 통과했지만(4.5 / 4.8 / 5.0), 실제 철학 문서를 작성한 것은 스킬 사용군과 한 문장 프롬프트군뿐이며, 스킬 사용 시 토큰을 2배 사용합니다.

상황에 따라안전

Codex CLI · gpt-6-astra

22.5 / 30

스킬 없이 대비 향상폭: +0.48 · 상황에 따라 · 18회 실행

상황에 따라: 향상폭 +0.48가 +1.0 미만. 추천이 되려면 총점 22/30, 출력 품질 3.5, 향상폭 +1.0이 필요합니다.

SOTA

통과

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

보안 리뷰

안전

정적 스캔: CRITICAL 0 / HIGH 0 / MEDIUM 0. 수동 검토: 설치 안전. 스캔이 깨끗하다고 해서 스킬이 안전하다는 증거는 아닙니다.

설치

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

출처

고정 커밋: ca45fc496a3436251f191354091d557da31c15b5

테스트일: 2026-11-02

테스트한 과제

  • 플로 필드 아트 — p5.js로 생성 예술을 만드세요: 수천 개 입자의 플로 필드입니다. 탐색 가능하게(시드 고정, 조절 가능) 만드세요. 현재 폴더에 파일로 전달하세요.
  • 입자 시스템 아트 — p5.js로 알고리즘 아트 작품을 만드세요: 여러 어트랙터 주위를 도는 입자들이 궤적을 남깁니다. 시드를 고정하고 상호작용할 수 있어야 합니다. 현재 폴더에 파일로 전달하세요.
  • 열린 브리프 — 조수 웅덩이에서 영감을 받은 독창적인 알고리즘 아트 작품을 p5.js로 만드세요. 시드 기반 난수와 파라미터 조절 기능을 포함하세요. 현재 폴더에 파일로 전달하세요.

장점

  • 스킬 이름을 언급하지 않았는데도 적용되었습니다. 스킬 사용군 실행 6/6회에서 스킬 파일을 읽었습니다.
  • 스킬 사용 시 높은 절대 품질: 5.0/5.

단점

  • 스킬 없이보다 토큰을 1.99배 사용합니다.
  • 테스트 참고: p5 라이브러리를 CDN에서 불러오는데 네트워크가 꺼진 샌드박스에서는 접근할 수 없어, 생성된 페이지는 규칙으로만 검사했고 렌더링하지는 않았습니다.
  • 과제·그룹당 n=2이며, 약 1점 미만의 차이는 노이즈입니다.

리뷰

Codex CLI 0.166 (gpt-6-astra, low reasoning)을 전용 Windows 테스트 PC에서 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬 설치(스킬 사용군), 미설치(대조군), 미설치 상태에서 스킬의 핵심 요구사항만 한 문장으로 압축해 프롬프트에 덧붙인 경우(한 문장 프롬프트군)로 나눴으며, 과제·그룹당 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 언급하지 않았습니다(아래에 적은 경우 제외). 과제는 수천 개 입자의 플로 필드, 궤도·하모닉 작품, '조수 웅덩이'를 소재로 한 열린 브리프 세 가지이며, 모두 p5.js를 사용하고 시드를 고정하며 조정 가능한 결과물을 파일로 만들도록 요청했습니다. 스킬 사용군은 대조군과 같은 프롬프트를 사용합니다(스킬은 설명이 일치해 자동으로 적용됩니다). 한 문장 프롬프트군에는 '먼저 짧은 알고리즘 철학을 쓰고, 이어서 대부분 생성적이고 시드가 고정되며 HTML 뷰어에서 파라미터를 조절할 수 있는 코드를 작성하라'는 문장을 추가했습니다.

3개 그룹 비교

그룹평균 점수 (0-5)실행당 토큰
스킬 없음4.52115k
한 문장 프롬프트4.76145k
스킬 사용5.0229k

Codex CLI에서 18회 실행해 측정했고, LLM 심사 없이 규칙 기반 검사로 채점했습니다. 총점 22.5 / 30, 판정 상황에 따라.

참고: p5 라이브러리는 CDN에서 로드되는데, 네트워크가 차단된 샌드박스에서는 접근할 수 없습니다. 따라서 생성된 페이지는 렌더링하지 않고 규칙으로만 검사했습니다.

판정: 상황에 따라 다름 (22.5 / 30). 출처: anthropics/skills, skills/algorithmic-art, 커밋 ca45fc4에 고정. 설치: npx skills@latest add anthropics/skills --skill algorithmic-art. 라이선스: Apache-2.0 / Anthropic 약관(스킬의 LICENSE.txt 참조).

무엇인가

anthropics/skills의 algorithmic-art 스킬은 p5.js로 제너레이티브 아트를 만드는 2단계 절차를 제시합니다. 먼저 '알고리즘 철학'(이름 붙인 미학 운동, 4~6문단)을 쓰고, 이를 시드가 적용된 p5.js 코드로 표현해 스킬의 viewer.html과 generator_template.js로 만든 대화형 HTML 뷰어에 담습니다. 라이선스는 LICENSE.txt에 있습니다(이 스킬에는 Apache 방식 적용).

테스트 방법

전용 Windows 테스트 PC에서 Codex CLI 0.166(gpt-6-astra, 낮은 추론)을 실행했고, 실행마다 새 임시 프로젝트와 임시 HOME/TMPDIR/캐시를 사용했습니다. 스킬을 설치한 경우(스킬 사용군), 설치하지 않은 경우(대조군), 스킬 없이 스킬의 핵심 요구사항을 한 문장으로 압축해 프롬프트 끝에 붙인 경우(한 문장 프롬프트군)로 나눴고, 작업마다 각 군 2회씩 실행했습니다. 네트워크는 끄고 /tmp 쓰기는 차단했습니다. 프롬프트에는 스킬 이름을 전혀 언급하지 않았습니다(아래에 적은 표현은 예외).

작업은 세 가지입니다. 수천 개 입자의 플로우 필드, 궤도·조화를 다룬 작품, 그리고 '조수 웅덩이'를 소재로 한 자유 주제이며, 모두 p5.js로 시드가 고정되고 조정 가능한 결과물을 파일로 만들 것을 요구합니다. 스킬 군은 대조군과 같은 프롬프트를 사용합니다(스킬은 설명 일치로 자동 선택됨). 한 문장 프롬프트 군에는 "먼저 짧은 알고리즘 철학을 쓰고, 대부분이 생성 알고리즘이며 시드가 고정되고 HTML 뷰어에 매개변수 조절 기능이 있는 코드를 작성하세요"라는 문장을 하나 덧붙였습니다.

  1. 플로우 필드 아트 — p5.js로 제너레이티브 아트를 만들어 주세요: 수천 개의 입자로 이루어진 플로우 필드입니다. 탐색할 수 있어야 합니다(시드 고정, 조정 가능). 현재 폴더에 파일로 전달해 주세요.
  2. 입자 시스템 아트 — p5.js로 알고리즘 아트 작품을 만들어 주세요: 여러 인력점 주위를 도는 입자가 흔적을 남기는 작품입니다. 시드가 고정되고 상호작용할 수 있어야 합니다. 현재 폴더에 파일로 전달해 주세요.
  3. 자유 주제 — 조수 웅덩이에서 영감을 받은 독창적인 알고리즘 아트 작품을 p5.js로 만들어 주세요. 시드 기반 무작위성과 매개변수 조절 기능을 넣고, 현재 폴더에 파일로 전달해 주세요.

채점은 프로그램 방식(숨은 테스트, 심어 둔 문제 탐지, 제약 조건 검사, 해당되는 경우 렌더링+OCR)으로 실행당 0~5점입니다. 점수를 결정한 LLM 심사자는 없습니다.

결과

세 번째 군에 전달한 한 문장 프롬프트: "먼저 짧은 알고리즘 철학(이름 붙인 미학 운동)을 쓰고, 대부분이 생성 알고리즘이며 시드 기반 난수 생성기를 사용해 같은 시드로 같은 작품이 재현되고 대화형 HTML 뷰어에 매개변수 조절 기능을 노출하는 p5.js 코드로 표현하세요."

작업대조군 점수한 문장 프롬프트스킬 사용대조군 토큰한 문장 프롬프트 토큰스킬 사용 토큰스킬 읽음
t1-flow5.05.05.0140k159k234k2/2
t2-orbits4.294.295.080k126k248k2/2
t3-original4.295.05.0124k148k203k2/2

평균 점수: 스킬 없음 4.52, 스킬 사용 5.0(차이 +0.48). 실행당 토큰: 115k 대 229k(1.99배), 시간: 181초 대 165초. 한 문장 프롬프트 군: 4.76(한 문장 프롬프트 대비 스킬의 이득 +0.24, 스킬 없음 대비 한 문장 프롬프트의 이득 +0.24). 한 문장 프롬프트의 실행당 토큰은 145k이므로 스킬은 한 문장 프롬프트의 1.58배 비용을 씁니다.

무슨 일이 있었나

  • 대조군도 기본은 이미 갖추고 있었습니다. 6/6회 실행에서 뷰어 HTML, 시드가 적용된 스케치, 슬라이더를 만들었습니다. 점수 차이는 거의 전부 '철학' 검사에서 나왔습니다. 대조군은 README(126~226단어)만 썼고 2회 실행에서는 150단어 기준을 넘지 못했으며, 대조군 6회 중 어느 실행도 별도의 철학 파일을 만들지 않았습니다. 평균은 대조군 4.52, 한 문장 프롬프트 4.76, 스킬 사용 5.00입니다.
  • 스킬을 쓰면 철학 작성 단계가 안정적으로 이루어집니다. 스킬 사용군은 6/6회 실행에서 philosophy.md(410~520단어)를 작성했고, 한 문장 프롬프트 군도 6/6회 모두 작성했습니다(290~460단어). 18회 실행 중 시드 설정이 실패한 유일한 사례는 한 문장 프롬프트 군의 한 실행(t2-orbits)으로, randomSeed/noiseSeed를 전혀 사용하지 않았습니다.
  • 스킬은 요청하지 않은 산출물도 추가했습니다. 내보내기/저장 코드(스킬 사용군의 뷰어에서 download/saveCanvas 참조가 각각 5, 8, 3회, 대조군은 1회), 추가 파일(실행당 8.3개, 대조군 4개), 그리고 2회 실행에서는 템플릿을 이어 붙이는 도우미 스크립트(build_art.py, verify.cjs)까지 만들었습니다.
  • 비용: 스킬 사용 시 실행당 229k 토큰으로 대조군 115k, 한 문장 프롬프트 145k의 약 2.0배, 1.6배입니다. 스킬 사용군은 따로 지시받지 않고도 6/6회 실행에서 스킬을 읽었습니다.
  • 한 문장 프롬프트 군의 한 실행을 제외한 모든 군이 p5.js를 CDN에서 불러왔기 때문에 오프라인 샌드박스에서는 어떤 작품도 렌더링할 수 없었습니다. 그림의 품질은 비교하지 않았습니다.

항목별 점수

항목점수근거
1. 출력 품질5.0

스킬 사용 시 평균 5.00/5(프로그램 검사, 작업별 표 참조).

2. 스킬 없음 대비 향상2.48

스킬 없음 4.52 대비 +0.48점(작업당 n=2, 약 1점 미만은 노이즈).

3. 트리거5.0스킬 사용군 6/6회 실행에서 스킬 파일을 읽었습니다.
4. 지침 이식성4

SKILL.md와 템플릿 2개, 스크립트는 없습니다. 300줄로 길지만 자체 완결적입니다.

5. 효율성2

토큰 1.99배(실행당 229k 대 115k), 시간 0.91배(165초 대 181초).

6. 안전성·위생4

스캐너 이상 없음(0/0/0). 뷰어 템플릿은 열 때 p5.js와 Google Fonts를 네트워크에서 가져옵니다.

이 테스트의 한계

  • 규칙 기반 검사만 사용했습니다(파일 존재, 시드 함수, 슬라이더 마크업, 단어 수). 가중치가 있는 검사 15개 중 14개를 거의 모든 실행이 통과해 검사 집합에 천장 효과가 있으며, 작품 자체의 순위는 매길 수 없습니다.
  • 렌더링 없음: p5.js를 CDN에서 가져오는데 오프라인 샌드박스가 이를 차단해 어떤 스케치도 브라우저에서 실행하지 못했습니다.
  • '철학' 검사는 150단어 이상의 .md 파일이면 무엇이든 통과시키므로 긴 README도 통과할 수 있습니다. 여기서는 별도 철학 파일도 세는 방식으로 보완했습니다(결과 참조).
  • 작업·군당 n = 2: 약 1점 미만의 차이는 노이즈입니다.
  • 규칙 기반 채점은 검사가 볼 수 있는 것만 측정합니다. 취향이나 결과가 최선인지는 판단할 수 없습니다.

보안

security.md를 참조하세요. 스캔: CRITICAL 0 / HIGH 0 / MEDIUM 0. 판정: 실행해도 안전(네트워크 차단 샌드박스). 깨끗한 스캔 결과가 스킬의 안전성을 증명하지는 않습니다.

결론

이 스킬은 2부 구성 산출물(이름 붙인 철학 + 시드 기반의 조정 가능한 뷰어)과 추가 내보내기 기능을 안정적으로 만들어 냅니다. 다만 한 문장 지시만으로도 토큰의 60%로 거의 같은 검사를 통과합니다. 바로 이 워크플로와 스타일이 필요할 때 설치할 만하며, 검사로 입증할 수 있는 품질 도약은 아닙니다.

트랜스크립트

실행 로그: algorithmic-art (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.)
열: 작업, 그룹-회차, 점수(0-5), 토큰, 초, 통과한 검사, 에이전트가 연 스킬 파일.

t1-flow control-1: 점수 5.0, 토큰 94113, 초 128.8, 검사 5/5, 연 파일 없음
t1-flow control-2: 점수 5.0, 토큰 187333, 초 213.0, 검사 5/5, 연 파일 없음
t1-flow oneliner-1: 점수 5.0, 토큰 171520, 초 171.9, 검사 5/5, 연 파일 없음
t1-flow oneliner-2: 점수 5.0, 토큰 146539, 초 224.4, 검사 5/5, 연 파일 없음
t1-flow treatment-1: 점수 5.0, 토큰 235460, 초 165.8, 검사 5/5, 연 파일 algorithmic-art
t1-flow treatment-2: 점수 5.0, 토큰 233310, 초 163.5, 검사 5/5, 연 파일 algorithmic-art
t2-orbits control-1: 점수 3.57, 토큰 59459, 초 160.7, 검사 4/5, 연 파일 없음
t2-orbits control-2: 점수 5.0, 토큰 101021, 초 168.0, 검사 5/5, 연 파일 없음
t2-orbits oneliner-1: 점수 5.0, 토큰 107085, 초 225.1, 검사 5/5, 연 파일 없음

18회 실행, 아티팩트 3개

샘플 출력

SOTA · With the skill: index.html (t1-flow, run 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 보기