算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
design-system-generate【设计与创意】Generate a complete, accessibility-checked design system from scratch — colour ramps, type scale, spacing, elevation, and exports for CSS, Tailwind, design tokens, Figma, VS Code and PowerPoint. Use when asked to create a design system, pick a colour palette, build a starter theme, produce design tokens for a new product, or apply an existing brand c…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
There is a skill for auditing a design system that exists and a skill for extracting one from a brand that exists. This one is for the case in between: there is no system, and something ships on Thursday.
The output is not a mood board. It is a set of files an engineer can commit, with a contrast audit attached to them.
Ask for these if not provided:
#E4002B and so on). If there
isn't one yet, say so and let it choose.This skill is a thin wrapper around a deterministic generator. Do not invent hex values — run it.
# Look at one first
npx --yes notugly <seed> --vibe editorial
# Lock a brand colour that is not up for discussion
npx --yes notugly <seed> --brand "#e4002b"
# Write the files
npx --yes notugly export <seed> --brand "#e4002b" --out ./design
npx --yes notugly slides <seed> --out ./deck # .thmx for PowerPoint/Keynote
npx --yes notugly storybook <seed> --out ./stories
# Prove the claim rather than making it
npx --yes notugly audit <seed> --brand "#e4002b"
npx --yes notugly vision <seed> # colour-blind collisions
npx --yes notugly print <seed> # what survives CMYK
export writes ten files: CSS custom properties, a Tailwind config, W3C design
tokens, React and Svelte snippets, a demo page, a loadable Figma plugin, and a
VS Code theme. Runtime cost is zero — it is all static text, so there is no
package to install and nothing to break at 3am.
Zero dependencies and no model call, so it is free to run and gives the same answer every time.
Start from the constraint, not the palette. If there is a mandated brand
colour, pass it to --brand and build everything else around it. Generating
a lovely system and then discovering it cannot accommodate the company red is
the most common way this work gets thrown away.
Let the text colour be derived, never chosen. The generator picks each text colour from its background so that no combination can fail. If you find yourself hand-picking a hex for body copy, you have left the system.
Check it against the three things nobody checks. Colour-blind collisions
(vision), the CMYK gamut if anything will be printed (print), and the
chart accents if it will ever be a deck (slides warns when two chart series
are indistinguishable).
Ship the audit with the tokens. A design system without a contrast report
is a claim. Paste the audit output into the handoff.
Say what was decided and why. Record the seed and the flags. npx notugly <seed> --vibe <vibe> reproduces the whole thing exactly, which means the
design is a one-line command rather than a folder somebody has to keep.
Seed: [seed] · Vibe: [vibe] · Brand locked: [hex or "no"]
Reproduce: npx notugly [seed] --vibe [vibe] [--brand #hex]
| Role | Colour | Hex | Name | On background | Verdict |
|---|---|---|---|---|---|
| Background | ▪ | #ffffff | Paper | — | — |
| Body text | ▪ | #020404 | Soot | 20.55:1 | AAA |
| Brand | ▪ | #004054 | Navy | 11.28:1 | AAA |
Every ratio above is computed, not estimated.
Headings: [family] · Body: [family] · Scale: [ratio] ([name]) [The size ladder, in px.]
[The 4px grid, the radius set, and the five elevation levels.]
[The list from export, with byte counts, and the runtime cost line.]
[Anything the generator cannot decide: illustration style, photography direction, motion beyond the presets, iconography.]
--brand must be in
the reproduce command.--brand.