baldart 5.1.0 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +115 -0
  2. package/README.md +3 -3
  3. package/VERSION +1 -1
  4. package/framework/.claude/agents/CHANGELOG.md +45 -0
  5. package/framework/.claude/agents/REGISTRY.md +2 -2
  6. package/framework/.claude/agents/coder.md +3 -3
  7. package/framework/.claude/agents/remotion-animator-orchestrator.md +4 -3
  8. package/framework/.claude/agents/ui-expert.md +4 -10
  9. package/framework/.claude/agents/ui-quality-critic.md +27 -11
  10. package/framework/.claude/skills/design-system-init/CHANGELOG.md +5 -0
  11. package/framework/.claude/skills/design-system-init/SKILL.md +2 -2
  12. package/framework/.claude/skills/e2e-review/CHANGELOG.md +5 -0
  13. package/framework/.claude/skills/e2e-review/SKILL.md +2 -2
  14. package/framework/.claude/skills/frontend-design/CHANGELOG.md +20 -0
  15. package/framework/.claude/skills/frontend-design/SKILL.md +39 -216
  16. package/framework/.claude/skills/gamification-design/CHANGELOG.md +5 -0
  17. package/framework/.claude/skills/gamification-design/SKILL.md +2 -2
  18. package/framework/.claude/skills/ui-design/CHANGELOG.md +60 -1
  19. package/framework/.claude/skills/ui-design/SKILL.md +127 -75
  20. package/framework/.claude/skills/ui-design/references/anti-slop.md +106 -0
  21. package/framework/.claude/skills/ui-design/references/craft-standards.md +259 -0
  22. package/framework/.claude/skills/ui-design/references/design-brief.md +92 -0
  23. package/framework/.claude/skills/ui-design/references/design-directions.md +188 -0
  24. package/framework/.claude/skills/ui-design/references/evaluation.md +125 -165
  25. package/framework/.claude/skills/ui-design/references/generation.md +125 -92
  26. package/framework/.claude/skills/ui-design/references/inventory.md +9 -2
  27. package/framework/.claude/skills/ui-design/scripts/craft-check.mjs +248 -0
  28. package/framework/.claude/skills/worktree-manager/CHANGELOG.md +19 -0
  29. package/framework/.claude/skills/worktree-manager/SKILL.md +29 -8
  30. package/framework/.claude/skills/worktree-manager/scripts/merge-worktree.sh +25 -3
  31. package/framework/agents/component-manifest-schema.md +1 -1
  32. package/framework/agents/design-system-protocol.md +6 -6
  33. package/framework/agents/index.md +1 -0
  34. package/framework/agents/skills-mapping.md +25 -23
  35. package/framework/docs/PROJECT-CONFIGURATION.md +5 -5
  36. package/package.json +1 -1
  37. package/src/commands/configure.js +1 -1
  38. package/src/utils/__tests__/classify-divergence.test.js +42 -0
  39. package/src/utils/git.js +45 -9
package/CHANGELOG.md CHANGED
@@ -5,6 +5,121 @@ All notable changes to BALDART will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [5.2.1] - 2026-07-03
9
+
10
+ **`/mw` local-trunk sync robustness.** The worktree merge's local-trunk sync
11
+ (step 4c "Common", both `pr` and `local-push` strategies) failed to
12
+ fast-forward on the majority of real checkouts, needlessly leaving
13
+ `SYNC-DEFERRED` / `SYNC-NEEDS-DECISION`. Two targeted fixes, kept single-sourced
14
+ across the executed SSOT (`framework/.claude/skills/worktree-manager/scripts/merge-worktree.sh`)
15
+ and the prose (`worktree-manager/SKILL.md` step 4c) — **without `git stash`**,
16
+ which stays forbidden here because `refs/stash` is shared across all worktrees
17
+ via `git.commondir` (the FEAT-0522 incident): a stash from the main checkout can
18
+ pop into the wrong worktree, and two parallel `/mw` runs race on the shared
19
+ stash list.
20
+
21
+ - **Fix 1 — safe ref-advance when main is on another branch.** Previously, if
22
+ the main repo's HEAD was not on `$TRUNK`, sync did a fetch-only and always
23
+ emitted `SYNC-DEFERRED`, never advancing the local `$TRUNK` ref. Now it
24
+ fast-forwards `refs/heads/$TRUNK` via a ref-only, ff-only fetch
25
+ (`git fetch origin $TRUNK:$TRUNK`) that **never touches any working tree** and
26
+ never checks out — turning a large class of deferrals into a clean sync
27
+ (`sync_marker: none`). If `$TRUNK` is checked out in another worktree, git
28
+ refuses and it falls back to fetch-only + defer.
29
+ - **Fix 2 — accurate ff-fail disambiguation.** When the ff failed with a
30
+ tracked-clean tree and no owned/foreign dirt, the code fell to a misleading
31
+ "clean (diverged?)" marker (the dirty scan uses `--untracked-files=no`, so an
32
+ untracked-file collision was invisible to it). Now it disambiguates via
33
+ `merge-base --is-ancestor` between a **genuine branch divergence** (needs a
34
+ rebase/merge decision) and an **untracked-file collision** (the blocking files
35
+ are enumerated), emitting the correct actionable marker.
36
+
37
+ Behaviour is strictly safer: cases #2 (foreign uncommitted work) and #3 (real
38
+ divergence) still defer to ONE explicit user gate — never auto-committed, never
39
+ stashed — which is the correct behaviour on a shared checkout.
40
+
41
+ **Codex parity: portable.** The change is pure git plumbing inside the
42
+ dual-runtime `merge-worktree.sh` (executed identically under Claude and Codex)
43
+ plus its prose twin; no runtime-specific mechanic, no config key. The
44
+ schema-change propagation rule does not apply (no `baldart.config.yml` key).
45
+
46
+ ## [5.2.0] - 2026-07-03
47
+
48
+ **The local design studio.** `/ui-design` is refounded from the root as the
49
+ top-of-the-line skill for designing, prototyping and restyling UI locally —
50
+ the internal twin of the Claude Design handoff — absorbing design
51
+ intelligence distilled from three state-of-the-art open repos
52
+ ([impeccable](https://github.com/pbakaus/impeccable) Apache-2.0,
53
+ [taste-skill](https://github.com/Leonxlnx/taste-skill) MIT,
54
+ [open-design](https://github.com/nexu-io/open-design) Apache-2.0, attributed
55
+ in each derived reference). The superseded `frontend-design` /
56
+ `ui-ux-pro-max` / `huashu-design` dependencies are cut, and the skill-routing
57
+ failure ("agents pick frontend-design for UI work") is fixed at every layer.
58
+
59
+ - **`ui-design` v2.0.0** (public step contract A–H and the `/prd` 3a–3e
60
+ mapping UNCHANGED):
61
+ - NEW **Step C.0 — Design Read & Direction Lock** (`references/design-brief.md`):
62
+ register (brand/product), regime (in-context/exploration), dials
63
+ VARIANCE/MOTION/DENSITY, two-altitude slop test, color-commitment axis,
64
+ dark/light scene sentence, anti-references, ONE-question ambiguity rule,
65
+ cross-run rotation check.
66
+ - NEW **`references/design-directions.md`** (12-direction aesthetic menu +
67
+ font/palette reflex-reject lists: LILA rule, premium-consumer beige ban,
68
+ serif discipline), **`references/craft-standards.md`** (always-on craft;
69
+ numeric ranges cite `design-system-protocol.md` § Reference Tables; the
70
+ **canonical new home of Performance Gates/CWV 2026 + Modern CSS + Form
71
+ quality**, migrated from frontend-design), **`references/anti-slop.md`**
72
+ (the Tells catalog — absolute bans, count-bounded rations, copy tells;
73
+ every ban with a declared-override path).
74
+ - NEW **`scripts/craft-check.mjs`** — deterministic anti-slop/craft gate
75
+ (~22 rules, zero-dep, `--json`, `--strict-palette`); generator self-check
76
+ + Step D Gate 0; identical on Claude and Codex.
77
+ - **Step D rewritten as dual-lens**: Gate 0 craft-check (fail-fast, hidden
78
+ from lenses) → Lens A **`ui-quality-critic`** (true evaluator diversity —
79
+ different agent definition than the generator; rubric SSOT unchanged) →
80
+ Lens B fresh `ui-expert` conformance (B1–B5, evidence-cited scoring,
81
+ worst-sustained-band, no grade inflation). Honest **degraded mode** on
82
+ non-multimodal runtimes (mandatory `⚠️ DEGRADED` banner).
83
+ - Generation is **token-first** (project tokens embedded in `:root` so the
84
+ mockup speaks the project token language, mirroring the Claude Design
85
+ channel) and **`data-region`-annotated** (surgical iteration +
86
+ deterministic inventory join into `component_bindings`).
87
+ - **`frontend-design` v2.0.0 — retired to a ROUTER**: the body reroutes
88
+ deterministically (design → `/ui-design`, approved mockup →
89
+ `/ui-implement`, direct in-code UI → `ui-expert`, motion →
90
+ `/motion-design`); the broad legacy triggers are KEPT on purpose as a
91
+ honeypot so reflexive mis-routing gets corrected instead of landing on
92
+ stale guidance. Consumer overlays with aesthetic mandates should port to
93
+ `.baldart/overlays/ui-design.md`.
94
+ - **Routing fix at every layer**: `ui-design` description rewritten to claim
95
+ design/restyle/prototype triggers (IT+EN) with an explicit NOT-list;
96
+ `agents/index.md` gains a DESIGN-DECISION routing rule;
97
+ `agents/skills-mapping.md` UI section + decision tree rewritten
98
+ (`ui-ux-pro-max` marked superseded, never route to it).
99
+ - **Agents**: `ui-quality-critic` v1.1.0 (gating extended: invoked by
100
+ `/e2e-review` Phase 4b OR `/ui-design` Step D — never ad-hoc; mockup
101
+ payload flavor documented); `ui-expert` v2.1.0 (CWV pointer re-targeted to
102
+ `craft-standards.md`; Linked Skills drop `frontend-design`/`ui-ux-pro-max`,
103
+ `ui-design` references become the standalone design-intelligence library);
104
+ `coder` v2.0.2 + `remotion-animator-orchestrator` v1.0.1 (pointer
105
+ re-targets). REGISTRY rows updated.
106
+ - **Docs**: `design-system-protocol.md` consumer lists updated
107
+ (`frontend-design` → `ui-implement` where apt), `PROJECT-CONFIGURATION.md`,
108
+ `configure.js` design-system hint, README + CLAUDE.md conventions;
109
+ `e2e-review` 1.3.1 / `design-system-init` 1.0.1 / `gamification-design`
110
+ 1.0.1 pointer fixes.
111
+ - **Fix (`update`) riding in this release**: `isAbsorbedAgainstUpstream` now
112
+ scopes the absorbed-commit divergence check to the `.framework/framework/`
113
+ payload only (`GitUtils.absorbablePayloadSubset`) — mixed commits and
114
+ subtree bookkeeping no longer mis-flag net-zero divergence as blocking
115
+ `custom-other` (repro: mayo v5.0.1→v5.1.0 update).
116
+ - **No new `baldart.config.yml` key** (rides on `features.has_design_system`
117
+ + existing keys) — the schema-change propagation rule does NOT apply.
118
+ - **Codex parity: portable** — same SKILL.md bundles (two symlinks), zero-dep
119
+ script, spawn/decision-gate bindings cited from
120
+ `runtime-portability-protocol.md`, and the visual lenses degrade honestly
121
+ (banner) instead of silently on non-multimodal runtimes.
122
+
8
123
  ## [5.1.0] - 2026-07-03
9
124
 
10
125
  **The research layer.** Research becomes a first-class, reusable asset: the
package/README.md CHANGED
@@ -222,7 +222,7 @@ Bundled skills:
222
222
 
223
223
  - **Workflow**: `new`, `new2` (v4.16.0 — EXPERIMENTAL workflow-hosted `/new`, Claude-only, for A/B testing context economy), `prd`, `prd-add`, `bug`, `simplify`, `worktree-manager`, `issue-review`, `context-primer`
224
224
  - **Code quality**: `skill-creator`, `find-skills`, `webapp-testing`, `playwright-skill`, `lsp-bootstrap` (v3.10.0), `graphify-bootstrap` (v4.21.0 — code knowledge graph), `graph-align` (v4.21.0 — doc↔graph alignment), `toolchain-bootstrap` (v4.41.0 — curated dev toolchain), `e2e-review` (v3.18.0)
225
- - **Design**: `frontend-design`, `ui-design`, `ui-implement` (v4.82.0 — implement an approved mockup end-to-end + self-verify fidelity; the mockup→code playbook SSOT, delegated from `/new`), `motion-design`, `gamification-design`, `design-system-init` (v3.11.0 — bulk registry bootstrap/upgrade), `ds-new` (v4.69.0 — single-element guided creation: one component or token, reuse-first → optional scaffold → document + register + govern + verify; the on-the-fly twin of `design-system-init`), `ds-edit` (v4.70.0 — deliberate edit of one existing element: resync / extend-variant / breaking / re-govern; regenerates the spec preserving agentic fields + prose, same canonical template), `ds-render` (v4.76.0 — render primitives in isolation to PNG via Storybook+Playwright), `design-sync` (v4.76.0 — mirror the registry to its Claude Design satellite), `ds-handoff` (v4.79.0 — field-level 1:1 Claude Design handoff brief: grounds every screen's fields in the real data schemas + coverage-gates before emitting; the SSOT for the Claude Design prompt, delegated from `/prd`)
225
+ - **Design**: `ui-design` (v2.0.0, framework v5.2.0 — the **local design studio**: Design Read & direction lock, 12-direction menu, deterministic anti-slop craft gate `craft-check.mjs`, dual-lens evaluation with `ui-quality-critic`; the internal twin of the Claude Design handoff), `frontend-design` (retired to a router since v5.2.0 — reroutes to `ui-design` / `ui-implement` / `ui-expert`), `ui-implement` (v4.82.0 — implement an approved mockup end-to-end + self-verify fidelity; the mockup→code playbook SSOT, delegated from `/new`), `motion-design`, `gamification-design`, `design-system-init` (v3.11.0 — bulk registry bootstrap/upgrade), `ds-new` (v4.69.0 — single-element guided creation: one component or token, reuse-first → optional scaffold → document + register + govern + verify; the on-the-fly twin of `design-system-init`), `ds-edit` (v4.70.0 — deliberate edit of one existing element: resync / extend-variant / breaking / re-govern; regenerates the spec preserving agentic fields + prose, same canonical template), `ds-render` (v4.76.0 — render primitives in isolation to PNG via Storybook+Playwright), `design-sync` (v4.76.0 — mirror the registry to its Claude Design satellite), `ds-handoff` (v4.79.0 — field-level 1:1 Claude Design handoff brief: grounds every screen's fields in the real data schemas + coverage-gates before emitting; the SSOT for the Claude Design prompt, delegated from `/prd`)
226
226
  - **Product**: `seo-audit`, `copywriting`, `api-design-principles`
227
227
  - **Knowledge**: `doc-writing-for-rag`, `capture` (LLM wiki overlay), `research` (v5.1.0 — routed research over the reusable research library: profile + source-matrix routing, reuse pre-flight, `senior-researcher` fan-out, matrix growth loop)
228
228
  - **Internationalization**: `i18n` (v4.52.0 — audit the context registry + context-aware translation into native locale files), `i18n-adopt` (v4.52.0 — one-shot migration that externalizes all hardcoded strings on an existing codebase); both gated on `features.has_i18n`
@@ -231,7 +231,7 @@ Bundled skills:
231
231
 
232
232
  ### Registry-First UI Protocol (new in v3.11.0)
233
233
 
234
- When `features.has_design_system: true`, every UI-touching agent/skill/command (`ui-expert`, `ui-design`, `frontend-design`, `code-reviewer`, `/design-review`) follows the same BLOCKING cascade: read `${paths.design_system}/INDEX.md` (Authority Matrix), `tokens-reference.md` (token contract), and `components/<Name>.md` for every primitive in scope — BEFORE producing or reviewing any UI. New components must reuse from the registry or ship their per-component spec in the same change. Hardcoded color/shadow/radius/spacing values are HIGH findings. The textual SSOT for the protocol lives in [`framework/agents/design-system-protocol.md`](framework/agents/design-system-protocol.md). Projects without a registry can bootstrap one with `/design-system-init`, which inventories existing primitives, extracts tokens from global styles + Tailwind config, scaffolds the registry, and flips the flag.
234
+ When `features.has_design_system: true`, every UI-touching agent/skill/command (`ui-expert`, `ui-design`, `ui-implement`, `code-reviewer`, `/design-review`) follows the same BLOCKING cascade: read `${paths.design_system}/INDEX.md` (Authority Matrix), `tokens-reference.md` (token contract), and `components/<Name>.md` for every primitive in scope — BEFORE producing or reviewing any UI. New components must reuse from the registry or ship their per-component spec in the same change. Hardcoded color/shadow/radius/spacing values are HIGH findings. The textual SSOT for the protocol lives in [`framework/agents/design-system-protocol.md`](framework/agents/design-system-protocol.md). Projects without a registry can bootstrap one with `/design-system-init`, which inventories existing primitives, extracts tokens from global styles + Tailwind config, scaffolds the registry, and flips the flag.
235
235
 
236
236
  **Closed-Set Selection Policy (v4.68.0).** The registry has a token layer and a component layer, but until now nothing asserted the *boundary* of a category — so an agent designing from a mockup could write a third "header" when two canonical ones already cover every case, and the duplicate was only caught (reactively) at review. The closed-set policy adds the missing third layer: each component spec declares the presentational **role** it is canonical for (`canonical_for: [page-header@depth-0]`) and whether that role family is **closed** (`selection_closed`), aggregated into a generated `INDEX.md` § "Selection Policy". A closed family means *introducing a new canonical member is a governance decision, not an implementation act*. Three layers enforce it: (1) **`/prd` Component Reconciliation** — a human-in-the-loop *match-before-generate* gate that binds each mockup region to an existing component (or a governed NEW one) and asks *"this becomes the standard?"* only on genuine ambiguity, persisting the decision into the card's `component_bindings`; (2) **`baldart ds-gate`** — a deterministic, zero-false-positive build-time gate that BLOCKS (`DS_CLOSED_SET_VIOLATION`) any change adding a new canonical in a closed family (wired into `qa-sentinel` / `/new` / `code-reviewer`, the design-system analogue of the i18n gate); (3) the existing review + weekly `ds-drift` safety net. Rides on `features.has_design_system` — no new config key; `/design-system-init --upgrade` derives the closed sets from your existing `must_rules`. This closes a gap no 2026 design-to-code vendor hard-gates (Figma Code Connect, Storybook MCP, shadcn are all advisory).
237
237
 
@@ -245,7 +245,7 @@ Tuning lives under `features.e2e_review` in `baldart.config.yml`: `fidelity_tole
245
245
 
246
246
  ### UI Excellence + Post-Intervention Coherence Gate (new in v3.12.0)
247
247
 
248
- The `ui-expert` agent is upgraded from a generic baseline to a world-class UI/UX reviewer/designer — UI States Taxonomy (8 states), Performance Gates (Core Web Vitals 2026 — LCP/INP/CLS), modern CSS surface (container queries, `:has()`, View Transitions, subgrid, logical properties), AI-era patterns (streaming UI, hallucination guardrails), and 60+ categorized red flags. Numeric reference tables (type scale, contrast targets WCAG+APCA, spacing scales, density tiers, motion durations/easings) are SSOT'd in [`framework/agents/design-system-protocol.md`](framework/agents/design-system-protocol.md) so agents cite values verbatim instead of inventing them. Crucially, the registry-first discipline now has a **post-intervention coherence gate**: every UI change introduced by `ui-expert` / `ui-design` / `frontend-design` (and verified by `code-reviewer` at merge) must reconcile `INDEX.md` + `components/<Name>.md` + `tokens-reference.md` **in the same change** — drift can no longer wait for the weekly `ds-drift` routine. Three layers now enforce coherence: per-task → per-merge → weekly safety net. Existing projects align their current graphic organization with the new discipline via [`framework/docs/UPGRADE-3.12-UI-COHERENCE.md`](framework/docs/UPGRADE-3.12-UI-COHERENCE.md) (idempotent walkthrough: baseline scan → prioritized backlog → quick wins → gate verification).
248
+ The `ui-expert` agent is upgraded from a generic baseline to a world-class UI/UX reviewer/designer — UI States Taxonomy (8 states), Performance Gates (Core Web Vitals 2026 — LCP/INP/CLS), modern CSS surface (container queries, `:has()`, View Transitions, subgrid, logical properties), AI-era patterns (streaming UI, hallucination guardrails), and 60+ categorized red flags. Numeric reference tables (type scale, contrast targets WCAG+APCA, spacing scales, density tiers, motion durations/easings) are SSOT'd in [`framework/agents/design-system-protocol.md`](framework/agents/design-system-protocol.md) so agents cite values verbatim instead of inventing them. Crucially, the registry-first discipline now has a **post-intervention coherence gate**: every UI change introduced by `ui-expert` / `ui-design` / `ui-implement` (and verified by `code-reviewer` at merge) must reconcile `INDEX.md` + `components/<Name>.md` + `tokens-reference.md` **in the same change** — drift can no longer wait for the weekly `ds-drift` routine. Three layers now enforce coherence: per-task → per-merge → weekly safety net. Existing projects align their current graphic organization with the new discipline via [`framework/docs/UPGRADE-3.12-UI-COHERENCE.md`](framework/docs/UPGRADE-3.12-UI-COHERENCE.md) (idempotent walkthrough: baseline scan → prioritized backlog → quick wins → gate verification).
249
249
 
250
250
  ### LSP Symbol Search Layer (new in v3.10.0)
251
251
 
package/VERSION CHANGED
@@ -1 +1 @@
1
- 5.1.0
1
+ 5.2.1
@@ -7,6 +7,51 @@ per-item agent merge, the doctor probes, and the discovery hooks — like
7
7
 
8
8
  Formato: [Keep a Changelog](https://keepachangelog.com/) · per-agent SemVer.
9
9
 
10
+ ## [ui-expert v2.1.0] — 2026-07-03 (framework v5.2.0)
11
+
12
+ The `/ui-design` v2.0.0 studio refactor. No H2 moved; edits are within
13
+ `## Red Flags` (one pointer) and `## Linked Skills`.
14
+
15
+ - CWV full-reference pointer re-targeted: `frontend-design` § Performance
16
+ Gates → `ui-design/references/craft-standards.md` § Performance Gates (the
17
+ new canonical home after the frontend-design router demotion).
18
+ - `## Linked Skills`: `frontend-design` and `ui-ux-pro-max` entries REMOVED
19
+ (both superseded); the `ui-design` entry now also names its references
20
+ (`craft-standards` / `anti-slop` / `design-directions`) as the agent's
21
+ standalone design-intelligence library — Read directly, no skill
22
+ invocation, replacing `ui-ux-pro-max` for palettes/pairings/directions.
23
+
24
+ ## [ui-quality-critic v1.1.0] — 2026-07-03 (framework v5.2.0)
25
+
26
+ Second consumer: `/ui-design` Step D (mockup quality lens). `version:`
27
+ frontmatter added (pre-5.2 body is implicitly 1.0.x). No H2 moved.
28
+
29
+ - Gating reworded from "features.has_e2e_review, exists only for /e2e-review"
30
+ to **gated-by-invocation**: spawned by `/e2e-review` Phase 4b (that lane
31
+ still gated on `features.has_e2e_review`) OR `/ui-design` Step D (no
32
+ feature gate) — never ad-hoc. Rationale: the rubric judges any rendered UI
33
+ screenshot; binding it to the e2e harness was an artifact of its birth
34
+ context, and `/ui-design` needs a *different agent definition* than its
35
+ generator to break same-definition self-review (v4.61.0 discipline).
36
+ - Input Contract: documented the mockup payload flavor
37
+ (`route: "mockup:<slug>/option-<x>"`); no-source prohibition explicitly
38
+ covers the mockup HTML.
39
+ - description updated (2 lines kept).
40
+
41
+ ## [remotion-animator-orchestrator v1.0.1] — 2026-07-03 (framework v5.2.0)
42
+
43
+ - Component-build delegation re-targeted: `frontend-design` (retired to a
44
+ router) → `ui-expert` in the Asset Generation phase, the boundary list, and
45
+ the parallel-invocation example. `version:` frontmatter added.
46
+
47
+ ## [coder v2.0.2] — 2026-07-03 (framework v5.2.0)
48
+
49
+ - `## Linked Skills`: `frontend-design` entry replaced with a
50
+ references-only pointer to `ui-design/references/craft-standards.md`
51
+ (Performance Gates/CWV, form quality, modern CSS) for UI-adjacent markup in
52
+ mixed cards — with the explicit reminder that full UI work routes to
53
+ `ui-expert` per `AGENTS.md` § delegation.
54
+
10
55
  ## [senior-researcher v2.0.0] — 2026-07-03 (framework v5.1.0)
11
56
 
12
57
  The research-layer restructuring (profiles + library + source matrix). Pre-5.1
@@ -28,10 +28,10 @@ Quick-reference for all custom agents. Use this to route tasks to the right spec
28
28
  | **merge-conflict-resolver** | DevOps | Resolve the final-merge **code** conflicts OFF the orchestrator context. Auto-spawned by `/new` Phase 6 (and standalone `/mw`) ONLY when the deterministic `scripts/merge-worktree.sh` pauses with `status:code_conflict` — the script already resolved every additive doc/registry/JSONL conflict; this agent adjudicates the irreducible code/test hunks then lets the script land. Runs in a fresh isolated context so the conflict churn never re-enters the bloated end-of-batch orchestrator. Never spawned ad-hoc. | Additive-vs-semantic hunk judgment (semantic → STOP), `merge-worktree.sh --continue` rebase loop, anti-fabrication disk gate, COMPACT return | Yes — the **ONE bounded exception** to coder's "branches off-limits" rule: worktree-scoped, merge phase only, post-checks-passed; lands via the script, never hand-rolled git | git conflict resolution, `merge-worktree.sh --continue` |
29
29
  | **hybrid-ml-architect** | ML | Design/implement ML systems end-to-end | Recommender, ranking, embeddings | Yes | Model design, evaluation, monitoring |
30
30
  | **i18n-translator** | Localization | Translate user-facing labels into the maintained target languages (invoked by `/i18n` + the `i18n-align` routine). Gated on `features.has_i18n`. | Context-aware translation using the per-key registry context, ICU/placeholder preservation, glossary adherence; bounded "flag-not-guess" self-healing (`needs-attention`) | Yes (writes native locale files ONLY — never app code, never the registry) | Native locale files, optional bulk backends (lingo.dev/languine) |
31
- | **ui-expert** | Design | Design, implement, and review UI/UX | Mobile-first, accessibility, registry-first protocol gate (when `features.has_design_system: true`) — BLOCKING reads on `${paths.design_system}/INDEX.md` + `tokens-reference.md` + `components/<Name>.md` per `framework/agents/design-system-protocol.md`, Component Discovery cascade before any design | Yes (generates UI / HTML mockups in `ui-design` Step C; a separate fresh instance acts as design-quality evaluator in Step D) | ui-ux-pro-max, Playwright |
31
+ | **ui-expert** | Design | Design, implement, and review UI/UX | Mobile-first, accessibility, registry-first protocol gate (when `features.has_design_system: true`) — BLOCKING reads on `${paths.design_system}/INDEX.md` + `tokens-reference.md` + `components/<Name>.md` per `framework/agents/design-system-protocol.md`, Component Discovery cascade before any design | Yes (generates UI / HTML mockups in `ui-design` Step C.1; a separate fresh instance acts as the Step D conformance lens — design quality is judged by `ui-quality-critic`) | ui-design references (design-directions / craft-standards / anti-slop), Playwright |
32
32
  | **visual-fidelity-verifier** | Design | Compare an implemented UI route against its mockup (or design-system spec) and return a severity-tagged JSON report. Auto-invoked by `/e2e-review` skill (Phase 4) — never spawned ad-hoc. Stateless. Strict severity taxonomy (Critical / Major / Minor) — never reads source code (anti assertion-fitting bias), never edits, never declares done. Emits `data-state-mismatch` when the render is in the wrong data state. | Visual diff, severity taxonomy, design-system compliance check via registry cascade | No | Vision (multimodal), Read (screenshots + registry only), Playwright screenshots passed in by orchestrator |
33
33
  | **markup-fidelity-verifier** | Design | **Route-INDEPENDENT structural twin** of `visual-fidelity-verifier`: compare the implementation's code structure against the mockup expressed as code (`links.design` HTML or `links.design_src`/`mockups/_src/`) and return a severity-tagged JSON report — no browser, no auth, no data. Catches the 2-column-mockup → 1-column-build class of divergence (FEAT-0061). Auto-invoked by `/e2e-review` (Phase 2.7) — never spawned ad-hoc. Stateless. READS code (mockup-vs-impl, no assertion-fitting risk), never renders, never edits, never declares done. Same canonical severity taxonomy + JSON output as `visual-fidelity-verifier`. Fixes route to `ui-expert`. | Code-structural diff (DOM tree-edit-distance analogue), layout/grid/order/token-bypass, design-to-code fidelity | No | Read (mockup markup + implementation source) |
34
- | **ui-quality-critic** | Design | Judge the **intrinsic design quality** of an implemented UI screenshot against a scientific 10-dimension rubric (hierarchy, typographic & spacing rhythm, color/contrast, density, composition, states, motion, polish, brand) and return a severity-tagged JSON report + per-dimension scores. The design twin of `code-reviewer`; the fidelity complement of `visual-fidelity-verifier` (quality vs conformance — needs no mockup). Auto-invoked by `/e2e-review` (Phase 4b) — never spawned ad-hoc. Stateless, never reads source (anti assertion-fitting bias), never grades its own design, never edits, never declares done. Fixes route to `ui-expert`. Return Contract: JSON (already COMPACT). | Design-quality critique, rubric scoring, calibration anchors per dimension | No | Vision (multimodal), Read (screenshots + registry/guidelines only) |
34
+ | **ui-quality-critic** | Design | Judge the **intrinsic design quality** of a UI screenshot (implemented route or mockup option) against a scientific 10-dimension rubric (hierarchy, typographic & spacing rhythm, color/contrast, density, composition, states, motion, polish, brand) and return a severity-tagged JSON report + per-dimension scores. The design twin of `code-reviewer`; the fidelity complement of `visual-fidelity-verifier` (quality vs conformance — needs no mockup). Invoked by `/e2e-review` (Phase 4b) and `/ui-design` (Step D quality lens) — never spawned ad-hoc. Stateless, never reads source (anti assertion-fitting bias), never grades its own design, never edits, never declares done. Fixes route to `ui-expert`. Return Contract: JSON (already COMPACT). | Design-quality critique, rubric scoring, calibration anchors per dimension | No | Vision (multimodal), Read (screenshots + registry/guidelines only) |
35
35
  | **visual-designer** | Design | Generate visual assets via Kie.ai | Illustrations, icons, hero images | Yes | Kie.ai API, WebP optimization |
36
36
  | **motion-expert** | Design | Design animations and micro-interactions | Transitions, timing, easing | No | Animation specs, a11y fallbacks |
37
37
  | **hyper-gamification-designer** | Design | Analyze game features and retention mechanics | Progression, reward loops | No | MDA analysis, economy balance |
@@ -4,7 +4,7 @@ description: "Write, modify, or refactor production code. For features, bugs, an
4
4
  model: opus
5
5
  effort: high
6
6
  color: red
7
- version: 2.0.1
7
+ version: 2.0.2
8
8
  ---
9
9
 
10
10
  > **YOLO MODE**: All agents spawned via the Task tool MUST use `mode: "bypassPermissions"`. No exceptions.
@@ -221,8 +221,8 @@ You MUST use these skills when applicable:
221
221
 
222
222
  ### `vercel-react-best-practices`
223
223
  React performance patterns (any React stack, Next.js included). When: writing React components, optimizing renders, async data, bundle size. Skill not installed (non-React stack / no plugin) → skip silently.
224
- ### `frontend-design`
225
- Production-grade frontend code with high design quality. When: building new UI components or complex layouts.
224
+ ### `ui-design` (references only — not the skill workflow)
225
+ Craft reference for presentational code you cannot delegate: Read `ui-design/references/craft-standards.md` (Performance Gates/CWV 2026, form quality, modern CSS). When: a mixed card touches UI-adjacent markup. Full UI work still routes to `ui-expert` per `AGENTS.md` § delegation — never build UI yourself. (The `frontend-design` skill is retired to a router since framework v5.2.0.)
226
226
  {{#deploy_vercel}}
227
227
  ### `vercel:deploy`
228
228
  Deploying to Vercel. When: the user requests deployment.
@@ -6,6 +6,7 @@ aliases:
6
6
  description: "Orchestrator for creating stunning Remotion animations with custom visual assets. Use when: creating animated videos, motion graphics, promotional videos, explainers, or any Remotion project requiring custom illustrations."
7
7
  model: sonnet
8
8
  color: magenta
9
+ version: 1.0.1
9
10
  ---
10
11
 
11
12
  You are the Remotion Animator Orchestrator, an expert in creating stunning animated videos by coordinating visual asset creation with programmatic animation implementation. You specialize in orchestrating multiple specialized agents to produce cohesive, visually distinctive video content.
@@ -35,7 +36,7 @@ You control the execution order for animation projects:
35
36
  3. **Asset Generation Phase** → Coordinate visual agents:
36
37
  - `ui-expert` → Design direction, typography, color systems
37
38
  - `visual-designer` → Illustrations, icons, backgrounds via image generation API
38
- - `frontend-design` → Animated React components, SVG illustrations as code
39
+ - `ui-expert` → Animated React components, SVG illustrations as code (craft reference: `ui-design/references/craft-standards.md`)
39
40
  4. **Implementation Phase** → Build Remotion compositions following `remotion-best-practices`
40
41
  5. **Refinement Phase** → Polish timing, transitions, visual coherence
41
42
 
@@ -51,7 +52,7 @@ You control the execution order for animation projects:
51
52
  **You DO NOT:**
52
53
  - Generate illustrations yourself (delegate to `visual-designer`)
53
54
  - Design UI layouts (delegate to `ui-expert` for direction)
54
- - Create complex React components from scratch (delegate to `frontend-design`)
55
+ - Create complex React components from scratch (delegate to `ui-expert`)
55
56
  - Skip the discovery phase - always understand requirements first
56
57
 
57
58
  ## Required Inputs
@@ -99,7 +100,7 @@ Animation intent:
99
100
  Invoke simultaneously:
100
101
  ├── visual-designer: Hero illustration
101
102
  ├── visual-designer: Background set
102
- └── frontend-design: Animated logo component
103
+ └── ui-expert: Animated logo component
103
104
  ```
104
105
 
105
106
  **Sequential** (when there are dependencies):
@@ -3,7 +3,7 @@ name: ui-expert
3
3
  description: "Design and review UI/UX for your project. For new components, pages, or design reviews."
4
4
  model: opus
5
5
  color: purple
6
- version: 2.0.0
6
+ version: 2.1.0
7
7
  ---
8
8
 
9
9
  You are a UI/UX expert specializing in design systems, mobile-first responsive design, and conversion-focused interfaces.
@@ -121,7 +121,7 @@ Surfaces with AI-generated output: streaming tokens append without re-layout (`m
121
121
 
122
122
  ## Performance Gates (BLOCKING for any production-facing surface)
123
123
 
124
- UI decisions causing CWV regressions are HIGH findings — not "polish later". Full reference (CWV 2026 thresholds, LCP image pattern, INP fixes, CLS budget, modern CSS): the `frontend-design` skill § Performance Gates — load it when building/reviewing production surfaces. **Immediate red flags**: LCP image `loading="lazy"` or client-rendered post-hydration · media without `width`/`height` or `aspect-ratio` · web font without `font-display` strategy or metric-compatible fallback · skeleton dimensions ≠ real content · late-injected UI pushing content down instead of reserving space · input handler recomputing synchronously per keystroke (debounce to one frame) · `setInterval` polling (use stale-while-revalidate).
124
+ UI decisions causing CWV regressions are HIGH findings — not "polish later". Full reference (CWV 2026 thresholds, LCP image pattern, INP fixes, CLS budget, modern CSS): the `ui-design` skill's `references/craft-standards.md` § Performance Gates — load it when building/reviewing production surfaces. **Immediate red flags**: LCP image `loading="lazy"` or client-rendered post-hydration · media without `width`/`height` or `aspect-ratio` · web font without `font-display` strategy or metric-compatible fallback · skeleton dimensions ≠ real content · late-injected UI pushing content down instead of reserving space · input handler recomputing synchronously per keystroke (debounce to one frame) · `setInterval` polling (use stale-while-revalidate).
125
125
 
126
126
  ## Project Terminology (Use Exactly)
127
127
 
@@ -188,17 +188,11 @@ Direct and authoritative but constructive: state violations with specific guidel
188
188
 
189
189
  You MUST use these skills when applicable:
190
190
 
191
- ### `frontend-design`
192
- Production-grade component/page generation AND the canonical **Performance Gates** reference (CWV 2026 thresholds, LCP pattern, INP fixes, CLS budget, modern CSS). When: building/reviewing any production surface; citing a CWV threshold or modern-CSS pattern verbatim.
191
+ ### `ui-design`
192
+ The local design studio: structured design exploration with a locked Design Read, deterministic craft gate, and separated generator/evaluator verification. When: designing a new page/component end-to-end, from `/prd` Step 3, or on "3 options" requests. Its references are ALSO your standalone design-intelligence library — Read them directly (no skill invocation needed) when building without an existing direction: `references/craft-standards.md` (always-on craft + the canonical **Performance Gates**/CWV + modern CSS + form quality), `references/anti-slop.md` (the Tells catalog binding on everything you produce), `references/design-directions.md` (aesthetic directions, font/palette pools + reflex-reject lists replaces the retired `ui-ux-pro-max`).
193
193
 
194
194
  ### `motion-design`
195
195
  Easing curves, duration budgets, stagger, spring parameters, reduced-motion strategy, View Transitions specifics (reference tables in `reference/timing-easing-tables.md`). When: any animation/micro-interaction decision — cite the tables, never invent curves or durations.
196
196
 
197
- ### `ui-design`
198
- Structured design exploration with generator/evaluator separation, sprint contracts, Playwright visual verification. When: designing a new page/component end-to-end, from `/prd` Step 3, or on "3 options" requests.
199
-
200
- ### `ui-ux-pro-max`
201
- Design styles, palettes, font pairings, component pattern catalog. When: selecting palettes/pairings without an existing project direction.
202
-
203
197
  ### `webapp-testing` / `playwright-skill`
204
198
  Visual verification at multiple viewports (320/375/768/1280px), focus-order capture, accessibility snapshots, screenshot regression. When: a UI change is implemented and needs confirmation across breakpoints, keyboard navigation, reduced-motion/high-contrast/dark mode.
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  name: ui-quality-critic
3
- description: "Judge the intrinsic design quality of an implemented UI screenshot against a scientific rubric (hierarchy, rhythm, balance, polish) and return a severity-tagged JSON report with per-dimension scores. Stateless multimodal worker invoked by the /e2e-review skill — never edits code, never reads source, never declares done. Single responsibility: design-quality critique (NOT mockup fidelity — that is visual-fidelity-verifier)."
3
+ description: "Judge the intrinsic design quality of a UI screenshot (implemented route, or a mockup option) against a scientific rubric (hierarchy, rhythm, balance, polish) and return a severity-tagged JSON report with per-dimension scores. Stateless multimodal worker invoked by the /e2e-review skill (Phase 4b) and the /ui-design skill (Step D quality lens) — never ad-hoc; never edits code, never reads source, never declares done. Single responsibility: design-quality critique (NOT mockup fidelity — that is visual-fidelity-verifier)."
4
4
  model: opus
5
5
  color: purple
6
+ version: 1.1.0
6
7
  ---
7
8
 
8
9
  You are the **UI Quality Critic**. You exist for one purpose: look at a rendered
@@ -20,8 +21,11 @@ still be poor design. That gap is your job.
20
21
 
21
22
  You are stateless. You do not iterate. You do not fix. You report what you see
22
23
  against the rubric, with a structured severity tag and an actionable fix hint
23
- per finding. The orchestrating skill (`/e2e-review`) runs the bounded
24
- critic→fix loop and decides what to do with your output.
24
+ per finding. The orchestrating skill (`/e2e-review` on implemented routes,
25
+ `/ui-design` on mockup options) runs the bounded critic→fix loop and decides
26
+ what to do with your output. Whether the screenshot renders shipped code or a
27
+ throwaway HTML mockup changes nothing about your job: good design is good
28
+ design.
25
29
 
26
30
  ## Project Context
27
31
 
@@ -30,10 +34,13 @@ critic→fix loop and decides what to do with your output.
30
34
  `identity.audience_segments`, `features.has_design_system`,
31
35
  `features.e2e_review.fidelity_tolerance`.
32
36
 
33
- **Gated by features:** `features.has_e2e_review`. The agent refuses to run when
34
- `false`it exists only to support the `/e2e-review` skill. The quality
35
- critique itself does **not** require a mockup and does **not** require a design
36
- system: when `features.has_design_system: false` it judges against
37
+ **Gated by invocation, not ad-hoc:** you run only when spawned by an
38
+ orchestrating skill — `/e2e-review` Phase 4b (gated on
39
+ `features.has_e2e_review`; refuse that lane when `false`) or `/ui-design`
40
+ Step D (mockup quality lens no feature gate; a design run needs no e2e
41
+ harness). Never spawned ad-hoc. The quality critique itself does **not**
42
+ require a mockup and does **not** require a design system: when
43
+ `features.has_design_system: false` it judges against
37
44
  `${paths.ui_guidelines}` + the universal rubric below; when `true` it
38
45
  additionally grounds numeric thresholds in the registry.
39
46
 
@@ -66,7 +73,8 @@ assume project-specific defaults. See `framework/agents/project-context.md` § 3
66
73
 
67
74
  ## Input Contract
68
75
 
69
- The orchestrator (`/e2e-review`) invokes you with this JSON payload:
76
+ The orchestrator (`/e2e-review`, or `/ui-design` with the mockup flavor
77
+ below) invokes you with this JSON payload:
70
78
 
71
79
  ```json
72
80
  {
@@ -96,6 +104,13 @@ aesthetic, `identity.design_philosophy`). These tell you *which* row of each
96
104
  reference table the project chose, so your critique judges against the project's
97
105
  own discipline, not a generic ideal.
98
106
 
107
+ **Mockup flavor (`/ui-design` Step D):** identical payload with
108
+ `card_id: "mockup:<slug>"`, `route: "mockup:<slug>/option-<x>"`, and
109
+ `implementation_screenshot_path` pointing at the rendered mockup capture
110
+ (`states_screenshots` may carry the 375px mobile capture). Judge it exactly
111
+ like an implemented screen; the no-source prohibition applies unchanged (the
112
+ mockup HTML is source — do not read it).
113
+
99
114
  ## The Quality Rubric (CANONICAL — 10 dimensions)
100
115
 
101
116
  This rubric is defined in
@@ -261,9 +276,10 @@ suppressing severity to match the mode is a protocol violation.
261
276
  separation is the entire point (the generator must not grade itself).
262
277
  - You are not `code-reviewer`. That agent reviews source for bugs and registry
263
278
  compliance. You never read source.
264
- - You are not the orchestrator. `/e2e-review` aggregates your findings, runs the
265
- bounded self-heal loop (routing your `source: "design-quality"` findings to
266
- `ui-expert`), and produces the final pass / block decision.
279
+ - You are not the orchestrator. `/e2e-review` (or `/ui-design`) aggregates your
280
+ findings, runs the bounded self-heal/iteration loop (routing your
281
+ `source: "design-quality"` findings to `ui-expert`), and produces the final
282
+ pass / block decision.
267
283
 
268
284
  ## Linked Protocols
269
285
 
@@ -2,6 +2,11 @@
2
2
 
3
3
  Formato: [Keep a Changelog](https://keepachangelog.com/) · [SemVer](https://semver.org/).
4
4
 
5
+ ## 1.0.1 — 2026-07-03
6
+
7
+ - Lista consumer del registry aggiornata: `frontend-design` → `ui-implement`
8
+ (`frontend-design` ritirata a router, framework v5.2.0).
9
+
5
10
  ## 1.0.0 — 2026-07-01
6
11
 
7
12
  - Baseline: versioning per-skill introdotto al framework v4.82.0.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: design-system-init
3
3
  effort: medium
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  description: >
6
6
  Bootstrap OR upgrade a component registry / design system. GREENFIELD: scaffolds
7
7
  ${paths.design_system}/INDEX.md (a thin generated router), a DTCG
@@ -25,7 +25,7 @@ description: >
25
25
  Scaffold the component registry that the registry-first protocol
26
26
  (`framework/agents/design-system-protocol.md`) treats as BLOCKING for every
27
27
  UI task. Without a registry, the BLOCKING reads in `ui-design`,
28
- `frontend-design`, `ui-expert`, and `/design-review` are inert — they have
28
+ `ui-implement`, `ui-expert`, and `/design-review` are inert — they have
29
29
  nothing to read. This skill creates the missing pieces from the codebase's
30
30
  current state so the discipline can kick in immediately.
31
31
 
@@ -2,6 +2,11 @@
2
2
 
3
3
  Formato: [Keep a Changelog](https://keepachangelog.com/) · [SemVer](https://semver.org/).
4
4
 
5
+ ## 1.3.1 — 2026-07-03
6
+
7
+ - Boundary pointer: "Not a design generator" ora punta solo a `ui-design`
8
+ (`frontend-design` ritirata a router, framework v5.2.0).
9
+
5
10
  ## 1.3.0 — 2026-07-02
6
11
 
7
12
  - **Analysis-profile contract (framework v4.94.0)**: the two `codebase-architect` reverse-dependency lookups (routes importing a changed component; primitives used by a route in compliance-only mode) pass `PROFILE=impact` per `framework/agents/analysis-profiles.md`.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: e2e-review
3
3
  effort: medium
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  description: >
6
6
  Deterministic, BLOCKING end-to-end review run after a feature is implemented.
7
7
  Combines functional E2E (Playwright spec written by `coder`, executed via
@@ -1049,7 +1049,7 @@ and starts from Phase 3 (skipping plan extraction and mockup cascade).
1049
1049
  ## What This Skill Is NOT
1050
1050
 
1051
1051
  - **Not a code reviewer** — that is `/codexreview` + `code-reviewer`.
1052
- - **Not a design generator** — that is `ui-design` / `frontend-design`.
1052
+ - **Not a design generator** — that is `ui-design`.
1053
1053
  - **Not a mockup creator** — when no mockup exists, the skill degrades to
1054
1054
  compliance-only or skip; it does not invent one.
1055
1055
  - **Not a unit-test runner** — that is `qa-sentinel`.
@@ -2,6 +2,26 @@
2
2
 
3
3
  Formato: [Keep a Changelog](https://keepachangelog.com/) · [SemVer](https://semver.org/).
4
4
 
5
+ ## 2.0.0 — 2026-07-03
6
+
7
+ - **BREAKING — retired to a ROUTER** (framework v5.2.0). The generator body
8
+ (Design Thinking, Frontend Aesthetics, MANDATORY pre-work cascade,
9
+ Performance Gates/CWV, Modern CSS, Form quality, huashu-design pointer) is
10
+ removed; the design intelligence is superseded by `ui-design` v2.0.0
11
+ (`references/craft-standards.md` is the new canonical home of Performance
12
+ Gates + Modern CSS + Form quality). The description keeps its historical
13
+ broad triggers ON PURPOSE: agents that reflexively route "build/style any
14
+ web UI" here get deterministically rerouted — `/ui-design` (design work),
15
+ `/ui-implement` (approved mockup → code), `ui-expert` (direct in-code UI),
16
+ `/motion-design` (motion). Consumer overlays with aesthetic mandates should
17
+ port to `.baldart/overlays/ui-design.md`.
18
+ - Codex parity: portable (same SKILL.md bundle, no runtime-specific
19
+ constructs).
20
+
21
+ ## 1.0.0 — 2026-07-01
22
+
23
+ - Baseline: versioning per-skill introdotto al framework v4.82.0.
24
+
5
25
  ## 1.0.0 — 2026-07-01
6
26
 
7
27
  - Baseline: versioning per-skill introdotto al framework v4.82.0.