New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@puenteworks/tastecheck

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@puenteworks/tastecheck

Frontend taste and ship-gate toolkit for AI coding agents and frontend engineers who want evidence-backed UI quality.

latest
Source
npmnpm
Version
1.7.0
Version published
Weekly downloads
218
159.52%
Maintainers
1
Weekly downloads
 
Created
Source

TasteCheck

TasteCheck is a frontend taste and ship-gate toolkit for AI coding agents and frontend engineers who want evidence-backed UI quality.

Release inventory: v1.7.0 · 20 skills · 20 canonical commands · 1 alias · 21 command files · 8 gallery systems.

Release status: PASS

Release status: PASS — current source-bound release receipts cover the asserted browser and accessibility checks. Effectiveness status: BLOCKED — historical evidence did not clear its release threshold.

License: MIT Skills Portable Markdown

TasteCheck at a glance

FactCurrent release truth
Versionv1.6.0
Skills20 frontend craft skills
Commands20 canonical Claude Code slash commands
Alias1 approved alias: /darkmode for /theming
Command files21 total command files
Gallery8 committed browser-rendered design systems
Videov1.5.0: the battery also gates video artifacts — reading-hold, motion-law, readability-960x540, audio-presence (silent cuts never pass)
LicenseMIT; see LICENSE
npm package@puenteworks/tastecheck (the registry rejected the bare name as typosquat-adjacent to fast-check)
Installgit clone https://github.com/KyaniteLabs/tastecheck && ./tastecheck/install.sh

What is TasteCheck?

TasteCheck is a frontend taste and ship-gate toolkit for AI coding agents and frontend engineers who need evidence-backed UI quality before shipping. It turns a brief or an existing site into an explicit design direction, carries that direction through checkable craft skills, and reports the evidence needed for a ship or hold decision.

TasteCheck skills are plain Markdown, readable by any coding agent — no SDK or install required. The ship-gate adds optional dependency-free Node and browser scripts; the installer also creates the canonical ~/.agents/skills/ path and mirrors skills into detected agent homes.

TasteCheck addresses a common failure mode in agent-built interfaces: when hierarchy, density, type, color, and structure remain implicit, familiar defaults accumulate. The interview or existing-site audit makes those decisions explicit before implementation.

Evidence-bound release behavior

The retrofit makes the release gate account for the evidence it records. These behaviors describe scoped release decisions; they do not turn subjective design judgment into an objective guarantee.

CapabilityPublic behavior
Evidence-derived verdictsGate statuses are derived from recorded observations. Missing or contradictory observations produce HOLD; declared status alone is not trusted.
Review bindingHuman and independent reviews bind to the check ID, rubric, artifact digest, and complete-evidence digest. A transplanted approval produces HOLD.
Dependency-manifest captureFile and directory captures hash the entry plus linked local CSS, JavaScript, and font assets. A changed dependency with an unchanged entry produces HOLD.
Subject-inventory reconciliationBrowser checks reconcile route × state × viewport members from an authoritative manifest and its gate-computed Cartesian universe; a claimant cannot shrink that scope. Control checks reconcile control × state members.
Complete-capture hashingLossy, truncated, depth-limited, or marker-bearing evidence is non-passing. Sanitization is presentation-only; complete evidence is what gets hashed.
Verifier/consumer ROOT SPLITThe CLI and API separate the pinned verifier root from the explicit target-project root, and record both root identities.
Craft floors and style policiesInvariant craft requirements are separate from brief-dependent defaults. Spacing and tasteroll rails are defaults that can be overridden with evidence.
Scoped authority claimsSubjective checks remain accountable human judgment, not an objective design guarantee. GEO copy keeps claims scoped to the recorded evidence.
Release finalizationnpm run finalize performs receipt refresh, receipt pins, public status projection, and verify-chain validation together.
Measured error ratesA labeled regression corpus (evals/corpus/, every case citing the desk of record it was harvested from) measures false-positive/false-negative rates per run: npm run calibrate emits dated reports; the current measured state lives in evals/calibration/.
Dogfood law — the tool gates itselfThis repository's own CI runs the corpus calibration (npm run calibrate:check) and fails any change that worsens the measured FP/FN counts against the recorded baseline, so a release cannot ship with a worse measured rate than the last one.
ASTRA review closureThe external ASTRA adversarial review found 8 findings, including 5 SEV-1 findings; the closure is recorded in ASTRA-REVIEW.md and ASTRA-FIX-REPORT.md.

Quickstart

Clone the repository and run the installer:

git clone https://github.com/KyaniteLabs/tastecheck
./tastecheck/install.sh

Then ask your coding agent to read the relevant SKILL.md, or point it at the canonical ~/.agents/skills/ directory.

The 20 skills: what each checks

SkillWhat it checks
design-system-interviewDesign direction for vague or generic frontend requests, including type, color, density, and tokens.
tasterollContext-aware design exploration that audits broken work, rolls valid candidates, and locks the direction that works.
improve-existing-websiteExisting-site evidence, recognizable identity, scope, and redesign risk before changes.
color-systemOKLCH palettes, ramps, semantic tokens, theme colors, and contrast.
web-typographyContextual type systems, resilient font loading, multilingual glyphs, wrapping, and readable hierarchy.
spacing-systemLayout rhythm, density, gaps, spacing scales, and deliberate exceptions.
themingSemantic mappings across light, dark, forced-colors, saved preferences, contrast, and no-flash behavior.
responsive-layoutNarrow containers, long or translated content, zoom, reflow, and overflow without device-specific breakpoints.
component-statesInteractive state matrices for controls, keyboard behavior, and ARIA.
form-uxForms, field labels, autocomplete, validation, mobile input behavior, errors, and disabled submits.
empty-statesEmpty, loading, error, retry, first-run, offline, permission, and layout-stability states.
micro-motionPurposeful feedback and transitions without jank, interruption bugs, or hidden no-JS content, including reduced motion.
data-vizHonest, accessible, themed charts, metrics, direct labels, and data tables.
art-directionImagery, illustration, iconography, hero images, favicons, OG cards, and generic AI imagery.
a11y-passWCAG 2.2 AA fixes for web UI, including keyboard, screen readers, contrast, labels, focus, landmarks, target size, reduced motion, and ARIA.
cognitive-a11yReadability and predictability for ADHD, autism, dyslexia, and neurodivergent users.
i18n-readyLocale expansion, language attributes, logical properties, RTL, formats, bilingual copy, and language toggles.
deslop-uiGenerated-UI tells such as purple gradients, pill CTAs, default type, centered heroes, card grids, glassmorphism, and template sameness.
humanize-copyLanding, docs, README, UI, release, and social copy for LLM tells and robotic prose.
tastecheck-passEvidence-backed ship or hold decisions, fail-closed release gates, and actionable cross-skill verification reports.

How the gate works

TasteCheck carries design intent through a shared pipeline: establish or infer the design system, check foundations, check structure and behavior, check surface decisions, run accessibility and language checks, remove visual and copy tells, and finish with tastecheck-pass.

Since v1.6.0, tastecheck-pass runs in two lanes and leads with its verdict. The fast lane (one agent, minutes) loads the real rendered artifact cold, runs named probes (cold-load state, console errors, keyboard-only, 320px/400% zoom, tap targets, measured contrast, reduced motion, link/asset resolution, leaks, template-slop tells, shadow roots and iframes included), and reports SHIP or HOLD with one evidence line per probe. The deep lane runs a one-row-per-check hashed ledger through the deterministic runner, with independent review on subjective rows. Three laws govern both lanes: checkmarks are not execution evidence; the verdict leads and fails closed; n/a means the subject is absent, never "not tested".

The current public release status is projected from source-bound receipts (see the badge above); historical effectiveness is BLOCKED.

Run the repository’s repeatable engineering checks with npm test. Those checks cover repository contracts, installation, links, authored demo surfaces, and verification plumbing; they are not a universal effectiveness claim.

The v1.7.0 release: measured error rates, decision cards, gestalt-first

v1.7.0 lands the measurement backbone and the decision-view output.

Measured error rates (the headline change). A labeled regression corpus (evals/corpus/) harvests real org defect findings — every case cites the desk of record it came from — and npm run calibrate runs the checker over it, emitting dated JSON/Markdown reports with measured false-positive and false-negative counts and rates (evals/calibration/). Measured at the v1.7.0 source (real run, 2026-09-25): 17 cases — 12 true positives, 1 false negative, 4 true negatives, 0 false positives; FPR 0 (0/4 clean), FNR 0.0769 (1/13 bad). The one miss is a documented known-open floor, not a surprise: a falsified-but-internally-consistent structured observation cannot be caught offline, and the consume-don't-inspect browser/audio lane owns that class. Scope is the offline subset (verdict engine + markup-visible probes); tells that need a rendered surface stay in the browser lane. CI gates every change against the recorded baseline (npm run calibrate:check), so a release cannot ship with a worse measured rate than the last one.

Decision cards. Every release-gate report now carries a decision_card: one-word verdict first, the evidence-cited lines that produced it (check IDs, row evidence, structural boundary errors), and the flip conditions — the exact repair-and-rerun that would reverse the verdict. With --out the CLI prints the compact card to the terminal. Consumers gate on the verdict; humans and agents read the card.

Gestalt-first. The fast lane verdicts the WHOLE product in one look before any element check; when the gestalt verdict and the element results disagree, that divergence is its own finding — the soullessness detector — and blocks SHIP until judged against the named basis. The deep lane encodes it as the required direction:gestalt-first catalog check.

Also in this release. The loved-corpus v0: a journal of 20 quote-backed CEO product verdicts with extracted principles (evals/corpus/loved/) — ground truth for the calibration loop, since the tool's real error rate is disagreement with those verdicts, not internal rubric agreement. What is still not claimed: no cross-model or inter-reviewer agreement score; subjective rows remain accountable judgment; effectiveness status stays BLOCKED.

The v1.6.0 rewrite of tastecheck-pass: what changed, what is not claimed

v1.6.0 lands the first-principles rewrite of tastecheck-pass (2026-09-19 war-room order) and moves the npm package to @puenteworks/tastecheck.

What changed in checking behavior. The rewrite tightens what counts as evidence so a pass cannot be minted from claims: a check counts only when the checker ran it and can cite what was seen (selector, URL, number, console line); a required check that fails, could not run, or lacks evidence is HOLD; URL evidence stays HOLD until bound to a hashable artifact; an optional n/a needs hashed proof the subject is absent; reviewer disagreement on subjective rows stays HOLD until adjudicated; deterministic rows never accept reviewer judgment. Verdicts are reported verdict-first with scope (lane, checks run, date, artifact revision).

What is recorded. Each deep-lane ledger row carries skill, check ID, status, reason, remediation, evidence, and provenance, with repo-relative artifacts hashed by the runner. Release receipts (browser, e2e, mechanical, security, clean-clone, context-budget) bind to a source-tree digest and are reprojected together by npm run finalize.

What was not claimed at v1.6.0. No false-positive or false-negative rate was published then — no labeled regression corpus existed yet (it was staged on the roadmap, not shipped; v1.7.0 delivers it and publishes measured rates above). No cross-model or inter-reviewer agreement score exists. Subjective rows remain accountable human or agent judgment bound to a rubric and an independent review, not an objective design guarantee. A fast-lane SHIP is a scoped verdict at one revision, not a warranty. Effectiveness status stays BLOCKED: historical evidence did not clear its release threshold.

The gallery contains 8 committed browser-rendered design systems for the same product story and core information architecture. It demonstrates variance, not a menu to copy: derive a new direction from the user’s answers.

SystemTerritorySignature structure
Copperdark, warm, geologicalirregular tessellated bento with structural basalt columns
Swisslight, austere, exactexposed column grid carrying the content
Maximalloud, kineticdisplay word bleeding into a magenta block with sticker-wall collage
Concreteraw, mechanical, monochromeruled spec sheet with a dense ledger table and hazard accent
Claywarm, soft, humanistalternating zig-zag card flow with organic pebble shapes
Dispatchdark, operational, emeraldreverse-chronological release timeline
Vergecool, clinical, measuredhypothesis-to-verdict evidence cards
Seedwarm, procedural, annotatedseeded specimen card with rolled dimensions

Open the live landing page, live gallery, or secondary integration harness.

Install

The one-line install path is:

git clone https://github.com/KyaniteLabs/tastecheck && ./tastecheck/install.sh

The npm package is @puenteworks/tastecheck (published from this repo; the registry rejected the bare tastecheck name as typosquat-adjacent to fast-check):

npm install @puenteworks/tastecheck
npx tastecheck --help

The installer creates canonical links in ~/.agents/skills/ and mirrors them into detected agent skill directories. Claude Code can also link all 21 command wrappers (20 canonical + the /darkmode alias) into ~/.claude/commands/.

FAQ

What is TasteCheck?

TasteCheck is a frontend taste and ship-gate toolkit for AI coding agents and frontend engineers who want evidence-backed UI quality before shipping. It fails closed on generic/sloppy UI and organizes evidence for scoped ship-quality decisions; it does not turn those subjective calls into objective guarantees.

Who should use TasteCheck?

TasteCheck is for frontend engineers and AI coding agents that need to turn design intent into checkable frontend work.

What does TasteCheck check?

TasteCheck checks design direction, typography, color, spacing, theming, layout, states, forms, empty states, motion, visualization, art direction, accessibility, cognitive accessibility, internationalization, copy, and the final release gate.

How is TasteCheck different from a design prompt?

TasteCheck makes design decisions explicit before implementation and checks the resulting frontend against those decisions instead of relying on subjective polish.

Is TasteCheck free?

Yes; TasteCheck is open source under the MIT license in LICENSE.

How do I install TasteCheck?

Clone the repository and run ./tastecheck/install.sh.

Effectiveness status

The current public release status is projected from source-bound receipts (see the badge at the top); historical effectiveness is BLOCKED.

License

TasteCheck is MIT licensed; the authoritative terms are in LICENSE.

What is TasteCheck?

TasteCheck is a frontend taste and ship-gate toolkit for AI coding agents and frontend engineers who want evidence-backed UI quality before shipping. It helps them fail closed on generic/sloppy UI and organize evidence for scoped ship-quality decisions; subjective checks remain accountable human judgments rather than objective guarantees.

ProductTasteCheck
Categoryfrontend taste and ship-gate toolkit
Best forAI coding agents and frontend engineers
Nota design Figma plugin
SourceForgejo · GitHub
KeywordsUI taste check, anti-slop frontend gate, design QA

Who it's for

  • Primary: frontend engineers and agents shipping UI
  • Use when you need to fail closed on generic/sloppy UI and organize evidence for a scoped ship-quality decision
  • Skip if you need a design Figma plugin

FAQ

What is TasteCheck?

TasteCheck is a frontend taste and ship-gate toolkit for AI coding agents and frontend engineers who want evidence-backed UI quality before shipping. It fails closed on generic/sloppy UI and organizes evidence for scoped ship-quality decisions; it does not turn those subjective calls into objective guarantees.

Who should use TasteCheck?

Frontend engineers and AI coding agents that need to turn design intent into checkable frontend work.

How is TasteCheck different?

Unlike subjective design opinions alone, TasteCheck is a fail-closed ship gate that organizes evidence and records accountable human review where judgment is required; it does not turn that review into an objective quality guarantee.

Is TasteCheck production software?

Treat the README status and release tags as source of truth for maturity. Validate against your own requirements before production use.

Status

  • Maintained as of 2026 on the default branch
  • Prefer release tags when pinning dependencies
  • Report issues on the canonical remote listed above

Agent surface

  • Coding agents: read this README first, then repo docs/AGENTS.md if present
  • Prefer machine-readable briefs (llms.txt) when the repo ships one
  • MCP or skill entrypoints are documented in-repo when applicable

Contributing

Issues and PRs welcome on the canonical remote. Keep public docs free of secrets and machine-local paths.

License

See LICENSE in this repository (or package metadata if license is package-only).

Table of contents

Keywords

tastecheck

FAQs

Package last updated on 25 Sep 2026

Related posts