skills/dwitter-expert/SKILL.md
Expert knowledge for creating, analyzing, and optimizing Dwitter (dwitter.net) visual JavaScript demos in 140 characters
npx skillsauth add sschepis/oboto dwitter-expertInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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*speeddevelopment
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).
development
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.
development
# Route Management Skill This skill teaches the agent how to configure route mappings for the workspace content server. ## Overview The workspace content server serves files and surfaces from the current workspace. By default, it serves: - `/images/` -> `public/generated-images/` - `/` -> `public/` (if exists) - `/surface/:id` -> Surface HTML Preview You can customize this behavior by creating a `.route-map.json` file in the workspace root. ## Route Map Configuration The `.route-map.json`
data-ai
A Wolfram Alpha-like skill for solving mathematical problems, converting units, and retrieving factual data.