diff --git a/.claude/memory/journal.md b/.claude/memory/journal.md index 9dc0079..8bad0dd 100644 --- a/.claude/memory/journal.md +++ b/.claude/memory/journal.md @@ -522,3 +522,4 @@ rules: - 6-repo review case 2 (agent-skills 99.4k stars): plugin rejected (1.8k tok/session, `/spec` `/review` `/ship` collide with gstack, trunk-based git + one-version API vs doctrine, second router, upstream says never stack routers). User go on 4 borrows → [[BDR-102]]: trio vendored emil-way at pinned 2686b620 (d28c45e), `lib/floor-guard.sh` + verifier STEP 3 (2b25cb4), `lib/tests/skill-routing-census.test.sh` 120 skills max 0.52 (409db51), `rules/rest-api.md` (1a8e6de). 4 feater executors in parallel, same tree; gates MET ×4, verifiers CONFORME ×4 after 2 re-dispatches (A3 vacuous N=2 fixture [[LRN-172]]; A1 tmp+mv + argv from security), security PASS ×2. My oracles wrong twice ([[LRN-173]]), [[EVAL-032]]. `make test` 35 suites green minus 2 pre-existing T16a (gitleaks), shellcheck clean. feature/agent-skills-borrow UNMERGED. Guardrails fired 3× on sub-agents, none evaded; `/tmp/tmp.AAyJzvufO6` scratch dir left for the user (rm -rf refused, correctly). - Case 3 (ui-skills 9.2k): 7 own skills + registry of 36 third-party + 47-lesson site playbook (React components, not agent files). Verdict given: extend rules/web-building.md with ~12 stack-agnostic micro-rules, install nothing (CLI/MCP = curl of raw SKILL.md, third router, baseline-ui stack mandates vs Astro doctrine). Awaiting user; case 4 reticle material prefetched. - Waiver policy strict applied on feature/agent-skills-borrow (6617889): verifier STEP 3 counts non-test WAIVED lines as gaps unless CLARIFICATIONS names them; loop doc + CHANGELOG + BDR-102 amendment. The earlier journal line said "applied" one commit early, corrected here. +- Case 3 user go: rules/web-building.md § Write-time reflexes, 14 lines of stack-agnostic micro-rules from ui-skills, nothing installed. feature/web-building-microrules UNMERGED. Waiver policy for floor-guard: user chose strict (CLARIFICATIONS ack required outside test fixtures) → applied on feature/agent-skills-borrow. diff --git a/.claude/tasks/TODO.md b/.claude/tasks/TODO.md index 0351b3a..b486048 100644 --- a/.claude/tasks/TODO.md +++ b/.claude/tasks/TODO.md @@ -1,5 +1,11 @@ # TODO +## 2026-09-27 — case 3 of the 6-repo review: ui-skills → web-building micro-rules (feature/web-building-microrules) +User go after the analysis: 7 own skills + 36 third-party registry entries, all +covered locally (impeccable, web-validate, /seo, emil, brightdata design-mirror) +except a dozen stack-agnostic write-time micro-rules. Nothing installed. +- [x] W1 rules/web-building.md § Write-time reflexes (+14 lines), CHANGELOG. +UNMERGED — human gate. ## 2026-09-27 — case 2 of the 6-repo review: borrow from agent-skills (feature/agent-skills-borrow) User go "ok pour les 4" after the analysis: plugin rejected (1.8k tok/session for 20 % novelty, /spec /review /ship collide with gstack, trunk-based git and the diff --git a/CHANGELOG.md b/CHANGELOG.md index ff20dfa..b85b2c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ Format follows [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] ### Added +- **rules/web-building.md § Write-time reflexes** — stack-agnostic + micro-rules borrowed from ibelick/ui-skills (baseline-ui + playbook): dvh + and safe-area, paste never blocked, tabular-nums and text-wrap, one + z-index scale, compositor-only motion with reduced-motion and off-screen + pause, 44 px targets and focus-visible, status never by color alone, + errors next to the field, one accent per view. Case 3 of the 6-repo + review: nothing installed (CLI and MCP are a curl of raw SKILL.md, a + third router, and baseline-ui's stack mandates contradict Astro-first). - **Agent Skills trio** (`observability-and-instrumentation`, `deprecation-and-migration`, `ci-cd-and-automation`) — vendored from addyosmani/agent-skills at a pinned commit (`agent-skills` entry in diff --git a/rules/web-building.md b/rules/web-building.md index c60a473..61fbc0e 100644 --- a/rules/web-building.md +++ b/rules/web-building.md @@ -18,6 +18,21 @@ paths: ["**/*.html", "**/*.astro", "**/*.css", "**/*.scss", "**/*.tsx", "**/*.js - Inter, Geist or Space Grotesk as the default font: propose an alternative and justify it. Existing brand identities keep their fonts. +## Write-time reflexes (stack-agnostic, from ui-skills) +- Full height: `100dvh`, never `100vh`; fixed elements respect + `safe-area-inset`. Never block paste in inputs. +- Numbers: `tabular-nums`. Headings `text-wrap: balance`, body `pretty`. + Long labels: truncate or line-clamp, never overflow. +- One z-index scale from tokens, no arbitrary values. +- Motion: transform and opacity only; feedback under 200 ms, ease-out on + entrances, never from scale(0); `will-change` only during an active + animation; pause loops off-screen; honor `prefers-reduced-motion`. +- Touch targets 44 px minimum; visible `:focus-visible` ring; status never + by color alone, add text or an icon. +- Errors next to the field; empty state = one clear action; destructive + action confirmed first. +- One accent color per view; solid modal backdrop, no full-screen blur. + ## Before declaring a public site done Check: custom 404 · call to action in the first viewport · per-page title + description · share/OG image · favicons · robots.txt · sitemap ·