Roll a fresh, machine-random set of binding design constraints before any visual design work, so no two sessions converge on the same "safe" layout. Use when starting any web/UI design, landing page, hero, portfolio, or redesign — and especially when the user says designs feel samey, generic, templated, or "like every other Claude page."
How this skill is triggered — by the user, by Claude, or both
Slash command
/mauriciovieira-skills:creative-constraintsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Forces design divergence by rolling random constraints **before** any markup is
Forces design divergence by rolling random constraints before any markup is written. The model's default instinct is the statistical average of all websites (status pills, soft-rounded cards, centered hero + subtitle, muted slate). This skill replaces that average with a fresh, opinionated constraint set each run.
Roll. Run the dice script — do not pick the constraints yourself, the entropy is the whole point:
node ~/.claude/skills/creative-constraints/scripts/roll.mjs
It picks one option from each of four binding axes:
Present for approval. Show the rolled set verbatim, plus one line per axis on how you'll honor it for this specific page/brand. Then ask the user to approve, or re-roll any single axis they dislike. Do not write code before approval.
Design within the constraints. All four are binding — not suggestions, not "accents." If a constraint feels awkward, that friction is the source of the novelty; solve it, don't soften it.
Regardless of the roll, never reach for these house-style tells:
If you catch yourself adding one, stop and find another solution.
roll.mjs --json emits JSON if you want to swap a
single value programmatically.npx claudepluginhub mauriciovieira/skillsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.