qfai 1.7.13 → 1.7.15
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/README.md +35 -8
- package/assets/init/.qfai/assistant/agents/frontend-engineer.md +2 -2
- package/assets/init/.qfai/assistant/agents/product-experience-architect.md +2 -2
- package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +1 -1
- package/assets/init/.qfai/assistant/instructions/agent-selection.md +2 -0
- package/assets/init/.qfai/assistant/instructions/shared-skill-delegation-baseline.md +88 -0
- package/assets/init/.qfai/assistant/instructions/shared-skill-operating-baseline.md +49 -0
- package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +28 -88
- package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +50 -114
- package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +137 -208
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/design-md-brand-catalog.md +90 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-completion-matrix.md +26 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-coverage-checklist.md +20 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/example-mapping-guide.md +18 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/oq-and-deferred-rules.md +41 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md +22 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui-bearing-playbook.md +50 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/platform_baselines.md +107 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/review_audit_playbook.md +104 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/trend_scan_playbook.md +76 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux_best_practices.md +143 -1005
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +83 -32
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +7 -7
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +12 -4
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +2 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +2 -2
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +31 -13
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/12_design_system.md +115 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +86 -24
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +12 -0
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +1 -1
- package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +2 -0
- package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +27 -27
- package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +145 -155
- package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +118 -355
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/review-cycle-playbook.md +30 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-execution-playbook.md +29 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-phase-checklists.md +37 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-quality-gate.md +32 -0
- package/assets/init/.qfai/assistant/skills/qfai-sdd/references/spec-traceability-rules.md +33 -0
- package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +50 -115
- package/assets/init/.qfai/assistant/steering/agent-catalog.yml +1 -1
- package/assets/init/.qfai/assistant/steering/agent-routing.yml +20 -8
- package/assets/init/.qfai/assistant/steering/manifest.md +4 -7
- package/assets/init/.qfai/assistant/steering/product.md +6 -6
- package/assets/init/.qfai/assistant/steering/review-profiles.yml +3 -0
- package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +7 -7
- package/assets/init/.qfai/contracts/README.md +15 -8
- package/assets/init/.qfai/contracts/ui/README.md +24 -26
- package/assets/init/.qfai/discussion/README.md +35 -32
- package/assets/init/.qfai/evidence/README.md +65 -181
- package/assets/init/.qfai/evidence/calibration.yaml +26 -0
- package/assets/init/.qfai/review/README.md +56 -11
- package/assets/init/.qfai/specs/README.md +2 -2
- package/assets/init/root/qfai.config.yaml +5 -6
- package/assets/scripts/capture-screenshots.js +128 -0
- package/assets/uix-rev/comparison-review.md +3 -15
- package/assets/uix-rev/contracts-review.md +5 -2
- package/assets/uix-rev/scoring-review.md +10 -2
- package/assets/uix-rev/strategy-review.md +11 -7
- package/dist/cli/index.cjs +8532 -4204
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.mjs +8599 -4271
- package/dist/cli/index.mjs.map +1 -1
- package/dist/index.cjs +9808 -5532
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +467 -277
- package/dist/index.d.ts +467 -277
- package/dist/index.mjs +8909 -4647
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/assets/uix-rev/migration-review.md +0 -17
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Discussion Completion Matrix
|
|
2
|
+
|
|
3
|
+
Use this file for the full completion logic behind `/qfai-discussion`.
|
|
4
|
+
|
|
5
|
+
## UI-bearing Packs
|
|
6
|
+
|
|
7
|
+
Completion is blocked until all are true:
|
|
8
|
+
|
|
9
|
+
1. Strategy selected
|
|
10
|
+
2. Design taste interview completed
|
|
11
|
+
3. 3-layer scoring family completed
|
|
12
|
+
4. Dynamic overrides documented
|
|
13
|
+
5. Option comparison completed
|
|
14
|
+
6. Selected anchor documented
|
|
15
|
+
7. Screen contracts drafted
|
|
16
|
+
|
|
17
|
+
## Non-UI Packs
|
|
18
|
+
|
|
19
|
+
- No uiux sidecars required
|
|
20
|
+
- No additional UI-bearing completion conditions apply
|
|
21
|
+
- `prototyping.yaml` is not required
|
|
22
|
+
|
|
23
|
+
## Notes
|
|
24
|
+
|
|
25
|
+
- HTML+CSS mock is optional fallback only.
|
|
26
|
+
- Behavior obligations remain primary.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Discussion Coverage Checklist
|
|
2
|
+
|
|
3
|
+
Use this file when checking whether `/qfai-discussion` covered the required topics.
|
|
4
|
+
|
|
5
|
+
## Required Topics
|
|
6
|
+
|
|
7
|
+
1. Product concept and target users
|
|
8
|
+
2. Scope boundary and anti-goals
|
|
9
|
+
3. User stories and user flows
|
|
10
|
+
4. Functional requirements with source traceability
|
|
11
|
+
5. Non-functional requirements with measurable targets
|
|
12
|
+
6. Performance constraints and SLO assumptions
|
|
13
|
+
7. Security constraints and risk controls
|
|
14
|
+
8. Domain glossary consistency
|
|
15
|
+
9. Technical and operational constraints
|
|
16
|
+
10. Project policies
|
|
17
|
+
|
|
18
|
+
## Completion Rule
|
|
19
|
+
|
|
20
|
+
- Missing topics must become explicit OQ or deferred items.
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/references/example-mapping-guide.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Example Mapping Guide
|
|
2
|
+
|
|
3
|
+
Use this file when `/qfai-discussion` performs Example Mapping.
|
|
4
|
+
|
|
5
|
+
## Minimum Perspectives
|
|
6
|
+
|
|
7
|
+
1. Happy path
|
|
8
|
+
2. Negative path
|
|
9
|
+
3. Edge or boundary
|
|
10
|
+
4. Permission or role
|
|
11
|
+
5. State transition when stateful
|
|
12
|
+
6. Idempotency or retry when external I/O exists
|
|
13
|
+
|
|
14
|
+
## Rules
|
|
15
|
+
|
|
16
|
+
- Use perspective coverage as the gate, not raw case counts.
|
|
17
|
+
- Mark intentionally skipped perspectives with reason and follow-up.
|
|
18
|
+
- Feed unresolved seeds into OQ items with owner and decision point.
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/references/oq-and-deferred-rules.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# OQ and Deferred Rules
|
|
2
|
+
|
|
3
|
+
Use this file for canonical field definitions in `/qfai-discussion`.
|
|
4
|
+
|
|
5
|
+
## OQ Register Fields
|
|
6
|
+
|
|
7
|
+
- `OQ-ID`
|
|
8
|
+
- `Title`
|
|
9
|
+
- `Gate`
|
|
10
|
+
- `Disposition`
|
|
11
|
+
- `Owner`
|
|
12
|
+
- `Rationale`
|
|
13
|
+
- `Options`
|
|
14
|
+
- `Recommendation`
|
|
15
|
+
- `Next-Decision-Point`
|
|
16
|
+
- `Due`
|
|
17
|
+
- `Evidence`
|
|
18
|
+
|
|
19
|
+
## Gate Enum
|
|
20
|
+
|
|
21
|
+
`discussion|sdd|atdd|tdd|ops`
|
|
22
|
+
|
|
23
|
+
## Deferred Fields
|
|
24
|
+
|
|
25
|
+
- `OQ-ID`
|
|
26
|
+
- `Title`
|
|
27
|
+
- `Gate`
|
|
28
|
+
- `Deferred-Reason`
|
|
29
|
+
- `Deferred-Until`
|
|
30
|
+
- `Owner`
|
|
31
|
+
- `Due`
|
|
32
|
+
- `Severity`
|
|
33
|
+
- `Impact`
|
|
34
|
+
- `Mitigation`
|
|
35
|
+
- `Evidence`
|
|
36
|
+
|
|
37
|
+
## Guardrails
|
|
38
|
+
|
|
39
|
+
- Do not leave recommendations implicit.
|
|
40
|
+
- Do not defer without a next decision point.
|
|
41
|
+
- Do not close the pack while `Disposition: open` remains.
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Discussion Review Cycle Playbook
|
|
2
|
+
|
|
3
|
+
Use this file for detailed review-pack handling in `/qfai-discussion`.
|
|
4
|
+
|
|
5
|
+
## Required Artifacts
|
|
6
|
+
|
|
7
|
+
- `review_request.md`
|
|
8
|
+
- `Rxx_<reviewer>.md`
|
|
9
|
+
- `summary.json`
|
|
10
|
+
|
|
11
|
+
## Cycle Rules
|
|
12
|
+
|
|
13
|
+
1. Create a new review pack for each cycle.
|
|
14
|
+
2. Apply the footer SSOT from `rcp_footer.md`.
|
|
15
|
+
3. Run only the routed reviewers for the current phase and conditions.
|
|
16
|
+
4. On `FAIL`, rerun only the failed reviewer and any reviewer whose scope changed.
|
|
17
|
+
5. Mark fixed only when all routed blocking reviewers are `PASS`.
|
|
18
|
+
|
|
19
|
+
## summary.json
|
|
20
|
+
|
|
21
|
+
- `target.kind` must be `"discussion"`.
|
|
22
|
+
- Keep rerun history append-only.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# UI-bearing Playbook
|
|
2
|
+
|
|
3
|
+
Use this file when `/qfai-discussion` needs the full UI-bearing decision logic.
|
|
4
|
+
|
|
5
|
+
## Classification Rule
|
|
6
|
+
|
|
7
|
+
- Classify by surface type, not by interaction complexity.
|
|
8
|
+
|
|
9
|
+
## Surface Mapping
|
|
10
|
+
|
|
11
|
+
| Surface | UI-bearing | Result |
|
|
12
|
+
| ------- | ---------- | --------------------------------- |
|
|
13
|
+
| web | Yes | Generate full uiux sidecar family |
|
|
14
|
+
| mobile | Yes | Generate full uiux sidecar family |
|
|
15
|
+
| desktop | Yes | Generate full uiux sidecar family |
|
|
16
|
+
| cli | Yes | Generate full uiux sidecar family |
|
|
17
|
+
| mixed | Yes | Generate full uiux sidecar family |
|
|
18
|
+
| non-ui | No | Skip uiux sidecars |
|
|
19
|
+
|
|
20
|
+
## Detection Signals
|
|
21
|
+
|
|
22
|
+
- Explicit classification in `01_Context.md`
|
|
23
|
+
- UI-oriented stories in `03_Story-Workshop.md`
|
|
24
|
+
- Mermaid screen flows
|
|
25
|
+
- HTML or visual structure hints as supporting signals only
|
|
26
|
+
|
|
27
|
+
## Sidecar Family SSOT
|
|
28
|
+
|
|
29
|
+
- `uiux/00_index.md`
|
|
30
|
+
- `uiux/10_implementation_strategy.md`
|
|
31
|
+
- `uiux/11_design_taste_interview.md`
|
|
32
|
+
- `uiux/12_design_system.md`
|
|
33
|
+
- `uiux/20_design_eval_invariant.md`
|
|
34
|
+
- `uiux/21_design_eval_trend_derived.md`
|
|
35
|
+
- `uiux/22_design_eval_product_specific.md`
|
|
36
|
+
- `uiux/23_design_eval_aggregate.md`
|
|
37
|
+
- `uiux/24_design_eval_dynamic_overrides.md`
|
|
38
|
+
- `uiux/30_option_comparison.md`
|
|
39
|
+
- `uiux/31_selected_anchor_screen.md`
|
|
40
|
+
- `uiux/40_screen_contracts.md`
|
|
41
|
+
- `uiux/50_review_input_bundle.md`
|
|
42
|
+
|
|
43
|
+
### Trend Scan SSOT
|
|
44
|
+
|
|
45
|
+
Trend Scan is **not** a sidecar file. Trend Scan lives at
|
|
46
|
+
`04_Sources.md#Trend Scan` (part of the core 15-file discussion pack).
|
|
47
|
+
The legacy `uiux/20_trend_scan.md` template was removed; `uiux/20_design_eval_invariant.md`
|
|
48
|
+
is a different axis family (design evaluation invariant criteria) and does
|
|
49
|
+
not own Trend Scan content. UI-bearing completion checks read Trend Scan
|
|
50
|
+
from `04_Sources.md`.
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/platform_baselines.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# UI/UX Platform Baselines
|
|
2
|
+
|
|
3
|
+
Use this file only when the current discussion needs platform-specific detail.
|
|
4
|
+
|
|
5
|
+
## Cross-Platform Baseline
|
|
6
|
+
|
|
7
|
+
- Keep the same conceptual model across surfaces.
|
|
8
|
+
- Do not force the same layout across mobile, desktop, and CLI.
|
|
9
|
+
- Document intentional platform deviations.
|
|
10
|
+
- Shared design tokens are preferred, but interaction patterns should stay platform-native.
|
|
11
|
+
|
|
12
|
+
## Web
|
|
13
|
+
|
|
14
|
+
### Use when
|
|
15
|
+
|
|
16
|
+
- Browser-based product with responsive layouts, forms, or complex navigation.
|
|
17
|
+
|
|
18
|
+
### Baseline expectations
|
|
19
|
+
|
|
20
|
+
- Keyboard navigation works end to end.
|
|
21
|
+
- Focus indicators remain visible.
|
|
22
|
+
- Contrast meets WCAG expectations.
|
|
23
|
+
- Navigation changes across breakpoints intentionally.
|
|
24
|
+
- Hover-only interaction is never the only path.
|
|
25
|
+
|
|
26
|
+
### Practical floor
|
|
27
|
+
|
|
28
|
+
- Minimum target size: 24x24 CSS px at WCAG 2.2 AA floor; prefer 44x44 CSS px.
|
|
29
|
+
- Common layout bands:
|
|
30
|
+
- compact: 0-599 px
|
|
31
|
+
- medium: 600-839 px
|
|
32
|
+
- expanded: 840-1199 px
|
|
33
|
+
- large: 1200 px+
|
|
34
|
+
|
|
35
|
+
## Mobile
|
|
36
|
+
|
|
37
|
+
### Shared mobile rules
|
|
38
|
+
|
|
39
|
+
- Primary actions should sit in reachable zones.
|
|
40
|
+
- Avoid surprise horizontal scroll.
|
|
41
|
+
- Respect safe areas and system gestures.
|
|
42
|
+
- Every gesture-only action needs a visible alternative when feasible.
|
|
43
|
+
|
|
44
|
+
### iOS
|
|
45
|
+
|
|
46
|
+
- Prefer standard navigation bar, tab bar, modal, and back behavior.
|
|
47
|
+
- Minimum touch target: 44x44 pt.
|
|
48
|
+
- Support Dynamic Type where the surface expects it.
|
|
49
|
+
- Respect swipe-back and safe area behavior.
|
|
50
|
+
|
|
51
|
+
### Android
|
|
52
|
+
|
|
53
|
+
- Prefer Material-aligned navigation patterns and system back behavior.
|
|
54
|
+
- Minimum touch target: 48x48 dp.
|
|
55
|
+
- Use bottom navigation only for 3-5 primary destinations.
|
|
56
|
+
- Do not import iOS-only interaction idioms without strong reason.
|
|
57
|
+
|
|
58
|
+
## Desktop
|
|
59
|
+
|
|
60
|
+
### Shared desktop rules
|
|
61
|
+
|
|
62
|
+
- Keyboard efficiency matters more than on mobile.
|
|
63
|
+
- Dense information layouts are acceptable if hierarchy stays clear.
|
|
64
|
+
- Windowing, focus, and menu behavior should feel native.
|
|
65
|
+
|
|
66
|
+
### Windows
|
|
67
|
+
|
|
68
|
+
- Respect system theme and high-contrast support.
|
|
69
|
+
- Do not break expected title-bar or window-management behavior.
|
|
70
|
+
- Pointer-friendly controls may be smaller than touch controls, but touch mode should still be usable.
|
|
71
|
+
|
|
72
|
+
### macOS
|
|
73
|
+
|
|
74
|
+
- Preserve standard menu, shortcut, and window expectations.
|
|
75
|
+
- Avoid modal-heavy flows where non-modal inspection is more natural.
|
|
76
|
+
- Do not break standard copy/paste/undo/find conventions.
|
|
77
|
+
|
|
78
|
+
## CLI
|
|
79
|
+
|
|
80
|
+
- Optimize for scanability and command confidence.
|
|
81
|
+
- Keep output structured and predictable.
|
|
82
|
+
- Use concise labels, clear status, and recoverable error messages.
|
|
83
|
+
- Color must not be the only meaning carrier.
|
|
84
|
+
- Important actions should remain discoverable without memorizing hidden flags.
|
|
85
|
+
|
|
86
|
+
## States
|
|
87
|
+
|
|
88
|
+
Every key surface should account for:
|
|
89
|
+
|
|
90
|
+
- default
|
|
91
|
+
- loading
|
|
92
|
+
- empty
|
|
93
|
+
- error
|
|
94
|
+
- success or completion confirmation when relevant
|
|
95
|
+
|
|
96
|
+
## Dark Mode
|
|
97
|
+
|
|
98
|
+
- Treat dark mode as a separate design pass, not an inversion.
|
|
99
|
+
- Re-check contrast, semantic colors, overlays, and images.
|
|
100
|
+
- Avoid pure black unless the product explicitly needs it.
|
|
101
|
+
|
|
102
|
+
## Motion
|
|
103
|
+
|
|
104
|
+
- Typical UI transitions should stay short and purposeful.
|
|
105
|
+
- Prefer roughly 100-300 ms for common transitions.
|
|
106
|
+
- Respect reduced-motion preferences.
|
|
107
|
+
- Motion should explain change, not delay access.
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/review_audit_playbook.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# UI/UX Review Audit Playbook
|
|
2
|
+
|
|
3
|
+
Use this file when the core checklist is not enough.
|
|
4
|
+
|
|
5
|
+
## Heuristic Review Pass
|
|
6
|
+
|
|
7
|
+
Review the design direction against these durable heuristics:
|
|
8
|
+
|
|
9
|
+
- system status is visible
|
|
10
|
+
- product language matches user language
|
|
11
|
+
- users can cancel, go back, undo, or recover
|
|
12
|
+
- terms and patterns are consistent
|
|
13
|
+
- error-prone input is constrained or prevented
|
|
14
|
+
- users recognize options instead of recalling them
|
|
15
|
+
- novice and expert use are both supported where relevant
|
|
16
|
+
- unnecessary noise is removed
|
|
17
|
+
- errors explain recovery
|
|
18
|
+
- help is contextual and task-oriented
|
|
19
|
+
|
|
20
|
+
## Layout And Information Architecture
|
|
21
|
+
|
|
22
|
+
Check for:
|
|
23
|
+
|
|
24
|
+
- a clear reading path
|
|
25
|
+
- meaningful grouping and spacing
|
|
26
|
+
- obvious hierarchy
|
|
27
|
+
- limited top-level navigation choices
|
|
28
|
+
- shallow nesting
|
|
29
|
+
- no dead-end screens
|
|
30
|
+
- no false bottoms or hidden overflow
|
|
31
|
+
|
|
32
|
+
## Forms And Actions
|
|
33
|
+
|
|
34
|
+
Check for:
|
|
35
|
+
|
|
36
|
+
- visible labels
|
|
37
|
+
- appropriate input types
|
|
38
|
+
- inline validation near the source
|
|
39
|
+
- preserved input on error
|
|
40
|
+
- descriptive action labels
|
|
41
|
+
- one clear primary action
|
|
42
|
+
- destructive actions separated from constructive actions
|
|
43
|
+
|
|
44
|
+
## Screen States
|
|
45
|
+
|
|
46
|
+
Each important screen should specify:
|
|
47
|
+
|
|
48
|
+
- what empty means
|
|
49
|
+
- what loading looks like
|
|
50
|
+
- what a recoverable error says
|
|
51
|
+
- how the user retries or exits
|
|
52
|
+
- whether success needs confirmation or summary
|
|
53
|
+
|
|
54
|
+
## Accessibility Audit
|
|
55
|
+
|
|
56
|
+
Check for:
|
|
57
|
+
|
|
58
|
+
- keyboard access
|
|
59
|
+
- visible focus
|
|
60
|
+
- heading and landmark clarity
|
|
61
|
+
- non-color cues
|
|
62
|
+
- adequate target size
|
|
63
|
+
- readable copy
|
|
64
|
+
- screen-reader-compatible semantics where custom UI exists
|
|
65
|
+
|
|
66
|
+
Note:
|
|
67
|
+
|
|
68
|
+
- automated accessibility tools catch only part of the problem;
|
|
69
|
+
- manual keyboard and screen-reader review is still required.
|
|
70
|
+
|
|
71
|
+
## Anti-Pattern Red Flags
|
|
72
|
+
|
|
73
|
+
Flag immediately if you see:
|
|
74
|
+
|
|
75
|
+
- mystery-meat navigation
|
|
76
|
+
- placeholder-only labels
|
|
77
|
+
- premature or submit-only validation
|
|
78
|
+
- broken back behavior
|
|
79
|
+
- invisible navigation
|
|
80
|
+
- silent failure
|
|
81
|
+
- blocking full-screen spinners
|
|
82
|
+
- tiny touch targets
|
|
83
|
+
- gesture-only critical actions
|
|
84
|
+
- manipulative dark patterns
|
|
85
|
+
|
|
86
|
+
## Documentation Expectations For QFAI
|
|
87
|
+
|
|
88
|
+
A good discussion artifact should make these reviewable without guesswork:
|
|
89
|
+
|
|
90
|
+
- screen inventory or equivalent key-surface coverage
|
|
91
|
+
- flow logic including error paths
|
|
92
|
+
- component or interaction inventory where it matters
|
|
93
|
+
- responsive/adaptive behavior where the surface changes materially
|
|
94
|
+
- accessibility constraints
|
|
95
|
+
- decision rationale and rejected options
|
|
96
|
+
|
|
97
|
+
## Recommended Audit Order
|
|
98
|
+
|
|
99
|
+
1. Validate user goal and flow.
|
|
100
|
+
2. Validate option comparison and anchor choice.
|
|
101
|
+
3. Validate state coverage and contracts.
|
|
102
|
+
4. Validate accessibility and platform fit.
|
|
103
|
+
5. Validate anti-pattern absence.
|
|
104
|
+
6. Validate traceability into `04_Sources.md`, `14_Review-Request.md`, and `99_delta.md`.
|
package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/trend_scan_playbook.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# UI/UX Trend Scan Playbook
|
|
2
|
+
|
|
3
|
+
Do not hard-code year-specific design trends into the core reference.
|
|
4
|
+
Use this playbook to research and translate current signals during each discussion run.
|
|
5
|
+
|
|
6
|
+
## Goal
|
|
7
|
+
|
|
8
|
+
Produce trend input that informs design direction without replacing product reasoning.
|
|
9
|
+
|
|
10
|
+
## Required Output Shape
|
|
11
|
+
|
|
12
|
+
When UI-bearing, `04_Sources.md` trend entries should capture:
|
|
13
|
+
|
|
14
|
+
- reference
|
|
15
|
+
- observation
|
|
16
|
+
- decision_connection
|
|
17
|
+
- evaluation_connection
|
|
18
|
+
- local_implication
|
|
19
|
+
|
|
20
|
+
## Required Research Categories
|
|
21
|
+
|
|
22
|
+
At minimum, check the categories that materially affect the surface:
|
|
23
|
+
|
|
24
|
+
- navigation patterns
|
|
25
|
+
- density and layout
|
|
26
|
+
- motion and transitions
|
|
27
|
+
- color and theming
|
|
28
|
+
- form interaction
|
|
29
|
+
- accessibility-sensitive interaction changes
|
|
30
|
+
- AI-assisted or multimodal interaction, if relevant
|
|
31
|
+
- platform release guidance, if the surface depends on native conventions
|
|
32
|
+
|
|
33
|
+
## Freshness Rules
|
|
34
|
+
|
|
35
|
+
- Prefer official platform guidance and recent primary sources.
|
|
36
|
+
- Treat trend claims as volatile unless supported by current evidence.
|
|
37
|
+
- If a claim is older or weakly supported, record it as low-confidence or omit it.
|
|
38
|
+
|
|
39
|
+
## Translation Rules
|
|
40
|
+
|
|
41
|
+
Do not stop at "this is trendy."
|
|
42
|
+
Always translate a reference into:
|
|
43
|
+
|
|
44
|
+
- whether it fits the product's users and task frequency;
|
|
45
|
+
- whether it improves or harms clarity;
|
|
46
|
+
- whether it changes scoring in `uiux/20-24`;
|
|
47
|
+
- whether it affects the selected anchor or contracts;
|
|
48
|
+
- whether it should be adopted, adapted, or rejected.
|
|
49
|
+
|
|
50
|
+
## Rejection Rules
|
|
51
|
+
|
|
52
|
+
Reject a trend when:
|
|
53
|
+
|
|
54
|
+
- it conflicts with usability or accessibility floors;
|
|
55
|
+
- it depends on a platform convention the product does not have;
|
|
56
|
+
- it adds novelty without improving the core task;
|
|
57
|
+
- it increases cognitive load for a routine workflow;
|
|
58
|
+
- it is fashionable but weakly evidenced.
|
|
59
|
+
|
|
60
|
+
## Competitive Reference Registry Expectations
|
|
61
|
+
|
|
62
|
+
For each meaningful competitor or reference pattern, capture:
|
|
63
|
+
|
|
64
|
+
- what was adopted
|
|
65
|
+
- what was rejected
|
|
66
|
+
- how adopted ideas were translated locally
|
|
67
|
+
|
|
68
|
+
Avoid placeholders such as `TBD`, `N/A`, `TODO`, or empty values.
|
|
69
|
+
|
|
70
|
+
## Good Trend Scan Questions
|
|
71
|
+
|
|
72
|
+
- What behavior is actually becoming standard?
|
|
73
|
+
- Which surfaces are adopting it successfully?
|
|
74
|
+
- What problem does it solve?
|
|
75
|
+
- What tradeoff does it introduce?
|
|
76
|
+
- Should QFAI adopt it directly, adapt it, or explicitly reject it?
|