What Is the Difference Between Taste-Skill v1 and v2? A Complete Feature Breakdown
TLDR: Taste-Skill v2 introduces an experimental, data-driven design pipeline with brief inference, three adjustable dials, and automatic design-system selection, while Taste-Skill v1 preserves the original static baseline with fixed values for backward compatibility.
The taste-skill repository by Leonxlnx is an "anti-slop" frontend skill that guides AI agents toward high-quality UI code generation. It ships two distinct versions that share a goal but differ sharply in execution. Understanding the difference between taste-skill v1 and v2 ensures you pick the correct install name and generation behavior for your project.
Installation Names and Version Status
Both versions live in the same repository but expose different skill names. According to README.md, the default command now pulls the experimental rewrite:
design-taste-frontend— Taste-Skill v2 (experimental, current default)design-taste-frontend-v1— Taste-Skill v1 (preserved for exact legacy behavior)
If you run the standard install without a version suffix, the v2 spec in skills/taste-skill/SKILL.md overwrites any previous v1 file automatically. To stay on the original semantics, you must explicitly install design-taste-frontend-v1 from skills/taste-skill-v1/SKILL.md.
Design Workflow: Static Baseline vs. Dynamic Dials
The core philosophical split between the two versions centers on how design decisions are made.
How v1 Handles Design Configuration
In skills/taste-skill-v1/SKILL.md, the original skill relies on active baseline configuration with fixed values. It sets static defaults for variance, motion intensity, and visual density, then applies them uniformly across generated components. This produces predictable, cookie-cutter output that does not adapt to project context.
How v2 Adds Brief Inference and Tuneable Controls
Taste-Skill v2 replaces the static baseline with an explicit brief inference step—described in skills/taste-skill/SKILL.md as "read the room." After inferring the brief, v2 injects three runtime dials:
DESIGN_VARIANCE— drives grid complexity and layout diversityMOTION_INTENSITY— controls animation depth and timingVISUAL_DENSITY— governs spacing and component compactness
These dials enable conditional generation logic. For example, a component can switch between grid-cols-1 and grid-cols-2 based on the variance value emitted by the skill.
"use client";
import { motion } from "motion/react";
export const Hero = ({ title }: { title: string }) => {
// Dials injected by the skill at generation time
const variance = 8; // DESIGN_VARIANCE
const motionLevel = 6; // MOTION_INTENSITY
const density = 4; // VISUAL_DENSITY
return (
<section className={`grid ${variance > 6 ? "grid-cols-2" : "grid-cols-1"} gap-8`}>
<motion.h1
initial={{ opacity: 0, y: 30 }}
animate={{ opacity: 1, y: 0 }}
transition={{ duration: motionLevel * 0.1 }}
className="text-4xl md:text-6xl font-geist tracking-tight"
>
{title}
</motion.h1>
{/* …additional layout driven by `density` … */}
</section>
);
};
In v1, the same component would be generated with hard-coded constants and no branching layout logic.
Design-System Mapping
Taste-Skill v2 includes a decision table that automatically selects an official design system based on the inferred brief. As documented in skills/taste-skill/SKILL.md, the skill can map requirements to Fluent UI, Material, Carbon, or other canonical libraries.
Taste-Skill v1 has no such mapping. It relies on generic Tailwind-based styling without automatic system injection. The v2 skill can emit conditional imports, whereas v1 leaves framework choices entirely to the agent.
// Pseudo-code the v2 skill can emit based on the inferred brief
if (brief.includes("Material")) {
// Pull in @material/web automatically
import "@material/web";
}
Motion Handling Differences
Animation defaults diverge between the versions. In skills/taste-skill/SKILL.md, v2 specifies Motion (formerly Framer Motion) via the motion/react import and supports optional GSAP skeletons for scroll-triggered effects.
The v1 spec in skills/taste-skill-v1/SKILL.md still references Framer Motion but lacks the streamlined motion/react shortcut. Its motion defaults remain more static, and it does not include the canonical GSAP skeletons introduced in the rewrite.
Anti-Slop Policy Coverage
Both versions enforce quality guardrails, but v2 dramatically expands the rule set. The v2 experimental skill in skills/taste-skill/SKILL.md automatically enforces detailed constraints covering:
- Typography scale and hierarchy limits
- Color usage caps
- Layout diversity minimums
- Eyebrow text limits
- Bento-cell counts
- Motion-intensity checks
The original v1 skill ships a shorter static rule set. Many of the newer constraints—such as eyebrow caps and bento-cell counts—are absent from skills/taste-skill-v1/SKILL.md.
Upgrade Path and Backward Compatibility
The repository maintains a seamless upgrade path. As noted in README.md, installing design-taste-frontend overwrites the v1 file with the v2 version, and no code changes are required in consuming projects.
If your pipeline depends on the exact generation behavior of the original skill, pin explicitly to the legacy install:
# v2 — current experimental default
npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend"
# v1 — legacy baseline with fixed values
npx skills add https://github.com/Leonxlnx/taste-skill --skill "design-taste-frontend-v1"
Summary
- Taste-Skill v2 is the experimental default in
skills/taste-skill/SKILL.md. It adds brief inference, three tuneable dials, automatic design-system mapping,motion/reactimports, and exhaustive anti-slop rules. - Taste-Skill v1 is the preserved baseline in
skills/taste-skill-v1/SKILL.md. It keeps static fixed values, generic Tailwind styling, and a smaller rule set for projects that need legacy semantics. - The install name determines which version you receive:
design-taste-frontendfor v2,design-taste-frontend-v1for v1. - Upgrading from v1 to v2 requires no code changes; installing the default overwrites the skill file automatically.
Frequently Asked Questions
Can I install both taste-skill v1 and v2 in the same project?
No. Both versions use the same underlying skill slot, and installing design-taste-frontend overwrites the v1 file with the v2 spec. If you need exact legacy behavior, you must explicitly install design-taste-frontend-v1 and avoid the default command.
Will upgrading from v1 to v2 break my existing generated components?
No. According to README.md, no code changes are required when moving from v1 to v2. The upgrade simply swaps the skill definition file; previously generated components remain unchanged unless you regenerate them with the new v2 rules.
Why does v2 recommend motion/react instead of framer-motion?
The v2 spec in skills/taste-skill/SKILL.md adopts the newer Motion library branding and uses the motion/react import path. This reflects the upstream rename from Framer Motion to Motion and provides the latest animation primitives, whereas v1 still references the older naming without the streamlined import.
Which version should new projects use?
New projects should default to design-taste-frontend (v2). It offers the richer, data-driven pipeline, broader anti-slop coverage, and automatic design-system mapping. Only choose design-taste-frontend-v1 if you have a hard dependency on the original static baseline behavior.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →