一键导入
dwitter-expert
Expert knowledge for creating, analyzing, and optimizing Dwitter (dwitter.net) visual JavaScript demos in 140 characters
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Expert knowledge for creating, analyzing, and optimizing Dwitter (dwitter.net) visual JavaScript demos in 140 characters
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generates images, videos, and animations via local ComfyUI. Builds workflow DAGs programmatically, submits to ComfyUI API, polls for results. Supports text-to-image, image-to-image, image-to-video (SVD), and AnimateDiff. Includes beauty product photography templates. Designed for M4 Mac with 128GB RAM.
Talkdown — An AI-based execution language. Markdown documents are programs, LLMs are the runtime. Supports document chaining, hybrid AI/code execution, pluggable LLM providers, and Next.js-style route deployment.
Design intelligence skill providing UI styles, color palettes, font pairings, chart types, and UX guidelines for building professional interfaces. Based on the open-source UI UX Pro Max project (github.com/nextlevelbuilder/ui-ux-pro-max-skill).
A Wolfram Alpha-like skill for solving mathematical problems, converting units, and retrieving factual data.
| name | dwitter-expert |
| description | Expert knowledge for creating, analyzing, and optimizing Dwitter (dwitter.net) visual JavaScript demos in 140 characters |
| tags | ["javascript","creative-coding","code-golf","canvas","demoscene"] |
A social platform for creating visual JavaScript demos in 140 characters or fewer.
u(t) called every frame at 60fpst = elapsed time in secondsc (canvas), x (2D context), S (Math.sin), C (Math.cos), T (Math.tan), R(r,g,b,a) (rgba color helper)frame variable available (integer frame count)GET https://www.dwitter.net/api/dweets/?limit=100 # list dweets (max 100 per page)
&offset=200 # pagination
&author=username # filter by author
&remix_of=123 # remixes of dweet 123
GET https://www.dwitter.net/api/dweets/123 # single dweet
GET https://www.dwitter.net/api/users/username # user info
Response: {count, next, previous, results: [{id, code, posted, author:{username}, link, awesome_count, remix_of}]}
Total dweets: ~25,457. Use for studying patterns, finding inspiration, analyzing techniques.
for(x.fillRect(0,0,w=2e3,w),h=i=540;i--;)x.clearRect(960+(S(p=i/35+S(t/2)*60)*S(q=(i/57|0)*h))/(Z=C(p)*S(q)+2+S(t))*h,h+C(q)/Z*h,s=20/Z,s)
c.width|=0
with(x)for(translate(900,500),i=9*t;i-->0;fill())fillStyle='hsl('+9*i+',99%,50%)',fillRect(5*i,0,a=40*S(i*.9)+60,a),rotate(-3.88)
c.width=2e3;x.lineWidth=9;for(i=0;s=300,a=s/(s-(t+i*s/400)%s),i<400;i++){x.strokeRect(999-a*(1+S(t))/2,500-a*(1+C(t*2))/2,a,a)}
for(x.fillRect(0,0,i=c.width|=h=540,i*=9);i--;x.clearRect(960+(i**.9%1-.5)*S(t/2)*l/Z*h,h+(i**2.1%1-.5)*l/Z*h,s=l/Z,s))Z=(l=99)-(i+t*30)%98
for(r=500,i=1e4;i--;x.fillRect(960+r*X,540+r*Y,9,9))Z=i**.9%1,W=1-Z*Z,X=W*S(a=i*t),Y=W*C(a),x.fillStyle=R(v=(S(t)*Z-C(t)*X-Y/2)*400,v/2,30)
for(c.width=A=99;A;R+=.1)(t+R*A/50-R^R)%5||x.fillRect(A--,28-22/R,R/5,44/R,R=1)
c.width|=w=99
for(i=13;i--;)for(j=12;j--;)x.fillRect(i&&(2*i-4+j%2+(j%4<3?j%4:1)*t/3%2)*w,j*w,i?w:3e3,i?w:5)
c.width|=0;for(i=240*135;i--;){X=i%240,Y=i/240|0
v=((X^Y)+~~(t*9))%128
x.fillStyle=`hsl(${X*2+t*60} 99%${30+v/2}%)`;x.fillRect(X*8,Y*8,8,8)}
for(c.width|=i=9;i--;)
x.rect(400+i*50+S(t)*300,400+S(i/2+t*9)*99*S(t)**9,450,200)
x.fill`evenodd`
for(c.width|=j=16;j--;)for(i=500;i--;)x.fillRect(293+j%4*450+99*C(i*(j/3+1|0)+t/3)*S(i+t),160+(j>>2)*250+99*C(i*(j%3+1)+t/5)*C(i+t/2),9,9)
c.width|=0 clears canvas (instead of clearRect) — 12 chars savedfor(i=N;i--;) reverse loop — saves i=0;i<N;i++for(;cond;a++,b++) — avoids semicolons|0 instead of Math.floor() — 12 chars saved~~v double bitwise NOT = floor — 2 chars vs Math.floor1e3 = 1000, 2e3 = 2000, 1e4 = 10000with(x) drops x. prefix on all canvas calls`hsl(${v} 99%50%)` — no concatenation neededx.fillRect(x,y,w,h) — abuse extra args ignoredx.fillStyle=R(r,g,b,a) — built-in rgba helperfor(i=N;i--;x.fillRect(expr,expr,s,s)) — draw in loop updatescreenX = 960 + X/Z * 540 (center + world/depth * halfHeight)i**.9%1 or i**3.1%66 — deterministic random from index`hsl(${i*t} 99%${i}%)` — time-based hue, index-based lightnessx.fillRect(0,0,2e3,2e3) with alpha: R(0,0,0,.1)fillRect black, then clearRect to carve out shapeswith(x) + translate(960,540) + rotate(angle) for kaleidoscopesp=azimuth, q=cross; X=S(p)*S(q), Y=C(q), Z=C(p)*S(q)+offsetZ=i/N*2-1, r=sqrt(1-Z*Z), X=r*C(a), Y=r*S(a)S(i/freq + t*speed) * amplitudefor(;cond;x.fillRect(...)) — saves a lineeval(unescape(escape\...`.replace(/u../g,'')))`
a=b=c=0 chained assignmentt creatively — S(t), t%period, t*speed