test-driven-development
OBobra/superpowers298k2,631 new stars in the last 7 days
Generate a browser-based p5.js curtain simulation that weaves user-supplied PNG, JPEG, or WebP artwork and optional text into individually moving strands. Use when users ask for an interactive curtain or thread simulation, artwork woven into cloth or ropes, image-bearing fabric motion, 可交互线帘/幕布, 图片织入布料, printed curtain effects, or a customizable browser-based fabric reveal.
scripts/create_printed_curtain.py.VALIDATION=PASS and OUTPUT_HTML=<absolute path>.file://; browser canvas security can prevent local artwork pixels from being sampled./usr/local/bin/python3 scripts/create_printed_curtain.py \
--image "/absolute/path/to/artwork.png" \
--text "VIBE MOTION" \
--output-dir "$(pwd)/out/printed-curtain"
Use the installed skill copy, not a source checkout of this skill collection:
skill_dir=""
for base in "${AGENTS_HOME:-$HOME/.agents}" "${CLAUDE_HOME:-$HOME/.claude}" "${CODEX_HOME:-$HOME/.codex}"; do
if [ -d "$base/skills/printed-curtain-render" ]; then
skill_dir="$base/skills/printed-curtain-render"
break
fi
done
[ -n "$skill_dir" ] || { echo "printed-curtain-render skill not found under ~/.agents, ~/.claude, or ~/.codex"; exit 1; }
/usr/local/bin/python3 "$skill_dir/scripts/create_printed_curtain.py" \
--image "/absolute/path/to/artwork.png" \
--text "VIBE MOTION" \
--output-dir "$(pwd)/out/printed-curtain"
Serve the generated directory, then open the printed URL:
/usr/local/bin/python3 -m http.server 8000 --directory "$(pwd)/out/printed-curtain"
H to toggle the live controls and image picker.R to rebuild the cloth.--text to add multiple centered text lines.--image-fit contain|cover|stretch and the --image-x, --image-y, --image-width, and --image-height artboard controls to place artwork on the 1200×1600 material canvas.--text-y, --text-width, --text-height, --text-gap, --font-family, and --font-weight to refine type.--cloth-color, --ink-color, and --background-color with CSS hex colors.--overwrite only to update generated filenames in an existing output directory. It keeps unrelated files.artwork.js for fine-grained image layers or per-line colors without forking the physics engine.--overwrite is explicit.VIBE MOTION curtain when neither --image nor --text is supplied.The bundled curtain engine is adapted from Jason Labbe's Dynamic ropes 2 and remains licensed under CC BY-SA 4.0. Preserve its source attribution and share adaptations under the same license.
OBobra/superpowers298k2,631 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
AFaffaan-m/ECC278k4,046 new stars in the last 7 days
Audit accessibility on Web, iOS, and Android to meet WCAG 2.2, with keyboard navigation and screen-reader support.
AFaffaan-m/ECC278k4,046 new stars in the last 7 days
AFaffaan-m/ECC278k4,046 new stars in the last 7 days
FIfirecrawl/firecrawl191k2,010 new stars in the last 7 days