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.
Files changed (74) hide show
  1. package/README.md +35 -8
  2. package/assets/init/.qfai/assistant/agents/frontend-engineer.md +2 -2
  3. package/assets/init/.qfai/assistant/agents/product-experience-architect.md +2 -2
  4. package/assets/init/.qfai/assistant/agents/product-surface-reviewer.md +1 -1
  5. package/assets/init/.qfai/assistant/instructions/agent-selection.md +2 -0
  6. package/assets/init/.qfai/assistant/instructions/shared-skill-delegation-baseline.md +88 -0
  7. package/assets/init/.qfai/assistant/instructions/shared-skill-operating-baseline.md +49 -0
  8. package/assets/init/.qfai/assistant/skills/qfai-atdd/SKILL.md +28 -88
  9. package/assets/init/.qfai/assistant/skills/qfai-configure/SKILL.md +50 -114
  10. package/assets/init/.qfai/assistant/skills/qfai-discussion/SKILL.md +137 -208
  11. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/design-md-brand-catalog.md +90 -0
  12. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-completion-matrix.md +26 -0
  13. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/discussion-coverage-checklist.md +20 -0
  14. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/example-mapping-guide.md +18 -0
  15. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/oq-and-deferred-rules.md +41 -0
  16. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/review-cycle-playbook.md +22 -0
  17. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui-bearing-playbook.md +50 -0
  18. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/platform_baselines.md +107 -0
  19. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/review_audit_playbook.md +104 -0
  20. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux/trend_scan_playbook.md +76 -0
  21. package/assets/init/.qfai/assistant/skills/qfai-discussion/references/ui_ux_best_practices.md +143 -1005
  22. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/01_Context.md +9 -0
  23. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/03_Story-Workshop.md +1 -1
  24. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/04_Sources.md +83 -32
  25. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/14_Review-Request.md +7 -7
  26. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/prototyping.yaml +12 -4
  27. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/Rxx_reviewer.md +2 -2
  28. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/review/review_request.md +2 -2
  29. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/10_implementation_strategy.md +31 -13
  30. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/12_design_system.md +115 -0
  31. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/21_design_eval_trend_derived.md +86 -24
  32. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/23_design_eval_aggregate.md +12 -0
  33. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/40_screen_contracts.md +1 -1
  34. package/assets/init/.qfai/assistant/skills/qfai-discussion/templates/uiux/50_review_input_bundle.md +2 -0
  35. package/assets/init/.qfai/assistant/skills/qfai-implement/SKILL.md +27 -27
  36. package/assets/init/.qfai/assistant/skills/qfai-prototyping/SKILL.md +145 -155
  37. package/assets/init/.qfai/assistant/skills/qfai-sdd/SKILL.md +118 -355
  38. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/review-cycle-playbook.md +30 -0
  39. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-execution-playbook.md +29 -0
  40. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-phase-checklists.md +37 -0
  41. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/sdd-quality-gate.md +32 -0
  42. package/assets/init/.qfai/assistant/skills/qfai-sdd/references/spec-traceability-rules.md +33 -0
  43. package/assets/init/.qfai/assistant/skills/qfai-verify/SKILL.md +50 -115
  44. package/assets/init/.qfai/assistant/steering/agent-catalog.yml +1 -1
  45. package/assets/init/.qfai/assistant/steering/agent-routing.yml +20 -8
  46. package/assets/init/.qfai/assistant/steering/manifest.md +4 -7
  47. package/assets/init/.qfai/assistant/steering/product.md +6 -6
  48. package/assets/init/.qfai/assistant/steering/review-profiles.yml +3 -0
  49. package/assets/init/.qfai/assistant/steering/ui-definition-protocol.md +7 -7
  50. package/assets/init/.qfai/contracts/README.md +15 -8
  51. package/assets/init/.qfai/contracts/ui/README.md +24 -26
  52. package/assets/init/.qfai/discussion/README.md +35 -32
  53. package/assets/init/.qfai/evidence/README.md +65 -181
  54. package/assets/init/.qfai/evidence/calibration.yaml +26 -0
  55. package/assets/init/.qfai/review/README.md +56 -11
  56. package/assets/init/.qfai/specs/README.md +2 -2
  57. package/assets/init/root/qfai.config.yaml +5 -6
  58. package/assets/scripts/capture-screenshots.js +128 -0
  59. package/assets/uix-rev/comparison-review.md +3 -15
  60. package/assets/uix-rev/contracts-review.md +5 -2
  61. package/assets/uix-rev/scoring-review.md +10 -2
  62. package/assets/uix-rev/strategy-review.md +11 -7
  63. package/dist/cli/index.cjs +8532 -4204
  64. package/dist/cli/index.cjs.map +1 -1
  65. package/dist/cli/index.mjs +8599 -4271
  66. package/dist/cli/index.mjs.map +1 -1
  67. package/dist/index.cjs +9808 -5532
  68. package/dist/index.cjs.map +1 -1
  69. package/dist/index.d.cts +467 -277
  70. package/dist/index.d.ts +467 -277
  71. package/dist/index.mjs +8909 -4647
  72. package/dist/index.mjs.map +1 -1
  73. package/package.json +1 -1
  74. 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.
@@ -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.
@@ -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.
@@ -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`.
@@ -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.
@@ -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`.
@@ -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?