@ryuxdsgn/design-intelligence 0.0.0-stage → 2.6.2
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.
- package/LICENSE +21 -0
- package/README.md +117 -2
- package/dist/adapters.js +29 -0
- package/dist/cli/fsutil.js +61 -0
- package/dist/cli/index.js +701 -0
- package/dist/intelligence/analyze.js +140 -0
- package/dist/intelligence/capture.js +12 -0
- package/dist/intelligence/content.js +1244 -0
- package/dist/intelligence/critique.js +171 -0
- package/dist/intelligence/guides.js +601 -0
- package/dist/product.js +16 -0
- package/dist/render.js +276 -0
- package/dist/validate.js +68 -0
- package/package.json +58 -4
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { CAPTURE_TABLE } from "./capture.js";
|
|
2
|
+
// RYUX Critique: the review workflow. It orchestrates Analyze, the knowledge skills, and RYUX
|
|
3
|
+
// Knowledge into findings. Source of truth for skills/ryux-critique/SKILL.md (group "critique").
|
|
4
|
+
export const CRITIQUE_DESCRIPTION = "RYUX Critique - senior UX and UI design critique for Figma, pen.dev, websites, screenshots, and built interfaces. Analyzes first, runs a Design Read across nine dimensions, then reports prioritized findings with severity, evidence, impact, recommendation, confidence, and source, plus what to keep. Use when asked to critique, review, or audit a UI, screen, or flow.";
|
|
5
|
+
export const CRITIQUE_BODY = `# RYUX Critique
|
|
6
|
+
|
|
7
|
+
> Get a senior design critique before your users do.
|
|
8
|
+
|
|
9
|
+
Critique answers "does this interface make sense, and what should change first?" It judges
|
|
10
|
+
decisions; it is not Analyze (what exists) or QA (does the build match its design). It is an
|
|
11
|
+
orchestrator, not a pile of rules: it analyzes the design, reasons with the RYUX knowledge modules,
|
|
12
|
+
pulls evidence from RYUX Knowledge, and reports findings someone can act on.
|
|
13
|
+
|
|
14
|
+
\`\`\`
|
|
15
|
+
Critique
|
|
16
|
+
↓
|
|
17
|
+
Analyze what is actually there
|
|
18
|
+
↓
|
|
19
|
+
knowledge modules ux, ui, interaction, forms, content, accessibility,
|
|
20
|
+
responsive, design-system, edge-cases, anti-slop
|
|
21
|
+
↓
|
|
22
|
+
RYUX Knowledge real product screens (search_screens, heuristic_eval)
|
|
23
|
+
↓
|
|
24
|
+
findings
|
|
25
|
+
\`\`\`
|
|
26
|
+
|
|
27
|
+
## Principles
|
|
28
|
+
|
|
29
|
+
1. **Review what you can see.** Capture the real design first. Never review from a description
|
|
30
|
+
alone when the source is reachable.
|
|
31
|
+
2. **Read-only.** Do not edit the Figma file, the pen.dev document, or the site.
|
|
32
|
+
3. **Evidence over taste.** Every finding names its source; severity 3 or more needs a real
|
|
33
|
+
comparison \`screen_id\` when the ryux MCP is connected.
|
|
34
|
+
4. **Honest scope.** A static frame shows no hover, focus, loading, or narrow widths. Say what was
|
|
35
|
+
not tested, and lower the confidence of anything inferred.
|
|
36
|
+
5. **Concise and prioritized.** At most 12 findings; the ones that hurt users most come first.
|
|
37
|
+
|
|
38
|
+
## Steps
|
|
39
|
+
|
|
40
|
+
### 1. Context
|
|
41
|
+
|
|
42
|
+
Who the user is, what task happens on this screen, the platform, and the point in the flow. If the
|
|
43
|
+
request does not say, infer it from the design and list it as an assumption.
|
|
44
|
+
|
|
45
|
+
### 2. Analyze first
|
|
46
|
+
|
|
47
|
+
Run Analyze (\`ryux-analyze\`: capture plus inventory) or reuse an analysis that already exists. Its
|
|
48
|
+
labeled inventory (Measured, Observed, Inferred) is what the findings point at. For a quick
|
|
49
|
+
critique, capture the design with this table and note what you saw:
|
|
50
|
+
|
|
51
|
+
${CAPTURE_TABLE}
|
|
52
|
+
|
|
53
|
+
### 3. Design Read
|
|
54
|
+
|
|
55
|
+
Rate each dimension **Strong**, **Adequate**, or **Weak**, with one sentence of reason.
|
|
56
|
+
|
|
57
|
+
| Dimension | Question |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| Clarity | Can the user understand what this screen is for? |
|
|
60
|
+
| Hierarchy | Can the user identify what matters first? |
|
|
61
|
+
| Coherence | Does it feel like part of the same product? |
|
|
62
|
+
| Density | Is the information density right for how often and how carefully it is used? |
|
|
63
|
+
| Confidence | Does the user have enough information to act safely (cost, consequence, status)? |
|
|
64
|
+
| Efficiency | Can the task be done without unnecessary work? |
|
|
65
|
+
| Specificity | Does it feel designed for this product, or could it belong to any generic SaaS app? |
|
|
66
|
+
| Recoverability | Can users recover from mistakes and failures? |
|
|
67
|
+
| Accessibility | Can people with different abilities and input methods operate and understand it? |
|
|
68
|
+
|
|
69
|
+
### 4. Fact check
|
|
70
|
+
|
|
71
|
+
List every product fact the design states: names of features, tools, and commands, integrations,
|
|
72
|
+
supported platforms, numbers, dates, prices, people, and claims. Mark each one sourced (the brief,
|
|
73
|
+
the repo, the product's docs, a screen_id) or unsourced. Every unsourced fact is a finding under
|
|
74
|
+
RX-PR-02 or RX-AS-01, even when it looks plausible, and even inside a sample or example panel.
|
|
75
|
+
|
|
76
|
+
### 5. Evaluate by category
|
|
77
|
+
|
|
78
|
+
Read the knowledge modules that apply and walk the design with their rules. [Required] rules are the
|
|
79
|
+
gate, [Preferred] rules need a reason when broken, and [Contextual] rules count only when their
|
|
80
|
+
situation is present. Use their "Not when" lines so a rule is not applied mechanically.
|
|
81
|
+
|
|
82
|
+
| Category | Skill | Look for |
|
|
83
|
+
| --- | --- | --- |
|
|
84
|
+
| Product | ryux-product | stated purpose, one primary action, invented facts |
|
|
85
|
+
| UX | ryux-ux | structure, wayfinding, grouping, disclosure, steps |
|
|
86
|
+
| Interaction | ryux-interaction | before, during, result, recovery; confirm or undo; cost upfront; local payments |
|
|
87
|
+
| Forms | ryux-forms | labels, validation, input kept, submission states |
|
|
88
|
+
| Content | ryux-content | specific labels, errors, terminology, Rupiah, dates and numbers |
|
|
89
|
+
| UI | ryux-ui | hierarchy, scale, color roles, density; each visual's job, composition around the copy, motion level; the result against its Visual Brief when there is one |
|
|
90
|
+
| Design system | ryux-design-system | consistency, tokens, component states |
|
|
91
|
+
| Accessibility | ryux-accessibility | contrast, targets, focus, names, color alone |
|
|
92
|
+
| Responsive | ryux-responsive | what changes, stays, disappears, or stacks across widths |
|
|
93
|
+
| Edge cases | ryux-edge-cases | empty, error, loading, long text, permissions |
|
|
94
|
+
| Anti-slop | ryux-anti-slop | invented numbers or people, fake urgency, unjustified decoration |
|
|
95
|
+
|
|
96
|
+
### 6. Evidence from RYUX Knowledge
|
|
97
|
+
|
|
98
|
+
With the ryux MCP connected, find 1 to 3 comparison screens for each major finding with
|
|
99
|
+
\`search_screens\`, then send the findings to \`heuristic_eval\` (\`task_context\` + \`findings\`).
|
|
100
|
+
Its \`heuristic\` field takes the Nielsen codes \`H-01\` to \`H-10\`; map each finding and name the
|
|
101
|
+
RYUX rule in \`issue\`:
|
|
102
|
+
|
|
103
|
+
| Category | Map to |
|
|
104
|
+
| --- | --- |
|
|
105
|
+
| Edge cases, interaction feedback | \`H-01\` visibility of system status |
|
|
106
|
+
| Content, the user's words | \`H-02\` match with the real world |
|
|
107
|
+
| Exits and wayfinding | \`H-03\` user control and freedom |
|
|
108
|
+
| Design system, accessibility | \`H-04\` consistency and standards |
|
|
109
|
+
| Confirm or undo, forms | \`H-05\` error prevention |
|
|
110
|
+
| Recognition | \`H-06\` recognition rather than recall |
|
|
111
|
+
| Shortcuts | \`H-07\` flexibility and efficiency |
|
|
112
|
+
| UI decoration, anti-slop | \`H-08\` aesthetic and minimalist design |
|
|
113
|
+
| Error messages and recovery | \`H-09\` error recovery |
|
|
114
|
+
| Help | \`H-10\` help and documentation |
|
|
115
|
+
|
|
116
|
+
The tool rejects major findings without valid evidence, caps the list at 12, and returns PASS or
|
|
117
|
+
FAIL. Without the MCP, say the evidence comes from the design and standards alone.
|
|
118
|
+
|
|
119
|
+
### 7. Report
|
|
120
|
+
|
|
121
|
+
Each finding uses this schema:
|
|
122
|
+
|
|
123
|
+
| Field | Content |
|
|
124
|
+
| --- | --- |
|
|
125
|
+
| ID | C-01, C-02, ... |
|
|
126
|
+
| Severity | 0 not a problem · 1 cosmetic · 2 minor · 3 major · 4 catastrophic |
|
|
127
|
+
| Category | one of the categories above |
|
|
128
|
+
| Finding | where it is and what the problem is |
|
|
129
|
+
| Evidence | what you saw: the capture, a measured value, a comparison screen |
|
|
130
|
+
| Impact | who is affected, in which task, and how badly |
|
|
131
|
+
| Recommendation | a concrete fix |
|
|
132
|
+
| Confidence | High (seen directly), Medium (partly seen, such as one width), Low (inferred) |
|
|
133
|
+
| Source | the RYUX rule ID, plus a screen_id, a standard (WCAG SC), or "this design" |
|
|
134
|
+
|
|
135
|
+
\`\`\`
|
|
136
|
+
Verdict: one sentence (what works, the biggest risk)
|
|
137
|
+
|
|
138
|
+
What was reviewed and how
|
|
139
|
+
Source: Figma frame "Checkout" (node 1:2) / https://... / pen.dev frame "..."
|
|
140
|
+
Analysis: ryux-analyze, desktop 1440 and mobile 390, via Playwright
|
|
141
|
+
Not tested: hover and focus states, live data, screen reader
|
|
142
|
+
|
|
143
|
+
Design Read
|
|
144
|
+
Clarity Strong · ...
|
|
145
|
+
Confidence Weak · ...
|
|
146
|
+
(all nine)
|
|
147
|
+
|
|
148
|
+
Findings (most severe first, at most 12)
|
|
149
|
+
C-01 · severity 3 · Interaction · confidence High
|
|
150
|
+
Finding: Payment confirmation shows no status while verifying
|
|
151
|
+
Evidence: no loading or progress element in the frame (Observed)
|
|
152
|
+
Impact: buyers paying by QRIS may tap twice and pay twice
|
|
153
|
+
Recommendation: show status with a time estimate; disable the button while verifying
|
|
154
|
+
Source: RX-IX-02; scr_demo_001
|
|
155
|
+
|
|
156
|
+
What works (keep it)
|
|
157
|
+
- ...
|
|
158
|
+
|
|
159
|
+
Fix priorities
|
|
160
|
+
1. C-01 ...
|
|
161
|
+
\`\`\`
|
|
162
|
+
|
|
163
|
+
## Don'ts
|
|
164
|
+
|
|
165
|
+
- Don't review a design you have not captured when it is reachable.
|
|
166
|
+
- Don't edit the source file while reviewing.
|
|
167
|
+
- Don't give a finding without a location, a source, and a reason.
|
|
168
|
+
- Don't raise severity to major without evidence, or claim "app X does this" without a \`screen_id\`.
|
|
169
|
+
- Don't mark an inferred issue High confidence.
|
|
170
|
+
- Don't paste generic advice ("modernize", "add white space") without a real problem.
|
|
171
|
+
- Don't call the result "fully accessible" or "UX optimized"; say what was checked.`;
|