@wa008/ui-audit-mcp 1.0.7 → 1.0.9
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/dist/src/evaluation/checklist.d.ts +2 -2
- package/dist/src/evaluation/checklist.d.ts.map +1 -1
- package/dist/src/evaluation/checklist.js +11 -11
- package/dist/src/evaluation/checklist.js.map +1 -1
- package/dist/src/tools/submit-evaluation.js +3 -3
- package/dist/src/tools/submit-evaluation.js.map +1 -1
- package/dist/src/tools/take-screenshot.js +1 -1
- package/dist/src/tools/take-screenshot.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,6 @@ import { ChecklistItem } from "../types.js";
|
|
|
9
9
|
export declare const SCREEN_CHECKLIST: ChecklistItem[];
|
|
10
10
|
/** Multi-screen style-consistency checklist */
|
|
11
11
|
export declare const STYLE_CHECKLIST: ChecklistItem[];
|
|
12
|
-
/** Default passing score for each checklist item (on a
|
|
13
|
-
export declare const DEFAULT_PASSING_SCORE =
|
|
12
|
+
/** Default passing score for each checklist item (on a 0-10 scale). The standard is now higher. */
|
|
13
|
+
export declare const DEFAULT_PASSING_SCORE = 8;
|
|
14
14
|
//# sourceMappingURL=checklist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist.d.ts","sourceRoot":"","sources":["../../../src/evaluation/checklist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAiC3C,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,eAAe,EAAE,aAAa,EAyB1C,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"checklist.d.ts","sourceRoot":"","sources":["../../../src/evaluation/checklist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,yCAAyC;AACzC,eAAO,MAAM,gBAAgB,EAAE,aAAa,EAiC3C,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,eAAe,EAAE,aAAa,EAyB1C,CAAC;AAEF,mGAAmG;AACnG,eAAO,MAAM,qBAAqB,IAAI,CAAC"}
|
|
@@ -9,26 +9,26 @@ export const SCREEN_CHECKLIST = [
|
|
|
9
9
|
{
|
|
10
10
|
id: "overlap",
|
|
11
11
|
name: "Element Overlap & Safe Areas",
|
|
12
|
-
description: "Check for any UI elements that overlap or obscure each other.
|
|
13
|
-
scoringGuide: "
|
|
12
|
+
description: "Check for any UI elements that overlap or obscure each other. CRITICAL CHECK: Look at the top status bar (time, battery, signal). Does the app header or any button overlap with these system icons? This is a severe failure. Also check rounded corners and the bottom home indicator area. Even a 1 pixel overlap is a failure.",
|
|
13
|
+
scoringGuide: "0-3 = obvious overlap/cut-off or safe area violation, 4-6 = minor overlap but functional, 7-8 = no overlap but spacing is tight, 9-10 = perfect spacing and safe-area adherence",
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
id: "layout",
|
|
17
17
|
name: "Layout & Screen Utilization",
|
|
18
|
-
description: "Evaluate
|
|
19
|
-
scoringGuide: "
|
|
18
|
+
description: "Evaluate specific screen utilization. CRITICAL FAILURE CHECK: Does the app appear to be running in a 'box' with large black/empty bars at the top and bottom (letterboxing)? This often happens when an old app runs on a new device. If seen, Score must be 0. Also check for unbalanced whitespace. The app MUST fill the entire screen naturally.",
|
|
19
|
+
scoringGuide: "0-3 = letterboxing detected / severe layout issues, 4-6 = poor structure or unbalanced whitespace, 7-8 = acceptable but lacks polish, 9-10 = perfect screen utilization and balance",
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
id: "info_clarity",
|
|
23
23
|
name: "Information Clarity",
|
|
24
24
|
description: "Check whether the user can quickly identify key information on this screen, whether the information hierarchy is clear, and whether the primary call-to-action (CTA) is prominent.",
|
|
25
|
-
scoringGuide: "
|
|
25
|
+
scoringGuide: "0-3 = key information is impossible to find or confusing, 4-6 = readable but requires effort to understand, 7-8 = clear but hierarchy could be better, 9-10 = excellent, immediate clarity",
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
id: "ambiguity",
|
|
29
29
|
name: "Expression Ambiguity",
|
|
30
30
|
description: "Check whether any copy, icons, or button labels are ambiguous or misleading, and whether the intended action is clearly communicated to the user.",
|
|
31
|
-
scoringGuide: "
|
|
31
|
+
scoringGuide: "0-3 = severely ambiguous / misleading, 4-6 = multiple minor ambiguities, 7-8 = generally clear with 1-2 minor issues, 9-10 = precise, unambiguous, and intuitive",
|
|
32
32
|
},
|
|
33
33
|
];
|
|
34
34
|
/** Multi-screen style-consistency checklist */
|
|
@@ -37,21 +37,21 @@ export const STYLE_CHECKLIST = [
|
|
|
37
37
|
id: "color_consistency",
|
|
38
38
|
name: "Color Scheme Consistency",
|
|
39
39
|
description: "Compare all provided screenshots and check whether the primary colors, accent colors, and background colors are consistent across screens.",
|
|
40
|
-
scoringGuide: "
|
|
40
|
+
scoringGuide: "0-3 = completely different styles or clashing colors, 4-6 = noticeable inconsistencies, 7-8 = mostly consistent but minor deviations, 9-10 = perfectly unified color scheme",
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
id: "component_consistency",
|
|
44
44
|
name: "Component Style Consistency",
|
|
45
45
|
description: "Compare buttons, navigation bars, cards, and other reusable components across all screenshots to verify they share the same visual style (corner radius, shadow, spacing, etc.).",
|
|
46
|
-
scoringGuide: "
|
|
46
|
+
scoringGuide: "0-3 = every screen looks different or core components vary wildly, 4-6 = noticeable differences in component design, 7-8 = mostly consistent, 9-10 = strict adherence to a unified design system",
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
id: "typography_consistency",
|
|
50
50
|
name: "Typography Consistency",
|
|
51
51
|
description: "Compare heading sizes, body text sizes, font weights, and line spacing across all screenshots to verify consistency.",
|
|
52
|
-
scoringGuide: "
|
|
52
|
+
scoringGuide: "0-3 = chaotic typography or mixing incompatible fonts, 4-6 = noticeable differences in scaling or weights, 7-8 = mostly consistent, 9-10 = strictly unified typography system",
|
|
53
53
|
},
|
|
54
54
|
];
|
|
55
|
-
/** Default passing score for each checklist item (on a
|
|
56
|
-
export const DEFAULT_PASSING_SCORE =
|
|
55
|
+
/** Default passing score for each checklist item (on a 0-10 scale). The standard is now higher. */
|
|
56
|
+
export const DEFAULT_PASSING_SCORE = 8;
|
|
57
57
|
//# sourceMappingURL=checklist.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../../src/evaluation/checklist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C;QACI,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACP
|
|
1
|
+
{"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../../src/evaluation/checklist.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,yCAAyC;AACzC,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C;QACI,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACP,oUAAoU;QACxU,YAAY,EACR,iLAAiL;KACxL;IACD;QACI,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACP,sVAAsV;QAC1V,YAAY,EACR,qLAAqL;KAC5L;IACD;QACI,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACP,oLAAoL;QACxL,YAAY,EACR,4LAA4L;KACnM;IACD;QACI,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACP,mJAAmJ;QACvJ,YAAY,EACR,kKAAkK;KACzK;CACJ,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC5C;QACI,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACP,4IAA4I;QAChJ,YAAY,EACR,6KAA6K;KACpL;IACD;QACI,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACP,kLAAkL;QACtL,YAAY,EACR,kMAAkM;KACzM;IACD;QACI,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACP,sHAAsH;QAC1H,YAAY,EACR,+KAA+K;KACtL;CACJ,CAAC;AAEF,mGAAmG;AACnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC"}
|
|
@@ -13,9 +13,9 @@ const scoreEntrySchema = z.object({
|
|
|
13
13
|
score: z
|
|
14
14
|
.number()
|
|
15
15
|
.int()
|
|
16
|
-
.min(
|
|
17
|
-
.max(
|
|
18
|
-
.describe("Score from
|
|
16
|
+
.min(0)
|
|
17
|
+
.max(10)
|
|
18
|
+
.describe("Score from 0 (worst) to 10 (best). Standard is high; 8 is passing."),
|
|
19
19
|
reason: z
|
|
20
20
|
.string()
|
|
21
21
|
.describe("Why this score was given. REQUIRED for all scores, whether passing or failing."),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"submit-evaluation.js","sourceRoot":"","sources":["../../../src/tools/submit-evaluation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAG9E,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;IACvE,KAAK,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"submit-evaluation.js","sourceRoot":"","sources":["../../../src/tools/submit-evaluation.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export async function takeScreenshot(input) {
|
|
|
23
23
|
screenWidth: screenshot.width,
|
|
24
24
|
screenHeight: screenshot.height,
|
|
25
25
|
timestamp: new Date().toISOString(),
|
|
26
|
-
hint: "Use ratio coordinates (0-1)
|
|
26
|
+
hint: "Use ratio coordinates (0-1) for tap/swipe. visually inspect for black bars (letterboxing) and status bar overlap.",
|
|
27
27
|
}),
|
|
28
28
|
},
|
|
29
29
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-screenshot.js","sourceRoot":"","sources":["../../../src/tools/take-screenshot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;CAC9G,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA2C;IAC5E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IACjD,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,OAAgB;gBACtB,IAAI,EAAE,UAAU,CAAC,WAAW;gBAC5B,QAAQ,EAAE,WAAoB;aACjC;YACD;gBACI,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;oBACzC,WAAW,EAAE,UAAU,CAAC,KAAK;oBAC7B,YAAY,EAAE,UAAU,CAAC,MAAM;oBAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"take-screenshot.js","sourceRoot":"","sources":["../../../src/tools/take-screenshot.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAE/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;CAC9G,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAA2C;IAC5E,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IACjD,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,OAAgB;gBACtB,IAAI,EAAE,UAAU,CAAC,WAAW;gBAC5B,QAAQ,EAAE,WAAoB;aACjC;YACD;gBACI,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;oBACzC,WAAW,EAAE,UAAU,CAAC,KAAK;oBAC7B,YAAY,EAAE,UAAU,CAAC,MAAM;oBAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,mHAAmH;iBAC5H,CAAC;aACL;SACJ;KACJ,CAAC;AACN,CAAC"}
|