@jskit-ai/agent-docs 0.1.130 → 0.1.131

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/agent-docs",
3
- "version": "0.1.130",
3
+ "version": "0.1.131",
4
4
  "description": "Distributed JSKIT agent references, prompts, guides, and generated reference maps.",
5
5
  "type": "module",
6
6
  "files": [
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jskit
3
- description: Build, extend, troubleshoot, review, deslop, and verify JSKIT apps using its CLI, packages, generators, surfaces, placements, CRUDs, managed files, and verification conventions.
3
+ description: Build, extend, troubleshoot, review, deslop, and verify JSKIT apps using its CLI, packages, generators, surfaces, placements, CRUDs, managed files, verification conventions, and Vue/Vuetify Material 3 UI contract. Use for every JSKIT UI creation, modification, review, or cleanup task.
4
4
  ---
5
5
 
6
6
  # JSKIT
@@ -31,6 +31,8 @@ Discover only a missing fact or exact-command failure, then resume the lane.
31
31
  [CRUD operations](references/crud-operations.md) completely.
32
32
  - For routes, placements, user-facing UI, or browser verification, read
33
33
  [UI operations](references/ui-operations.md).
34
+ - For every Vue/Vuetify UI creation, modification, review, or deslop task,
35
+ also read [Material 3](references/material-3.md) completely before acting.
34
36
 
35
37
  Those files are the complete operational references required by this skill.
36
38
  Do not depend on sibling docs. Do not load irrelevant references.
@@ -64,8 +66,9 @@ unless requested in the current task.
64
66
  For review-only work, report without editing. Check duplicated/dead/wrong code,
65
67
  accidental abstraction, incomplete states, missed high-level JSKIT seams,
66
68
  invalid routing/ownership/permission/migration/managed-file choices, weak
67
- Vuetify/Material behavior, and proportional verification. Put findings first
68
- by severity with file references; state when none exist.
69
+ Vuetify/Material behavior, and proportional verification. For affected UI, run
70
+ the Material 3 audit in the selected reference. Put findings first by severity
71
+ with file references; state when none exist.
69
72
 
70
73
  ## Verify
71
74
 
@@ -1,4 +1,4 @@
1
1
  interface:
2
2
  display_name: "JSKIT"
3
- short_description: "Build, debug, verify, and review JSKIT apps"
4
- default_prompt: "Use $jskit to build, extend, troubleshoot, verify, or review this JSKIT application."
3
+ short_description: "Build, review, and verify JSKIT apps and Material 3 UI"
4
+ default_prompt: "Use $jskit to build, extend, troubleshoot, verify, or review this JSKIT application, including its Vue/Vuetify Material 3 interface."
@@ -0,0 +1,105 @@
1
+ # Material 3
2
+
3
+ Read completely before any JSKIT Vue/Vuetify UI task.
4
+
5
+ ## Authority
6
+
7
+ JSKIT uses Vue and the installed Vuetify 4 release. Material 3 is the UI
8
+ contract; packages, shared screens, placements, shell components, and
9
+ app-owned Vuetify configuration are its implementation seams.
10
+ Use the installed public APIs rather than adding `@material/web`, another UI
11
+ framework, or a parallel theme/component system.
12
+
13
+ The request and Blueprint own brand, content, routes, and behavior. Material 3
14
+ does not authorize a redesign.
15
+ An established JSKIT prop or component wins over generic Material advice.
16
+
17
+ ## Implement through owned seams
18
+
19
+ Use this order:
20
+
21
+ 1. Reuse the JSKIT package, generator, shared screen, shell, placement, or
22
+ high-level composable that owns the behavior.
23
+ 2. Use the matching Vuetify component and its public props, variants, slots,
24
+ density, responsive, theme, and accessibility behavior.
25
+ 3. Adapt app-owned wrappers or the central `createVuetify(...)` configuration.
26
+ 4. Add scoped CSS only for product layout or a documented gap. Never style
27
+ Vuetify internals or duplicate a component system in CSS.
28
+
29
+ Do not replace a shared screen to restyle it. Use its public seams.
30
+
31
+ ## Theme and visual hierarchy
32
+
33
+ - Define palettes and theme selection once through the established Vuetify
34
+ bootstrap. Preserve promised light, dark, or system behavior.
35
+ - Prefer semantic roles such as primary, secondary, surface, surface variant,
36
+ on-surface, outline, success, warning, and error. Use Vuetify theme props,
37
+ classes, and `--v-theme-*` variables instead of repeated visual literals.
38
+ - Keep contrast and meaning in every supported theme. Never communicate
39
+ status, selection, validation, or permission through color alone.
40
+ - Use Vuetify 4 Material 3 display, headline, title, body, and label roles. Do
41
+ not recreate the old Material 2 type scale or a page-local typography system.
42
+ - Use Vuetify spacing utilities and established JSKIT dimensions before raw
43
+ values. Preserve JSKIT shell widths, target sizes, and spacing props.
44
+ - Use elevation `0` through `5`, shape props, and component variants instead of
45
+ arbitrary shadows and radii. Prefer a page header and direct `v-sheet` work
46
+ region; add cards or dialogs only for genuinely grouped or elevated objects.
47
+
48
+ ## Components, state, and feedback
49
+
50
+ - Choose components by purpose. Prefer standard buttons, fields, lists,
51
+ tables, sheets, dialogs, menus, navigation, progress, alerts, snackbars, and
52
+ tooltips over custom imitations.
53
+ - Give one primary action emphasis. Distinguish destructive, secondary, and
54
+ icon-only actions without relying on color; give icon controls accessible
55
+ names and fields meaningful labels, errors, and autocomplete behavior.
56
+ - Preserve visible focus, logical tab order, keyboard operation, and at least
57
+ 48 CSS-pixel interactive targets unless a tested dense operator surface owns
58
+ another contract.
59
+ - Represent loading, empty, error, retry, disabled, selected, hover, focus,
60
+ pressed, and success states through shared JSKIT behavior. All user-visible
61
+ loading uses Material skeletons that reserve the final content geometry;
62
+ never use a generic spinner or circular progress indicator, and never let
63
+ content jump when data arrives. An action without a loading content region
64
+ uses a stable disabled/pending label and shared feedback, not a spinner.
65
+ - Keep failures at their semantic owner. A resource that cannot render uses a
66
+ stable in-page error and retry state; field validation stays beside the
67
+ field. A user-triggered command uses JSKIT's shared action
68
+ feedback/snackbar path. Never insert a transient command-error alert above
69
+ page content where it shifts the working layout.
70
+ - Use established transitions and honor reduced motion. Do not claim
71
+ unsupported Material 3 Expressive parity.
72
+
73
+ ## Adaptive layout
74
+
75
+ Start compact, then verify medium and expanded layouts. Use Vuetify display
76
+ APIs and the JSKIT adaptive shell rather than copying breakpoint numbers.
77
+ Keep primary tasks reachable without incidental chrome. Let navigation,
78
+ tables, filters, supporting content, and action groups change presentation;
79
+ do not merely shrink an expanded screen. Prevent overflow, clipped labels,
80
+ overlapping actions, duplicate navigation, and unreachable dialogs. Persist
81
+ screen context in the route when it must survive navigation.
82
+
83
+ ## Material 3 audit
84
+
85
+ Run this behavior-preserving audit over every affected screen:
86
+
87
+ 1. Identify the owning JSKIT surface, shared screen, shell, placement, theme,
88
+ and Vuetify components before judging local markup.
89
+ 2. Find parallel components, duplicated state chrome, page-local themes,
90
+ transient command errors that shift page content, content loaders using
91
+ generic spinners instead of geometry-preserving skeletons, raw visual
92
+ constants, CSS against Vuetify internals, nested generic cards, legacy
93
+ typography, elevation outside `0`-`5`, and desktop-only layout.
94
+ 3. Check hierarchy, token use, component purpose, responsive presentation,
95
+ interaction states, keyboard/focus behavior, labels, targets, contrast, and
96
+ reduced motion.
97
+ 4. Correct issues at the narrowest established owner. Consolidate only truly
98
+ repeated policy; avoid pass-through wrappers and speculative abstractions.
99
+ 5. Run focused tests and Playwright at compact, medium, and expanded widths.
100
+ Navigate away and back with warm query data when the screen persists state.
101
+
102
+ Do not declare Material 3 compliance from visual resemblance alone. Report any
103
+ unverified responsive, theme, accessibility, interaction, or browser behavior.
104
+ For a missing or version-sensitive API, verify the installed Vuetify major and
105
+ official docs; implement Material intent through supported JSKIT/Vuetify seams.