1实现原理 · 为什么它能做到
纯 prompt 编排的分阶段生成 skill:无任何脚本/CLI/API 调用,全部能力来自给 agent 的阶段化指令 + 两个模板文件
SKILL.md
This happens in two steps: 1. Algorithmic Philosophy Creation (.md file) 2. Express by creating p5.js generative art (.html + .js files)
注:目录仅 SKILL.md + templates/(viewer.html、generator_template.js) + LICENSE.txt;无 .py/.sh,实现全部发生在模型的文本生成中
先产出『算法哲学』(艺术运动宣言 .md),再由同一会话后段把哲学翻译成代码——两阶段接力设计
SKILL.md
The same version receives the philosophy and EXPRESSES IT IN CODE - creating p5.js sketches that are 90% algorithmic generation, 10% essential parameters.
注:哲学段落在做什么:把『写画』重构为『先定义一个计算美学运动,再实现它的代码表达』,避免模型直接堆图案
产出 HTML 不是自由发挥,而是以 templates/viewer.html 为『字面起点』:保留 FIXED 段(布局、Anthropic 品牌、seed 控件、Actions),只替换参数与算法
SKILL.md
Use that file as the LITERAL STARTING POINT - not just inspiration
注:模板头注释 WHAT TO KEEP / WHAT TO CREATIVELY EDIT(viewer.html 1-10 行)与 SKILL 互为印证;这是约束输出风格的机制
『画』本身由模型现场编写:模板中算法区是占位注释,模型按哲学与概念种子现写 generateFlowField/draw/Particle 等
templates/viewer.html
function generateFlowField() { // fill this in }
注:没有预置算法库/图案菜单,输出质量取决于模型能力 + 模板约束;generator_template.js 只提供结构原则与工具函数(hexToRgb、mapRange、saveCanvas…),SKILL 明言 'These are TOOLS and PRINCIPLES, not a recipe'
可复现性纪律(Art Blocks 风格):同 seed 必须同输出,randomSeed+noiseSeed 双种子
SKILL.md
randomSeed(seed); noiseSeed(seed);
注:模板 initializeSystem() 与 generator_template.js initializeSeed() 都实现该模式;viewer.html 的 prev/next/random 按钮都重新 initializeSystem()
独特的概念层:从用户原始请求中『演绎概念种子』——把微妙引用织进算法参数与行为而非字面复刻
SKILL.md
The concept is a **subtle, niche reference embedded within the algorithm itself** - not always literal, always sophisticated.
注:自称是作品的『安静的概念 DNA』,类比爵士乐手的引句;这是把用户输入转化为差异化作品的关键设计
2核心能力
01生成 4-6 段的『算法哲学/生成艺术运动宣言』并输出为 .md
02从用户请求演绎微妙的概念种子(conceptual seed)嵌入算法
03基于固定品牌模板生成自包含交互式 p5.js HTML artifact(seed 控件/参数滑块/取色器/重置一体)
04种子化可复现生成 + 种子导航(显示/Prev/Next/Random/跳转),可一键产出 100 个变体
05参数化系统设计:把哲学特性映射为可调参数(数量/尺度/概率/比例/角度/阈值)并生成对应 UI 滑块
06PNG 导出能力(saveCanvas)
07创作自由度裁剪:可静态(noLoop)、动画、或参数触发重绘三种生命周期;支持实时参数/取色更新
3外部依赖
| 类型 | 依赖 |
|---|---|
| network | p5.js CDN |
| network | Google Fonts (Poppins/Lora) |
| package | p5.js 1.7.0 (浏览器端库) |
4风险提醒 风险提醒:蓝色 · 知晓即可
风险提醒:蓝色 · 知晓即可
- 产物即 LLM 即时生成的 JS,可能含非预期行为 — SKILL 全部机制都依赖模型现场写算法与 UI handler;代码未经人工审查即交付用户执行(artifact 沙箱/本地浏览器)。渲染前抽查生成代码为宜
- 『工艺感』措辞指令具有夸大呈现倾向 — SKILL.md:49 明确要求哲学文本反复声称作品出自『field 顶尖者』『无数小时打磨』——美学宣言的自我评价部分是脚本化话术而非客观描述,读者宜知悉
- SKILL.md 与模板实物存在文档漂移 — 声称的 Regenerate/Download PNG/Go 按钮实际缺失、文件交付类型说法互斥(.js 文件 vs 内嵌禁建)——按模板实物执行为准,勿照文档清单验收
- 『自包含/离线可用』表述不完全成立 — 产物运行时需联网加载 cdnjs p5.js 与 Google Fonts;完全离线环境需另备本地 p5 库
- 安全面整体很低(🔵),无脚本/凭证/外发 — 网络外发发生在产物使用侧浏览器,非 skill 执行侧;无注入面外的意外通道
🔵 蓝:skill 本体为纯指令(无脚本、无网络外发、无凭证读取),仅本地读模板 + 写交付文件(.md/.html),符合『仅本地读写』档位而非 🟢(🟢 要求无本地写入,而本 skill 明确要求写出文件)。注意两个使用侧事实:① 产物 HTML 在用户浏览器打开时加载 cdnjs p5.js 与 Google Fonts(网络外发在产物使用侧,非 agent 执行侧);② 产物含模型即时编写的 JS,属任意代码执行面,但运行于 artifact 沙箱/本地浏览器且无凭证环境。SKILL.md:109-113 要求先 Read 模板,:302 声称产物除 p5 CDN 外无外部依赖——实际字体也是外部依赖。
5第二遍独立确认
- [ok] 外部资源:p5.js cdnjs 引用真实存在 — viewer.html:23 确有 cdnjs p5 1.7.0 script 标签
- [ok] 外部资源:Google Fonts 引用真实存在 — viewer.html:24-26 preconnect + stylesheet(Poppins/Lora)
- [ok] 模板即起点、算法区为占位(实现原理核心证据) — viewer.html 中 generateFlowField()/draw()/Particle 构造/updateParam/updateColor 均为 '// fill this in' 占位注释
- [discrepancy] SKILL.md 声称 FIXED Actions = Regenerate + Reset + Download PNG 按钮 — 实际 viewer.html Actions 区(425-427 行)仅有 Reset 按钮;模板无 Regenerate 与 Download PNG 按钮。重生成靠 seed 的 Prev/Next/Random 隐式完成;PNG 导出函数 exportImage() 只在 generator_template.js 中存在且无 UI 接线
- [discrepancy] SKILL.md 声称 seed 区含『Jump to seed input + Go button』 — viewer.html:342 只有 <input type=number onchange=updateSeed()>,无 Go 按钮(跳转功能在,UI 形态与描述不符,属轻微出入)
- [discrepancy] 文档内部一致性:交付文件类型 — SKILL.md:7/11 称输出 .md + .html + .js 三类文件,SKILL.md:399 却要求 'Embed algorithms inline in the HTML artifact (don't create separate .js files)',正文 302 行又称产物除 p5 CDN 外无任何外部导入(未计字体)——同一文档三处表述互斥
- [discrepancy] 『works immediately in any browser - no setup required / completely self-contained』声明 — 产物依赖 cdnjs p5.js 与 Google Fonts 两个网络端点,离线/无网环境无法立即工作;『自包含』仅在联网前提下成立
- [ok] 双种子可复现模式(randomSeed+noiseSeed)落地 — SKILL.md:139-140 指令 + viewer.html initializeSystem() 内 'randomSeed(params.seed); noiseSeed(params.seed);' 双处一致
6结论
适合:适合想让 Claude 产出『有主题深意 + 可交互 + 可复现』生成艺术的用户:艺术概念探索、NFT/Art Blocks 风格系列(种子导航天然支持 100 连发)、快速做带 Anthropic 品牌观感的交互 demo。也适合教学:把生成艺术拆成『哲学 → 算法』两个可审视阶段。
不适合:不适合:离线/无网环境用户(CDN/字体依赖);需要精确复刻某位艺术家的既有风格/作品(skill 显式禁止);对生成代码安全有零容忍要求的受控环境(模型即时写码需抽查);把 SKILL.md 里的按钮/文件清单当合同验收的用户(与模板实物有出入)。
安装 agent 直装可复制
② 上游 GitHub · 原始来源
来源信息 GitHub 原始
作者 / 仓库anthropics / anthropics/skills
原始 GitHubanthropics/skills ↗
Stars174801
最近推送2026-09-03
本 skill commit
41bbe19d1a许可Apache-2.0(skill 目录自带 LICENSE.txt;GitHub API 仓库级 license 字段为 null)
本站信息
收录日期2026-09-06
分类内容创作
侦查报告2026-09-06 · 2 遍
本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。