mustflow 2.29.0 → 2.30.0
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/package.json +1 -1
- package/templates/default/common/.mustflow/config/preferences.toml +2 -2
- package/templates/default/i18n.toml +2 -2
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +2 -2
- package/templates/default/locales/en/.mustflow/skills/ui-quality-gate/SKILL.md +34 -25
- package/templates/default/manifest.toml +1 -1
package/package.json
CHANGED
|
@@ -83,8 +83,8 @@ source = "git.commit_message"
|
|
|
83
83
|
[release.versioning]
|
|
84
84
|
impact_check = true
|
|
85
85
|
suggest_bump = true
|
|
86
|
-
auto_bump =
|
|
87
|
-
require_user_confirmation =
|
|
86
|
+
auto_bump = true
|
|
87
|
+
require_user_confirmation = false
|
|
88
88
|
sync_template_version = true
|
|
89
89
|
sync_docs_examples = true
|
|
90
90
|
sync_tests = true
|
|
@@ -62,7 +62,7 @@ translations = {}
|
|
|
62
62
|
[documents."skills.index"]
|
|
63
63
|
source = "locales/en/.mustflow/skills/INDEX.md"
|
|
64
64
|
source_locale = "en"
|
|
65
|
-
revision =
|
|
65
|
+
revision = 95
|
|
66
66
|
translations = {}
|
|
67
67
|
|
|
68
68
|
[documents."skill.adapter-boundary"]
|
|
@@ -613,7 +613,7 @@ translations = {}
|
|
|
613
613
|
[documents."skill.ui-quality-gate"]
|
|
614
614
|
source = "locales/en/.mustflow/skills/ui-quality-gate/SKILL.md"
|
|
615
615
|
source_locale = "en"
|
|
616
|
-
revision =
|
|
616
|
+
revision = 7
|
|
617
617
|
translations = {}
|
|
618
618
|
|
|
619
619
|
[documents."skill.visual-review-artifact"]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
mustflow_doc: skills.index
|
|
3
3
|
locale: en
|
|
4
4
|
canonical: true
|
|
5
|
-
revision:
|
|
5
|
+
revision: 95
|
|
6
6
|
authority: router
|
|
7
7
|
lifecycle: mustflow-owned
|
|
8
8
|
---
|
|
@@ -199,7 +199,7 @@ routes. Event routes stay inactive until their event occurs.
|
|
|
199
199
|
| Generated artifacts, packaged files, binary assets, reports, or downloadable outputs are created, referenced, or reported | `.mustflow/skills/artifact-integrity-check/SKILL.md` | Artifact paths, source or generation path, package rules, and artifact expectations | Artifact references, package metadata, tests, and documentation | unverified or stale artifact claim | `changes_status`, `changes_diff_summary`, `test_release`, `build`, `mustflow_check` | Artifact evidence, inclusion or format checks, skipped checks, and integrity risk |
|
|
200
200
|
| A dense plan, suggestion, code explanation, review result, flow map, or decision set would be easier to inspect as a safe static HTML review artifact | `.mustflow/skills/visual-review-artifact/SKILL.md` | User request, artifact goal, target audience, source evidence, output path, and relevant command contract entries | Temporary `.mustflow/state/artifacts/**` output or explicitly requested versioned HTML artifact, plus direct references, docs, or package metadata | unsafe HTML behavior, prompt injection, unverified artifact claim, or mistaken approval authority | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Artifact kind and path, source evidence, review-only boundary, local interactions, verification, skipped checks, and remaining decision risk |
|
|
201
201
|
| Conversational AI, chat, copilot, prompt, multimodal input, streaming generation, citation, feedback, or conversation-history UI is planned, edited, reviewed, or reported | `.mustflow/skills/llm-service-ux-review/SKILL.md` | LLM service surface, user task, interaction mode, input-to-reset path, latency/source/privacy constraints, and command contract entries | Prompt, attachment, generation, output, citation, feedback, history, reset, error, accessibility, docs, templates, and reports | loss of user control, fake progress, unverifiable source claims, hidden privacy risk, decorative prompt UX, or unverified visual claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | LLM UX surface reviewed, input/waiting/output/recovery states checked, control and citation boundaries, skipped checks, and remaining LLM UX risk |
|
|
202
|
-
| User-facing UI, dashboard, settings, navigation, form, copy, responsive layout, accessibility, or visual state changes are planned, edited, reviewed, or reported | `.mustflow/skills/ui-quality-gate/SKILL.md` | Changed UI surface, user task, interaction path, existing patterns, state combinations, localization rules, and command contract entries | UI controls, labels, states, layout constraints, accessibility attributes, localization hooks, docs, templates, and reports | decorative UI drift, inaccessible controls, layout breakage, or unverified visual claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | UI surface reviewed, states checked, layout/accessibility/localization notes, skipped visual checks, and remaining UI risk |
|
|
202
|
+
| User-facing UI, dashboard, settings, navigation, form, copy, responsive layout, accessibility, visual geometry, interaction flow, or visual state changes are planned, edited, reviewed, or reported | `.mustflow/skills/ui-quality-gate/SKILL.md` | Changed UI surface, user task, interaction path, existing patterns, state combinations, localization rules, content stress cases, geometry-sensitive component facts, and command contract entries | UI controls, labels, states, layout constraints, geometry contracts, accessibility attributes, localization hooks, task-flow recovery, docs, templates, and reports | decorative UI drift, inaccessible controls, icon/text misalignment, overflow or layout breakage, missing empty/error/permission recovery, or unverified visual claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | UI surface reviewed, states checked, geometry/layout/accessibility/localization/recovery notes, skipped visual checks, and remaining UI risk |
|
|
203
203
|
| HTML, templates, component markup, forms, controls, dialogs, navigation, tables, media, metadata, SEO head content, or structured data are created or changed | `.mustflow/skills/html-code-change/SKILL.md` | Page shell, markup patterns, form/control components, metadata source, changed files, and command contract entries | HTML and template markup, metadata, forms, interactive controls, tests, and docs examples | invalid semantics, inaccessible control, broken focus path, metadata drift, or invalid browser markup | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | Semantic, form, focus, metadata, and validation boundary checked, verification, and remaining HTML risk |
|
|
204
204
|
| CSS, Sass, Less, CSS Modules, CSS-in-JS, global styles, design tokens, layout, responsive behavior, focus styles, animation, color, or component styling are created or changed | `.mustflow/skills/css-code-change/SKILL.md` | Global CSS, tokens, component styles, parent layout, browser targets, changed files, and command contract entries | CSS, design tokens, component styles, responsive rules, tests, and docs examples | specificity escalation, token bypass, contrast failure, motion issue, layout shift, or browser incompatibility | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | Cascade, token, responsive, accessibility, and layout-stability boundary checked, verification, and remaining CSS risk |
|
|
205
205
|
| Tailwind classes, class composition, theme tokens, variants, arbitrary values, Tailwind config, `@theme`, `@apply`, or migration surfaces are created or changed | `.mustflow/skills/tailwind-code-change/SKILL.md` | Tailwind config or CSS entry, source scanning rules, theme tokens, class helpers, changed files, and command contract entries | Tailwind config, theme tokens, utility classes, component class maps, tests, and docs examples | production class loss, arbitrary-value sprawl, token bypass, weak focus state, or hidden `@apply` drift | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | Class detection, token, responsive, state, and production CSS boundary checked, verification, and remaining Tailwind risk |
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
mustflow_doc: skill.ui-quality-gate
|
|
3
3
|
locale: en
|
|
4
4
|
canonical: true
|
|
5
|
-
revision:
|
|
5
|
+
revision: 7
|
|
6
6
|
lifecycle: mustflow-owned
|
|
7
7
|
authority: procedure
|
|
8
8
|
name: ui-quality-gate
|
|
9
|
-
description: Apply this skill when user-facing UI, dashboard, settings, navigation, form, copy, responsive layout, accessibility, or visual state changes are planned, edited, reviewed, or reported.
|
|
9
|
+
description: Apply this skill when user-facing UI, dashboard, settings, navigation, form, copy, responsive layout, accessibility, visual geometry, interaction flow, or visual state changes are planned, edited, reviewed, or reported.
|
|
10
10
|
metadata:
|
|
11
11
|
mustflow_schema: "1"
|
|
12
12
|
mustflow_kind: procedure
|
|
@@ -34,6 +34,8 @@ Keep user-facing interfaces usable, minimal, accessible, responsive, localizatio
|
|
|
34
34
|
- A task asks for UI polish, layout, responsive behavior, accessibility, visual states, language switching, labels, or interaction feedback.
|
|
35
35
|
- A report claims that UI text fits, controls are understandable, language updates apply, or a page renders correctly.
|
|
36
36
|
- A change could add explanatory, marketing-like, decorative, duplicate, invented, or non-actionable UI content.
|
|
37
|
+
- A change touches icon and text alignment, button/input sizing, badges, skeletons, tables, dialogs, drawers, dropdowns, popovers, toasts, command palettes, or other compound UI primitives.
|
|
38
|
+
- A change affects search, filters, sorting, pagination, dirty state, autosave, undo, archive, destructive actions, permission states, onboarding, billing or quota states, import/export, upload, or other task-flow recovery paths.
|
|
37
39
|
- AI-generated or vibe-coded UI needs review for predictable conventions, visual hierarchy, mobile usability, touch targets, component boundaries, and interaction feedback.
|
|
38
40
|
- A repeated AI-editing loop may have introduced style drift, duplicated state, missing edge cases, undeclared UI dependencies, or oversized components.
|
|
39
41
|
|
|
@@ -53,6 +55,8 @@ Keep user-facing interfaces usable, minimal, accessible, responsive, localizatio
|
|
|
53
55
|
- Viewports, themes, languages, and state combinations that need inspection.
|
|
54
56
|
- The target devices and interaction style, including mobile-first behavior, pointer or touch input, expected keyboard use, and any project breakpoint or design-token conventions.
|
|
55
57
|
- Existing design-token, component, data, state, dependency, and accessibility contracts that the changed UI must preserve.
|
|
58
|
+
- Content and data stress cases: empty, one, many, long labels, long URLs, long file names, translated text, large counts, missing images, slow network, stale data, permission denial, quota limits, partial failure, and retry behavior.
|
|
59
|
+
- Geometry-sensitive component facts: icon source, viewBox or glyph set, text line-height, component height and padding, truncation owner, flex or grid constraints, hit target size, focus ring space, and parent overflow or stacking context.
|
|
56
60
|
- Any high-risk widget involved, such as toast notifications, tree views, editable grids, drag-and-drop, custom selects, comboboxes, dialogs, or virtualized lists.
|
|
57
61
|
- Performance, asset-size, animation, or network constraints that affect the changed surface.
|
|
58
62
|
- Relevant command-intent contract entries for status, diff, docs, build, release, or mustflow validation.
|
|
@@ -82,32 +86,35 @@ Keep user-facing interfaces usable, minimal, accessible, responsive, localizatio
|
|
|
82
86
|
2. Check nearby UI patterns before adding new layout, component, color, copy, or state conventions.
|
|
83
87
|
3. Keep task-essential controls only. Remove or avoid non-essential welcome text, feature summaries, decorative cards, fake metrics, marketing copy, invented filters, and controls that do not operate on real data.
|
|
84
88
|
4. Check predictability and visual hierarchy. Follow familiar platform or product conventions, make the next likely action visible, and use spacing, size, weight, grouping, and order to make the primary task easier to scan.
|
|
85
|
-
5. Check responsive and touch ergonomics. Prefer mobile-first layout decisions, preserve readable spacing at small widths, keep
|
|
86
|
-
6.
|
|
87
|
-
7. Check
|
|
88
|
-
8.
|
|
89
|
-
9. Check
|
|
90
|
-
10. Check
|
|
91
|
-
11. Check
|
|
92
|
-
12. Check
|
|
93
|
-
13. Check
|
|
94
|
-
14. Check
|
|
95
|
-
15. Check
|
|
96
|
-
16. Check
|
|
97
|
-
17. Check
|
|
98
|
-
18. Check
|
|
99
|
-
19. Check
|
|
100
|
-
20.
|
|
101
|
-
21.
|
|
102
|
-
22.
|
|
103
|
-
23.
|
|
89
|
+
5. Check responsive and touch ergonomics. Prefer mobile-first layout decisions, preserve readable spacing at small widths, keep visible icon size separate from touch target size, and follow existing breakpoint, safe-area, keyboard, or design-token conventions instead of inventing one-off sizes.
|
|
90
|
+
6. Check visual geometry before assuming flex alignment is enough. For icon/text, badge, tab, breadcrumb, list-row, alert, avatar, input-adornment, and button content, verify wrapper size, intrinsic SVG or glyph box, `currentColor`, line-height, height and padding compatibility, shrink behavior, selection-icon space, focus-ring space, and whether single-line content should center while multi-line content should align near the first line.
|
|
91
|
+
7. Check overflow and stable dimensions. Long names, translated labels, URLs, code, counts, and file names need an owning width, `min-width: 0` or equivalent flex/grid constraint, truncation or wrapping policy, reserved loading and error space where needed, and fixed-format controls that do not resize or shift when hover, active, selected, loading, or error content appears.
|
|
92
|
+
8. Verify controls are understandable and state-aware: icon buttons need accessible names or tooltips, destructive or state-changing actions need clear labels, hover, active, selected, loading, and disabled states need clear visual treatment, and disabled states need a visible reason when useful.
|
|
93
|
+
9. Check keyboard and focus behavior before visual polish: native elements first, semantic landmarks when they clarify page structure, tab order, focus order and return, visible focus state, names for icon-only controls, form error linkage, live status announcements, reduced-motion handling, and sufficient contrast.
|
|
94
|
+
10. Check accessible names and states against the actual interaction model, not only the rendered text. Dynamic controls must expose the current expanded, selected, checked, invalid, busy, or disabled state when applicable.
|
|
95
|
+
11. Check form validation, error, and empty-state behavior. Keep labels separate from placeholders, validate close to the field when useful, place errors next to the action or input that needs attention, preserve user input after failure, link errors to controls, and distinguish first-use empty, filtered empty, search empty, permission denied, quota, loading, and failed states.
|
|
96
|
+
12. Check task-flow recovery. Search, filters, sorting, pagination, tabs, modals, drawers, edit mode, dirty state, autosave, optimistic updates, undo, archive, trash, destructive actions, import/export, upload, and onboarding should make the current state visible, preserve or intentionally reset URL/shareable state, prevent duplicate or stale actions, and offer the next useful recovery action when something fails.
|
|
97
|
+
13. Check interaction feedback. Loading, skeleton, saving, success, failure, toast, inline message, or micro-interaction feedback should map to real state, reserve final layout size when practical, avoid unnecessary toast spam, announce important status changes, and should not distract from the task or hide a slow operation.
|
|
98
|
+
14. Check localization-safe labels: language switching, fallback text, placeholders, plural or formatted values, long translated labels, bidirectional text, logical spacing, and date, time, number, currency, or unit display where applicable.
|
|
99
|
+
15. Check responsive layout without text overlap: text should not overflow, clip, overlap, resize fixed-format controls unexpectedly, or depend on viewport-width font scaling.
|
|
100
|
+
16. Check style drift. Repeated AI edits should not create one-off spacing, color, radius, typography, shadow, z-index, transition, animation, or inline-style variants when an existing token, utility, or component variant already covers the need.
|
|
101
|
+
17. Check state architecture. Async UI should cover the relevant idle, loading, success, empty, error, retrying, stale-data, permission, read-only, changed, saved, conflict, partial-success, and quota states without duplicating state variables or leaving race-prone updates after unmount.
|
|
102
|
+
18. Check component boundaries. Reusable UI pieces should be small enough to maintain consistent states, geometry, and accessibility, but not split into wrappers that obscure the user task or duplicate design rules.
|
|
103
|
+
19. Check dependency and API reality. Imported UI packages, generated helpers, component props, browser APIs, and event contracts must exist in the project or be handled through the dependency workflow before code relies on them.
|
|
104
|
+
20. Check high-risk widgets. Toasts need placement, stacking, pauseable timing, and appropriate status announcements; dropdowns and popovers need collision and overflow handling; dialogs and drawers need focus trap, close behavior, scroll locking, and mobile layout; custom selects, comboboxes, command palettes, trees, editable grids, and virtualized lists need proven accessibility and keyboard patterns or an existing library.
|
|
105
|
+
21. Check performance and asset-size awareness when the change adds images, icons, animation, third-party UI code, large client data, long lists, charts, maps, canvas, or extra network work. Prefer existing assets, lazy loading when appropriate, explicit image dimensions, bounded rendering cost, and virtualization only when dynamic-height behavior is understood.
|
|
106
|
+
22. Check state coverage: loading, empty, error, saved, changed, disabled, selected, focused, hover, active, validating, permission denied, read-only, quota, stale, conflict, language-switched, and mobile states should update consistently where applicable.
|
|
107
|
+
23. For complex surfaces, write or confirm a compact UI contract before broad implementation: view tree, data contract, interaction model, state model, geometry contract, design-token contract, and verification targets.
|
|
108
|
+
24. Inspect responsive and localization-sensitive surfaces when the change affects layout or translated text.
|
|
109
|
+
25. Use visual verification only when a configured one-shot command or approved browser workflow exists for the surface. Do not start development servers, watchers, or browser sessions directly from the skill.
|
|
110
|
+
26. Run the narrowest configured verification that covers the changed UI, documentation, package, or mustflow contract.
|
|
104
111
|
|
|
105
112
|
<!-- mustflow-section: postconditions -->
|
|
106
113
|
## Postconditions
|
|
107
114
|
|
|
108
115
|
- The UI supports the user's task without unnecessary explanatory or decorative surface.
|
|
109
|
-
- Important controls, labels, states, visual hierarchy, touch ergonomics, keyboard and focus paths, layout constraints, localization updates, and performance-sensitive assets are checked or reported as unverified.
|
|
110
|
-
- AI-generated changes preserve existing style tokens, component boundaries, state contracts, dependency reality, and high-risk widget accessibility expectations.
|
|
116
|
+
- Important controls, labels, states, visual hierarchy, visual geometry, touch ergonomics, keyboard and focus paths, layout constraints, localization updates, recovery paths, and performance-sensitive assets are checked or reported as unverified.
|
|
117
|
+
- AI-generated changes preserve existing style tokens, component boundaries, geometry contracts, state contracts, dependency reality, and high-risk widget accessibility expectations.
|
|
111
118
|
- Final reports distinguish code-level verification from visual or interactive verification.
|
|
112
119
|
|
|
113
120
|
<!-- mustflow-section: verification -->
|
|
@@ -128,6 +135,8 @@ Use a narrower configured test, build, browser, screenshot, or accessibility int
|
|
|
128
135
|
|
|
129
136
|
- If visual inspection is unavailable, report the unverified viewport, state, or interaction instead of assuming it works.
|
|
130
137
|
- If UI text overlaps, clips, or fails to update after a state or language change, fix the smallest owning component before adding broader layout changes.
|
|
138
|
+
- If icon/text alignment, button sizing, input adornments, badges, or row layouts look off, inspect the wrapper, intrinsic icon box, line-height, hit target, parent width, and overflow owner before adding offset hacks.
|
|
139
|
+
- If empty, error, permission, quota, dirty, or destructive-action states collapse into the same generic message, split them by user next action before polishing copy.
|
|
131
140
|
- If controls lack accessible names and states, fix the control contract before polishing color, spacing, or animation.
|
|
132
141
|
- If a change adds large media, animation, or third-party UI code, verify the performance and asset-size impact or report the gap.
|
|
133
142
|
- If a requested UI element conflicts with repository UI minimalism rules, implement the smallest task-focused control and report the omitted decorative content.
|
|
@@ -139,8 +148,8 @@ Use a narrower configured test, build, browser, screenshot, or accessibility int
|
|
|
139
148
|
- UI surface reviewed
|
|
140
149
|
- User task and states checked
|
|
141
150
|
- Task-essential controls kept or removed
|
|
142
|
-
- Visual hierarchy, responsive layout, touch ergonomics, keyboard and focus, accessibility, localization, performance, and asset-size checks
|
|
143
|
-
- Interaction feedback, style drift, state architecture, dependency, high-risk widget, and component-boundary checks
|
|
151
|
+
- Visual hierarchy, visual geometry, responsive layout, touch ergonomics, keyboard and focus, accessibility, localization, performance, and asset-size checks
|
|
152
|
+
- Interaction feedback, recovery path, overflow, style drift, state architecture, dependency, high-risk widget, and component-boundary checks
|
|
144
153
|
- Decorative or unnecessary UI avoided or removed
|
|
145
154
|
- Command intents run
|
|
146
155
|
- Skipped visual checks and reasons
|