Seeded image crops
@slashclone/seeded-image-crops
Give every card, profile, and page header its own cover from just a few hero images: each item gets a stable crop (a hand-picked framing, nudged per item), the same every time it loads. One small file shared by every card, so a page of cards downloads the images once. Includes a checker that previews how evenly your items spread across the crops.
- Activity
- New: be the first to try it
- Installs
- 0 installs
- Likes
- 0 likes
- Clones
- 0 clones
- 1{
- 2 "name": "seeded-image-crops",
- 3 "owner": "slashclone",
- 4 "version": "0.1.0",
- 5 "type": "skill",
- 6 "description": "Give every card, profile, and page header its own cover from just a few hero images: each item gets a stable crop (a hand-picked framing, nudged per item), the same every time it loads. One small file shared by every card, so a page of cards downloads the images once. Includes a checker that previews how evenly your items spread across the crops.",
- 7 "category": "content",
- 8 "license": "MIT",
- 9 "compat": ["claude-code"],
- 10 "permissions": {
- 11 "shell": ["node scripts/check-crops.mjs"],
- 12 "files": { "read": ["**"], "write": ["**"] }
- 13 },
- 14 "tests": {
- 15 "cases": [
- 16 {
- 17 "name": "spreads 200 seeds across the example framings, the same every run",
- 18 "inputs": {},
- 19 "checks": [
- 20 {
- 21 "type": "command_exits_zero",
- 22 "command": "node scripts/check-crops.mjs --crops examples/crops.json --seeds 200 --out out/crop-report.json"
- 23 },
- 24 {
- 25 "type": "output_matches_schema",
- 26 "path": "out/crop-report.json",
- 27 "schema": {
- 28 "type": "object",
- 29 "required": ["framings", "distinct", "stable"],
- 30 "properties": {
- 31 "framings": { "const": 10 },
- 32 "stable": { "const": true },
- 33 "distinct": { "type": "integer", "minimum": 150 }
- 34 }
- 35 }
- 36 }
- 37 ]
- 38 }
- 39 ]
- 40 }
- 41}

