@ryuxdsgn/design-intelligence 2.6.3 → 2.6.4
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.
|
@@ -47,6 +47,7 @@ function skill(id, rules) {
|
|
|
47
47
|
const RUN = "ryux run 2026-10-02";
|
|
48
48
|
// Rules that cover a pattern another MIT ruleset also names; the text and numbering are RYUX's own.
|
|
49
49
|
const AS = "anti-slop (MIT)";
|
|
50
|
+
const EK = "emilkowalski/skills (MIT)";
|
|
50
51
|
export const RULES = [
|
|
51
52
|
...skill("product", [
|
|
52
53
|
{
|
|
@@ -645,10 +646,10 @@ export const RULES = [
|
|
|
645
646
|
title: "Motion earns its level",
|
|
646
647
|
level: "contextual",
|
|
647
648
|
when: "the design adds motion or transitions",
|
|
648
|
-
do: "Classify each motion: L1 state feedback, L2 component transition, L3 page transition, L4 storytelling, L5 decorative. The higher the level, the stronger the reason it needs. Take timing and easing from one motion personality, define them once as motion tokens, animate transform and opacity rather than layout properties, and honor reduced motion (RX-A11Y-08).",
|
|
649
|
-
dont: "Animate everything, use one generic duration and easing (transition: all 0.3s) everywhere, or let decorative motion delay content or input.",
|
|
649
|
+
do: "Classify each motion: L1 state feedback, L2 component transition, L3 page transition, L4 storytelling, L5 decorative. The higher the level, the stronger the reason it needs. Then weigh how often people see it: a surface opened many times a day (command palette, shortcut, core navigation, list selection) appears and closes without movement, at most a fade too short to notice; standard transitions belong to occasional surfaces (modal, drawer, toast), and expression to rare or first-time moments. Take timing and easing from one motion personality, define them once as motion tokens, animate transform and opacity rather than layout properties, and honor reduced motion (RX-A11Y-08).",
|
|
650
|
+
dont: "Animate everything, give a surface people open many times a day an entrance they must sit through, use one generic duration and easing (transition: all 0.3s) everywhere, or let decorative motion delay content or input.",
|
|
650
651
|
why: "Motion directs attention; unearned motion steals it from the task and can make some people unwell.",
|
|
651
|
-
basis:
|
|
652
|
+
basis: `NNGroup animation and usability guidance; WCAG 2.3.3 animation from interactions; frequency check: pattern also in ${EK} find-animation-opportunities, written for RYUX`,
|
|
652
653
|
notWhen: "L1 feedback on standard controls that follows the platform defaults",
|
|
653
654
|
tradeoff: "fewer flourishes on marketing pages",
|
|
654
655
|
check: "review; reduced-motion test",
|
|
@@ -66,7 +66,9 @@ export const DESIGN_BODY = `# RYUX Design
|
|
|
66
66
|
questions alone, most consequential first, at most three, in one message, before designing.
|
|
67
67
|
**Direction is the user's call:** when neither the prompt nor DESIGN.md sets the UI direction
|
|
68
68
|
(character, or brand colour and type) or the motion direction, ask for it in that message (it
|
|
69
|
-
counts toward the three) instead of choosing it yourself.
|
|
69
|
+
counts toward the three) instead of choosing it yourself. **No DESIGN.md and no product docs is the
|
|
70
|
+
case where these questions matter most, never a reason to skip them:** ask, then wait for the
|
|
71
|
+
answer before designing. Complete context means no questions. Never ask what the prompt, DESIGN.md, or the
|
|
70
72
|
product docs already answer. For the rest, make the smallest reasonable assumption, write it
|
|
71
73
|
down, and continue (RX-PR-01, RX-PR-02).
|
|
72
74
|
**Record direction answers.** When the user answers a UI or motion direction question, write the
|
|
@@ -177,7 +179,9 @@ export const BUILD_BODY = `# RYUX Build
|
|
|
177
179
|
approved mockup; it is the spec. If there is none, run Design first (capabilities/design.md)
|
|
178
180
|
instead of inventing one in code.
|
|
179
181
|
3. **Read the modules the task needs** from the task table: for example accessibility, responsive,
|
|
180
|
-
and edge-cases for any UI, and forms and content for a form.
|
|
182
|
+
and edge-cases for any UI, and forms and content for a form. When the build adds motion or
|
|
183
|
+
transitions, read knowledge/ui.md (RX-UI-11) before writing any: how often the surface is seen
|
|
184
|
+
decides how much it moves.
|
|
181
185
|
4. **Implement faithfully.** Use semantic elements, existing components, and real data paths.
|
|
182
186
|
Build must not invent business rules, prices, or limits; API behavior or response shapes; or
|
|
183
187
|
data presented as real (RX-FE-02, RX-PR-02). It must not silently change a design decision: a
|
|
@@ -422,6 +426,9 @@ If not, the surface has no point of view yet. Stay honest while being bold: a st
|
|
|
422
426
|
needs invented numbers, people, or logos.
|
|
423
427
|
|
|
424
428
|
**3. Motion.** Start from purpose: what the motion communicates; with no purpose, no motion.
|
|
429
|
+
Then ask how often someone will see it. The more often, the less of it they should notice: what
|
|
430
|
+
people open many times a day (a command palette, a shortcut, core navigation) appears at once, and
|
|
431
|
+
expression is kept for occasional or first-time moments. A purpose does not outweigh frequency.
|
|
425
432
|
Every motion follows one lifecycle: before, trigger, transition, new state, feedback.
|
|
426
433
|
The states themselves (waiting, result, recovery) are defined in ryux-interaction (RX-IX-01,
|
|
427
434
|
RX-IX-02); motion only makes them visible, and it never compensates for weak UX. Decide the trigger,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ryuxdsgn/design-intelligence",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.4",
|
|
4
4
|
"description": "RYUX: design intelligence for AI agents and designers. One skill, five entry points: Analyze, Design, Build, Critique, and QA, for Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Cline, Copilot, and more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|