diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cbe60da..99e20a6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ Notable changes to house-rules. Versions follow [semantic versioning](https://se - The T3 steps that read a thread or list threads state their own start, `limit` and `maxCharsPerItem`, so they read the same on T3 builds that differ in order and defaults (a read with no `afterPosition` returns the oldest items first on older builds and the newest first on newer ones; pingdotgg/t3code #33428): `rules/references/multi-agent.md` (the child check, the progress and end-of-thread reads, a finished child's result) and `hr-handoff`'s `references/successor-thread.md` (the header read for `projectId`, the list and the read-back after a settle). A header-only read is `limit: 1`, `maxCharsPerItem: 1`, `runLimit: 1`; the end of a thread is read from `afterPosition` max(0, `itemCount` minus 60), highest `position` newest. - `hr-sqlite`'s `references/evidence.md` adds a rerun of three measured rows (planner statistics after `PRAGMA optimize`, `synchronous` FULL against NORMAL, and `backup()` against `VACUUM INTO`) on Node 26.13.1 with SQLite 3.54.1. The first figures stay with their versions; the section says the new host, disk and data differ, so the gaps are not attributable to Node or SQLite. Planner statistics still fixed the query (20.4, 6.7 and 8.3 ms to 0.0059 ms); the `synchronous` gap is 7.5 times on this disk, not 87. - `hr-diagnosing-bugs`' `references/evidence-discipline.md` adds three rules for a chain of causes: label each claim measured, derived or inferred (an inference names the observation or report it rests on), test each causal link on timing, mechanism, magnitude and necessity (a case where the trigger fired without the cause, or a probe that removes it) and treat a refuted link as a dead theory unless a second cause could produce the same effect, and re-measure inherited numbers, with claims about people or ownership held to the same evidence as claims about systems. `SKILL.md` adds a stop rule for tracing a failure back cause by cause: stop at the step that names something you can change that would have prevented it (what produced a state that should never exist, or the code that mishandles a legitimate one), and merge steps past about seven. +- The `hr-better-*` skills and `hr-explain-interface` move to jakubkrehel/skills `a72290d` (each upstream hunk judged): accessibility words the 2.2.2 timer rule as upstream does (auto-updating content needs a control however long it runs), keeps WCAG's limit to content shown alongside other content and its exemption for essential updates, and says a custom dialog must render outside the `inert` container; colors' `@supports` example uses the same `oklch` value as the first; typography's `text-box` examples name both edges (`trim-start cap text`, `trim-end text alphabetic`), because a one-edge `cap` or `alphabetic` value is dropped. Left out: upstream's `100dvh` keyboard note in layout (its "stable chrome" advice conflicts with the sticky-footer recipe here, which the keyboard still covers on iOS Safari), upstream's `hit-areas.md` label rule (already here) and its `explain-interface` token recipe (this fork reads themed and computed values its own way). ## 0.23.0 - 2026-11-11 diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index ef4a1aca..7a539c71 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -179,14 +179,14 @@ Copyright (c) 2026 Lauren Tan ## jakubkrehel/skills -Source: https://github.com/jakubkrehel/skills (compared at revision `157da62016338e8693dcff93d47154a9e36f2157`) +Source: https://github.com/jakubkrehel/skills (compared at revision `a72290d140249813898ba8648becf6415abcb059`) - `skills/hr-better-accessibility/`, `skills/hr-better-colors/`, `skills/hr-better-layout/`, `skills/hr-better-typography/` and `skills/hr-better-writing/`: adapted skill bundles, including their supporting references and discovery metadata. - `skills/hr-better-interface/` and `skills/hr-break/` (revision `592aedc44d7d5b3e29740984252902f3e5402a1c`) and `skills/hr-explain-interface/` - (revision `d574cc8a576dc24256ad38268b8d03d86724a1b3`): adapted skill bundles that + (revision `a72290d140249813898ba8648becf6415abcb059`): adapted skill bundles that carry their MIT notice. Copyright (c) 2026 Jakub Krehel diff --git a/skills/hr-better-accessibility/NOTICE.md b/skills/hr-better-accessibility/NOTICE.md index 3419ecbd..5176ce2d 100644 --- a/skills/hr-better-accessibility/NOTICE.md +++ b/skills/hr-better-accessibility/NOTICE.md @@ -4,7 +4,7 @@ This notice accompanies the hr-better-accessibility bundle when copied on its ow ## jakubkrehel/skills -Source: https://github.com/jakubkrehel/skills (compared at revision `157da62016338e8693dcff93d47154a9e36f2157`) +Source: https://github.com/jakubkrehel/skills (compared at revision `a72290d140249813898ba8648becf6415abcb059`) - `skills/hr-better-accessibility/`, `skills/hr-better-colors/`, `skills/hr-better-layout/`, `skills/hr-better-typography/` and `skills/hr-better-writing/`: adapted skill bundles, diff --git a/skills/hr-better-accessibility/SKILL.md b/skills/hr-better-accessibility/SKILL.md index 0d87de58..f7faf735 100644 --- a/skills/hr-better-accessibility/SKILL.md +++ b/skills/hr-better-accessibility/SKILL.md @@ -4,7 +4,7 @@ description: "Accessibility rules for web UI: native elements, keyboard and focu license: MIT metadata: upstream: https://github.com/jakubkrehel/skills - upstream_ref: 157da62016338e8693dcff93d47154a9e36f2157 + upstream_ref: a72290d140249813898ba8648becf6415abcb059 upstream_path: skills/better-accessibility/ local_patches: 'Use-when description; reduced-motion kill switch spares spinners; 320px reflow keeps the 2D-content exception; carousel pan-y, touch-callout and real-hardware check (from emilkowalski/skills mobile-native); keeps hover gating, overscroll-behavior, rem breakpoints, sticky-focus padding and translate="no" guidance that upstream moved to unvendored better-ui or dropped' house_rules_patches: "Portable provenance and review verdict; unique SVG title and desc ids" @@ -93,7 +93,7 @@ Wrap motion in `@media (prefers-reduced-motion: no-preference)` so it is opt-in. ## Nothing the user needs runs on a timer -Anything moving, blinking or updating on its own for more than 5 seconds needs a visible pause control (2.2.2). Toasts carrying an action or an error stay until dismissed. The rules are in [motion-and-zoom.md](motion-and-zoom.md). +Moving, blinking or scrolling content needs a visible pause control once it lasts more than 5 seconds. Auto-updating content needs one however long it runs, and a frequency control counts (2.2.2). Both apply to content shown alongside other content, and an essential update, such as a progress indicator on a screen with nothing else, is exempt. Toasts carrying an action or an error stay until dismissed. The rules are in [motion-and-zoom.md](motion-and-zoom.md). ## Announce dynamic content diff --git a/skills/hr-better-accessibility/focus-and-keyboard.md b/skills/hr-better-accessibility/focus-and-keyboard.md index 01d8c1d1..dc807185 100644 --- a/skills/hr-better-accessibility/focus-and-keyboard.md +++ b/skills/hr-better-accessibility/focus-and-keyboard.md @@ -103,7 +103,7 @@ dialogRef.current?.close(); triggerRef.current?.focus(); // return focus to the element that opened it ``` -A custom overlay that can't use `` needs `role="dialog"`, `aria-modal="true"` and an accessible name via `aria-labelledby`. Make the background `inert` and use the project's tested focus-management utility. Prefer an eligible autofocus target, then a visible, enabled focusable control. Skip hidden, disabled and inert candidates. If none exists, focus the dialog container with `tabindex="-1"`. Restore background interactivity when closing. +A custom overlay that can't use `` needs `role="dialog"`, `aria-modal="true"` and an accessible name via `aria-labelledby`. Make the background `inert`, and render the overlay outside the inert container, in a portal or a sibling element, because `inert` on an ancestor disables the dialog too. Use the project's tested focus-management utility. Prefer an eligible autofocus target, then a visible, enabled focusable control. Skip hidden, disabled and inert candidates. If none exists, focus the dialog container with `tabindex="-1"`. Restore background interactivity when closing. Either way: diff --git a/skills/hr-better-accessibility/motion-and-zoom.md b/skills/hr-better-accessibility/motion-and-zoom.md index b6680704..049eb99e 100644 --- a/skills/hr-better-accessibility/motion-and-zoom.md +++ b/skills/hr-better-accessibility/motion-and-zoom.md @@ -52,7 +52,7 @@ Reduced motion targets vestibular triggers, not feedback. ## Autoplay and timed UI -- **Visible controls on anything that moves on its own** (2.2.2). Anything moving, blinking or updating on its own for more than 5 seconds needs a visible pause or stop control, muted looping hero videos included. +- **Visible controls on anything that runs on its own** (2.2.2). Moving, blinking or scrolling content that lasts more than 5 seconds needs a pause, stop or hide control, muted looping hero videos included. Auto-updating content needs one however long it runs, and a frequency control satisfies it. Both apply to content shown alongside other content; an essential update, such as a progress indicator on a screen with nothing else, is exempt. - **Explicit dismissal over timers.** Auto-dismissal suits low-stakes confirmations and nothing else. A toast carrying an action, an error or information the user may need stays until dismissed. - **Pause on attention.** Where a toast must time out, give it at least 5 seconds, and pause the timer while it is hovered or focused. - **Never put critical information only in a timed element.** A vanished toast with the only link to an undo action is data loss on a schedule. diff --git a/skills/hr-better-colors/NOTICE.md b/skills/hr-better-colors/NOTICE.md index 1e505045..74f985dd 100644 --- a/skills/hr-better-colors/NOTICE.md +++ b/skills/hr-better-colors/NOTICE.md @@ -4,7 +4,7 @@ This notice accompanies the hr-better-colors bundle when copied on its own. ## jakubkrehel/skills -Source: https://github.com/jakubkrehel/skills (compared at revision `157da62016338e8693dcff93d47154a9e36f2157`) +Source: https://github.com/jakubkrehel/skills (compared at revision `a72290d140249813898ba8648becf6415abcb059`) - `skills/hr-better-accessibility/`, `skills/hr-better-colors/`, `skills/hr-better-layout/`, `skills/hr-better-typography/` and `skills/hr-better-writing/`: adapted skill bundles, diff --git a/skills/hr-better-colors/SKILL.md b/skills/hr-better-colors/SKILL.md index 2c015ebe..6bcf4251 100644 --- a/skills/hr-better-colors/SKILL.md +++ b/skills/hr-better-colors/SKILL.md @@ -4,7 +4,7 @@ description: "Color rules for web UI: palette ramps, semantic color tokens, colo license: MIT metadata: upstream: https://github.com/jakubkrehel/skills - upstream_ref: 157da62016338e8693dcff93d47154a9e36f2157 + upstream_ref: a72290d140249813898ba8648becf6415abcb059 upstream_path: skills/better-colors/ local_patches: "Use-when description; 14pt bold = 18.67px; P3 fallback severity matches Reporting; better-ui handoff dropped (not vendored); enforce tokens with a lint or guard; gamut mapping described as chroma reduction; light-end spacing outranks even lightness steps" house_rules_patches: "Portable provenance and review verdict" diff --git a/skills/hr-better-colors/color-formats.md b/skills/hr-better-colors/color-formats.md index 7def9f10..c2d0532f 100644 --- a/skills/hr-better-colors/color-formats.md +++ b/skills/hr-better-colors/color-formats.md @@ -74,7 +74,7 @@ For browser matrices predating `oklch()` support, the same layering works with ` @supports (color: oklch(0 0 0)) { .accent { - background: oklch(0.62 0.19 259); + background: oklch(0.623 0.188 259.815); } } ``` diff --git a/skills/hr-better-layout/NOTICE.md b/skills/hr-better-layout/NOTICE.md index e806b645..dd2ef216 100644 --- a/skills/hr-better-layout/NOTICE.md +++ b/skills/hr-better-layout/NOTICE.md @@ -4,7 +4,7 @@ This notice accompanies the hr-better-layout bundle when copied on its own. ## jakubkrehel/skills -Source: https://github.com/jakubkrehel/skills (compared at revision `157da62016338e8693dcff93d47154a9e36f2157`) +Source: https://github.com/jakubkrehel/skills (compared at revision `a72290d140249813898ba8648becf6415abcb059`) - `skills/hr-better-accessibility/`, `skills/hr-better-colors/`, `skills/hr-better-layout/`, `skills/hr-better-typography/` and `skills/hr-better-writing/`: adapted skill bundles, diff --git a/skills/hr-better-layout/SKILL.md b/skills/hr-better-layout/SKILL.md index 6f61e06c..9f61bdfb 100644 --- a/skills/hr-better-layout/SKILL.md +++ b/skills/hr-better-layout/SKILL.md @@ -4,7 +4,7 @@ description: "Layout rules for web UI: grouping, alignment, spacing, reading ord license: MIT metadata: upstream: https://github.com/jakubkrehel/skills - upstream_ref: 157da62016338e8693dcff93d47154a9e36f2157 + upstream_ref: a72290d140249813898ba8648becf6415abcb059 upstream_path: skills/better-layout/ local_patches: "Use-when description; peek-scroller arithmetic; better-ui handoff dropped (not vendored); dvh/svh, viewport-fit, theme-color and row-squeeze rules (from emilkowalski/skills)" house_rules_patches: "Portable provenance and review verdict" diff --git a/skills/hr-better-typography/NOTICE.md b/skills/hr-better-typography/NOTICE.md index ae3d2314..961994fc 100644 --- a/skills/hr-better-typography/NOTICE.md +++ b/skills/hr-better-typography/NOTICE.md @@ -4,7 +4,7 @@ This notice accompanies the hr-better-typography bundle when copied on its own. ## jakubkrehel/skills -Source: https://github.com/jakubkrehel/skills (compared at revision `157da62016338e8693dcff93d47154a9e36f2157`) +Source: https://github.com/jakubkrehel/skills (compared at revision `a72290d140249813898ba8648becf6415abcb059`) - `skills/hr-better-accessibility/`, `skills/hr-better-colors/`, `skills/hr-better-layout/`, `skills/hr-better-typography/` and `skills/hr-better-writing/`: adapted skill bundles, diff --git a/skills/hr-better-typography/SKILL.md b/skills/hr-better-typography/SKILL.md index 55ab9214..095e3517 100644 --- a/skills/hr-better-typography/SKILL.md +++ b/skills/hr-better-typography/SKILL.md @@ -4,7 +4,7 @@ description: "Typography rules for web UI: type scale, line-height, wrapping, tr license: MIT metadata: upstream: https://github.com/jakubkrehel/skills - upstream_ref: 157da62016338e8693dcff93d47154a9e36f2157 + upstream_ref: a72290d140249813898ba8648becf6415abcb059 upstream_path: skills/better-typography/ local_patches: "Use-when description; scaled-input recipe keeps a focus ring and cannot shrink; enforce the scale with a lint or guard; per-field wrap/truncate choice and middle truncation (from emilkowalski/skills break-ui); text-stroke overlap note keeps static cuts as possibly overlapping; text-box Firefox 154+ support; review verdict says Report Block" house_rules_patches: "Portable provenance and review verdict" diff --git a/skills/hr-better-typography/spacing-and-sizing.md b/skills/hr-better-typography/spacing-and-sizing.md index 329af557..300e4fec 100644 --- a/skills/hr-better-typography/spacing-and-sizing.md +++ b/skills/hr-better-typography/spacing-and-sizing.md @@ -69,7 +69,7 @@ In Tailwind, centralize the per-level classes in a component or `@layer base` ra ## Text trimming with text-box -`text-box` takes which edges to trim (`trim-both`, `trim-start`, `trim-end`) and where: +`text-box` takes which edges to trim (`trim-both`, `trim-start`, `trim-end`) and where. Name both edges, start then end. `cap`, `ex` and `alphabetic` need a second edge value, so `trim-start cap` is dropped and `trim-start cap text` is not: | Keyword | Trims at | | ------------ | ----------------------------------------------------- | @@ -85,12 +85,12 @@ In Tailwind, centralize the per-level classes in a component or `@layer base` ra /* trim only the top */ .heading { - text-box: trim-start cap; + text-box: trim-start cap text; } /* trim only the bottom */ .label { - text-box: trim-end alphabetic; + text-box: trim-end text alphabetic; } ``` diff --git a/skills/hr-better-writing/NOTICE.md b/skills/hr-better-writing/NOTICE.md index 457a92f2..88e8840e 100644 --- a/skills/hr-better-writing/NOTICE.md +++ b/skills/hr-better-writing/NOTICE.md @@ -4,7 +4,7 @@ This notice accompanies the hr-better-writing bundle when copied on its own. ## jakubkrehel/skills -Source: https://github.com/jakubkrehel/skills (compared at revision `157da62016338e8693dcff93d47154a9e36f2157`) +Source: https://github.com/jakubkrehel/skills (compared at revision `a72290d140249813898ba8648becf6415abcb059`) - `skills/hr-better-accessibility/`, `skills/hr-better-colors/`, `skills/hr-better-layout/`, `skills/hr-better-typography/` and `skills/hr-better-writing/`: adapted skill bundles, diff --git a/skills/hr-better-writing/SKILL.md b/skills/hr-better-writing/SKILL.md index c7415866..9808c4e3 100644 --- a/skills/hr-better-writing/SKILL.md +++ b/skills/hr-better-writing/SKILL.md @@ -4,7 +4,7 @@ description: "Interface copy rules: button and link labels, error messages, empt license: MIT metadata: upstream: https://github.com/jakubkrehel/skills - upstream_ref: 157da62016338e8693dcff93d47154a9e36f2157 + upstream_ref: a72290d140249813898ba8648becf6415abcb059 upstream_path: skills/better-writing/ local_patches: "Use-when description; plural check at 0, 1 and many (from emilkowalski/skills break-ui)" house_rules_patches: "Portable provenance and review verdict" diff --git a/skills/hr-explain-interface/NOTICE.md b/skills/hr-explain-interface/NOTICE.md index 12202724..bfa2b119 100644 --- a/skills/hr-explain-interface/NOTICE.md +++ b/skills/hr-explain-interface/NOTICE.md @@ -4,9 +4,9 @@ This notice accompanies the hr-explain-interface bundle when copied on its own. ## jakubkrehel/skills -Source: https://github.com/jakubkrehel/skills/tree/d574cc8a576dc24256ad38268b8d03d86724a1b3/skills/explain-interface +Source: https://github.com/jakubkrehel/skills/tree/a72290d140249813898ba8648becf6415abcb059/skills/explain-interface -Adapted from `skills/explain-interface/` at revision `d574cc8a576dc24256ad38268b8d03d86724a1b3`. +Adapted from `skills/explain-interface/` at revision `a72290d140249813898ba8648becf6415abcb059`. Copyright (c) 2026 Jakub Krehel diff --git a/skills/hr-explain-interface/SKILL.md b/skills/hr-explain-interface/SKILL.md index d93a8cdd..bd682fba 100644 --- a/skills/hr-explain-interface/SKILL.md +++ b/skills/hr-explain-interface/SKILL.md @@ -5,7 +5,7 @@ disable-model-invocation: true license: MIT metadata: upstream: https://github.com/jakubkrehel/skills - upstream_ref: d574cc8a576dc24256ad38268b8d03d86724a1b3 + upstream_ref: a72290d140249813898ba8648becf6415abcb059 upstream_path: skills/explain-interface/ local_patches: "Explicit-only; routes findings to the hr-better-* skills; follows the host's browser and scratch rules; stacking-context and CSSImportRule guards; selected callable/token/range/keyframe/inference recipes; passive media inventory avoids context creation; screenshot-description reconstruction boundary" house_rules_patches: "Portable provenance; hr- skill names; theme tokens compared by computed value; pseudo-element geometry from its own computed style; translucent and overlay background colors in the layer search"