Variant Design logo

Variant Design

Community
YuqingNicole
variant-design

Create, vary, review, or extend product interfaces. Routes design generation, design systems, components, existing-site analysis, UX review, presentations, WeChat layouts, brand color, and anti-AI copywriting to focused references while preserving project context and producing runnable code when requested.

Overview

PublisherYuqingNicole
Repositoryvariant-design-skill
Skill namevariant-design
Stars
47
Forks
0
Bundled files
250
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 250 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by YuqingNicole on GitHub. Read the source before you install it.

Installation

Install the Variant Design AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/YuqingNicole/variant-design-skill/tree/master
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/YuqingNicole/variant-design-skill.git \
  .claude/skills/variant-design
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Variant Design in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Variant Design on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Variant Design is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Variant Design

Turn one brief into deliberate design options, compare them on shared criteria, and carry the strongest direction into working code.

In commands below, <skill-root> means the directory containing this SKILL.md. Resolve it before running bundled scripts; do not assume the user's project contains this skill's scripts/ directory.

Runtime and first use

Use the current code workspace as the target project, not the installed plugin directory. Keep generated output, history, and preview adapters in the target project. The installed skill is read-only during product work.

Bundled scripts require Node.js 22 or later. Before executing them, check the available runtime and the project's package manager. If unavailable, explain the missing runtime and preserve any generated candidate; do not claim that snapshots or preview verification ran. Use the existing framework and dependencies; do not replace the project's stack to fit a helper.

When the user asks about updates, run node <skill-root>/scripts/check-update.mjs --quiet. This optional check contacts GitHub for release metadata; ordinary design work does not require it. Plugin updates should use the plugin manager rather than editing its cached files.

Route first

Choose one primary route. Read that file completely, then load only the references it requires. Do not load every sub-skill or reference by default.

RequestRead
Three directions, a new page, variation actions, or exportskills/variant-generate/SKILL.md
Tokens, ds, design-system confirmation, or page compositionskills/variant-design-system/SKILL.md
A button, form, card, modal, navigation, or component libraryskills/variant-component/SKILL.md
Audit existing code, extract tokens, match a site, or plan migrationskills/variant-analyze/SKILL.md
UX, accessibility, cognitive load, heuristics, research, or conversion reviewskills/variant-ux/SKILL.md
Pitch deck or slidesreferences/presentation.md
WeChat article layoutreferences/wechat.md
Chinese cultural or Wu Xing brand colorreferences/wuxing-colors.md
Copywriting or removing AI tonereferences/voice.md

If a request spans routes, select the route that produces the requested deliverable and load a second route only when its workflow is actually needed. For example, an accessibility review of a generated page uses UX Review first; generating the fixed page then adds Generate.

Rule precedence

Across every route and reference: user constraints → product task and existing/confirmed design system → accessibility → style suggestions. This order resolves design choices; do not silently hide accessibility problems when a higher constraint prevents a fix—report the conflict and an accessible alternative. Font bans, motion examples, and visual novelty are suggestions subordinate to the existing brand.

Use two acceptance modes: exploration compares task strategies plus fitting visual directions; brand-locked preserves fonts, colors, component language, and token scales while varying hierarchy, layout, density, and permitted interactions. Both preserve the same core task, data, and necessary functions. A static interface is valid when animation adds no information.

The two-question budget applies to the whole request, including sub-skills. Infer known answers; do not restart intake after routing.

Fast path

Do not force a confirmation round when the brief or existing project already answers the important questions.

  1. Infer product type, audience, tone, constraints, and framework from the request and repository.
  2. State important assumptions in one concise line and proceed.
  3. Ask at most two questions only when the answers would materially change the deliverable.
  4. If the user says “surprise me,” choose three maximally different directions and proceed immediately.

Use a short Design Read only when it helps expose a consequential assumption:

text
Design Read: [page or flow] for [audience] — [tone] · [constraints]

An explicit request to execute, build, generate, or continue authorizes the fast path. Do not make the user confirm information they already supplied.

Existing project discovery

Before generating or changing interfaces in an existing code project, read references/project-discovery.md. Establish the target entry, brand and behavior constraints, related dependencies and unknowns. The bundled read-only scanner assists this review; it does not prove complete understanding or runtime support.

Shared context

Before design work, read variant-output/.variant-context.json when it exists. For the schema and update rules, read references/project-context.md.

  • User instructions override persisted preferences.
  • A confirmed design system locks visual tokens, not content hierarchy or product judgment.
  • Preference writes are best-effort. Before generating an edit, use variant-history.mjs prepare to create a new candidate with its original baseline; never retrofit a baseline onto an old candidate. Before replacing existing output, a successful durable snapshot is required; on failure keep the original and deliver a separate candidate.
  • reset context may remove only variant-output/.variant-context.json after resolving that exact path.

Product-critical work

For money, privacy, permissions, deletion, health, safety, or AI-generated conclusions, read:

  • references/design-declaration.md
  • references/product-integrity-gate.md

Infer the declaration from available product evidence. Ask only about unknowns that change the primary job, trust boundary, or irreversible consequence. Label mock and inferred evidence explicitly. Product integrity outranks aesthetic preference.

Exploratory posters, moodboards, and explicitly speculative visual studies may skip the declaration; label them exploratory — no product decision locked.

Code output

Whenever the deliverable includes code, read skills/shared/code-output.md before writing it. That file is the single source of truth for:

  • framework detection and user overrides;
  • output paths and file naming;
  • preview, iteration, comparison, and export;
  • completeness, responsive behavior, performance, and production hardening.

Write complete runnable output. Never use TODO, omitted-code comments, or prose in place of implementation. Preserve the user's stack and existing conventions.

Quality gate

Before presenting generated or materially changed interface code:

  1. Read references/quality-baseline.md.

  2. Run the deterministic scanner:

    bash
    node <skill-root>/scripts/quality-gate.mjs <file-or-directory> --strict
  3. Inspect every finding in context; fix confirmed errors and relevant warnings.

  4. Preview the result and check the actual rendered interface at desktop and mobile widths when browser control is available.

  5. For product-critical work, run the Product Integrity Gate separately. Do not average it into a visual score.

The scanner is evidence, not a substitute for visual judgment. Do not claim WCAG compliance, cross-browser support, or a quality score unless it was actually tested.

Reference routing

Load one domain reference that best matches the request:

DomainReference
Dashboard, analytics, admin, CRMreferences/dashboard.md
Landing page, SaaS, B2B, product sitereferences/saas.md
Editorial, report, article, newsletterreferences/editorial.md
E-commerce, marketplace, checkoutreferences/ecommerce.md
Education, course, quiz, trainingreferences/education.md
Creative tool, music, 3D, generative artreferences/creative.md
Mobile app or mobile-first flowreferences/mobile.md
Portfolio or case studyreferences/portfolio.md
Food, beverage, restaurant, recipereferences/food-beverage.md
Fashion, beauty, furniture, lifestylereferences/fashion.md

Then load only the design-system references needed for the task:

  • type hierarchy → references/design-system/typography.md
  • palette and contrast → references/design-system/color-and-contrast.md
  • layout and spacing → references/design-system/spatial-design.md
  • motion → references/design-system/motion-design.md
  • micro-interactions → references/design-system/micro-interactions.md
  • forms and states → references/design-system/interaction-design.md
  • responsive behavior → references/design-system/responsive-design.md
  • interface copy → references/design-system/ux-writing.md
  • functional prototypes → references/interactive-patterns.md

Non-negotiable invariants

  • Three generated directions must differ in design position, not just color.
  • Confirmed tokens constrain all downstream visual output until reset.
  • Existing-site work extracts and respects current patterns before inventing new ones.
  • Generated UI includes meaningful content and relevant loading, empty, error, and success behavior.
  • Accessibility, reduced motion, keyboard use, and visible focus are baseline requirements.
  • Report what was verified and what remains an assumption.

Version-bound verification

For checks on generated artifacts, follow references/artifact-verification.md. Record evidence against the actual revision and recheck it before delivery; changes invalidate prior results. Static-only checks do not establish runtime correctness.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

and 140 more files.

Frequently asked questions

What does the Variant Design AI skill do?

Create, vary, review, or extend product interfaces. Routes design generation, design systems, components, existing-site analysis, UX review, presentations, WeChat layouts, brand color, and anti-AI copywriting to focused references while preserving project context and producing runnable code when requested.

Why use Variant Design on TypingMind?

Because you install it once and use it with any model. Variant Design is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Variant Design in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/YuqingNicole/variant-design-skill/tree/master. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Variant Design?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Variant Design?

As many as you like. As long as a model supports skills, you can use Variant Design with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Variant Design AI skill free?

Yes. It is published on GitHub by YuqingNicole under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇