@jskit-ai/agent-docs 0.1.129 → 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
package/skills/jskit/SKILL.md
CHANGED
|
@@ -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
|
|
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.
|
|
68
|
-
|
|
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,
|
|
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.
|