@kenkaiiii/ggcoder 5.20.3 → 5.20.4
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/assets/skills/evidence-led-ui/SKILL.md +2 -1
- package/assets/skills/evidence-led-ui/references/anti-defaults.md +9 -1
- package/assets/skills/evidence-led-ui/references/craft-rulings.md +9 -0
- package/assets/skills/evidence-led-ui/references/production-contract.md +1 -0
- package/assets/skills/evidence-led-ui/references/quality-rubric.md +1 -1
- package/package.json +4 -4
|
@@ -25,6 +25,7 @@ Apply these on every UI task. Read `references/craft-rulings.md` when implementi
|
|
|
25
25
|
- **No edge-hugging control icons:** Select, dropdown, and combobox chevrons and other trailing icons need a deliberate inline-end inset plus enough reserved text padding for the icon and gap. They must never touch the control edge or overlap content; use logical properties so the anatomy also works in RTL.
|
|
26
26
|
- **Reuse first:** Search for existing components, variants, tokens, utilities, icon wrappers, focus rings, and motion curves before creating new ones.
|
|
27
27
|
- **Purposeful feedback:** Relevant hover, focus, press, selected, expanded, loading, success, and error states need clear feedback. Avoid abrupt changes when a short transition improves continuity.
|
|
28
|
+
- **No soft semantic tint-on-tint:** Do not default badges, buttons, toasts, cards, selected states, or icon medallions to a low-opacity semantic-color background with saturated same-hue text or icons, with or without a matching border. Unless the user explicitly requests that treatment or an established system must be preserved, choose a product-specific alternative rather than imposing one universal replacement style.
|
|
28
29
|
- **No sticky pointer focus:** Clicking or tapping must not leave a focus ring, highlighted border, shadow, background, or container `:focus-within` treatment stuck after the interaction ends, a native popup closes, or the user clicks elsewhere. Preserve immediate, visible keyboard focus by distinguishing input modality instead of suppressing focus globally.
|
|
29
30
|
- **No generic hover lift:** Do not default to `translateY`, bobbing, floating, or scale-up on hover. Prefer color, border, underline, icon fill, opacity, or restrained shadow changes.
|
|
30
31
|
- **No `transition: all`:** Name transition properties, reuse duration/easing tokens, and provide a reduced-motion path.
|
|
@@ -93,7 +94,7 @@ One thesis leads. Do not combine several aesthetic directions into a mood-board
|
|
|
93
94
|
|
|
94
95
|
### 5. Run the anti-default check
|
|
95
96
|
|
|
96
|
-
For broad visual work, read `references/anti-defaults.md`. Flag emoji UI, mixed icon families, arbitrary misalignment, duplicated local styling, abrupt interaction, generic hover lift, generic type, generated em dashes, centered gradient heroes, glass cards, equal card grids, decorative eyebrows, random metric blocks, ubiquitous pills, dark-premium assumptions, fake terminals, floating screenshots, bento layouts, ambient motion, icon medallions, and invented proof.
|
|
97
|
+
For broad visual work, read `references/anti-defaults.md`. Flag emoji UI, mixed icon families, arbitrary misalignment, duplicated local styling, abrupt interaction, generic hover lift, soft semantic tint-on-tint treatments, generic type, generated em dashes, centered gradient heroes, glass cards, equal card grids, decorative eyebrows, random metric blocks, ubiquitous pills, dark-premium assumptions, fake terminals, floating screenshots, bento layouts, ambient motion, icon medallions, and invented proof.
|
|
97
98
|
|
|
98
99
|
Keep a flagged pattern only after completing: **“This belongs because…”** with a product-specific reason. Replace choices that could survive unchanged in an unrelated product.
|
|
99
100
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Contents
|
|
4
4
|
|
|
5
5
|
- Purpose and review method
|
|
6
|
-
- Template composition: centered gradient hero, glass cards, equal card grids, eyebrows, metric blocks, pills, dark-premium assumptions, huge type, fake terminals, floating screenshots, and bento layouts
|
|
6
|
+
- Template composition: centered gradient hero, glass cards, equal card grids, eyebrows, metric blocks, pills, soft semantic tint-on-tint treatments, dark-premium assumptions, huge type, fake terminals, floating screenshots, and bento layouts
|
|
7
7
|
- Decoration and truth: ambient motion, icon medallions, false authenticity, emoji, and mixed icon language
|
|
8
8
|
- Craft regressions: generic hover lift, abrupt states, accidental misalignment, reimplemented local styling, generic type, and generated em dashes
|
|
9
9
|
- Final anti-default review
|
|
@@ -62,6 +62,14 @@ For every flagged pattern, write one sentence: **“This belongs because…”**
|
|
|
62
62
|
|
|
63
63
|
**Legitimate when:** The project already uses an orbital/capsule motif, a control’s variable label length needs it, or tactile consumer friendliness is a deliberate material rule.
|
|
64
64
|
|
|
65
|
+
## Soft semantic tint-on-tint
|
|
66
|
+
|
|
67
|
+
**AI tell:** Badges, buttons, toasts, cards, selected states, status rows, and icon medallions repeatedly use low-opacity semantic-color backgrounds with saturated same-hue text or icons, sometimes with a matching border. Component libraries often name this formula `soft`, `subtle`, `surface`, or `tonal`.
|
|
68
|
+
|
|
69
|
+
**Default action:** Replace the formula, then derive the new treatment from the product's actual aesthetic and component role. A neutral surface with one semantic marker, a solid fill with neutral high-contrast text, monochrome styling, product accent, typography, or another coherent local material model can work; none is the universal replacement.
|
|
70
|
+
|
|
71
|
+
**Legitimate when:** The user explicitly requests tint-on-tint or exact reuse of an established design-system variant is required by scope. Unlike most patterns in this file, this is a binding craft default rather than a pattern justified by generic claims such as `clean`, `friendly`, or `modern`.
|
|
72
|
+
|
|
65
73
|
## Dark equals premium
|
|
66
74
|
|
|
67
75
|
**AI tell:** Near-black canvas, purple glow, thin gray borders, and muted text chosen without product evidence.
|
|
@@ -154,6 +154,14 @@ Never use faint light-gray text on white, faint dark-gray text on black, or low-
|
|
|
154
154
|
- Aim above the minimum for small, thin, long-form, or mission-critical text. Verify computed colors rather than judging from a screenshot alone.
|
|
155
155
|
- Do not use color as the only status cue. Pair color with text, shape, icon, or pattern.
|
|
156
156
|
|
|
157
|
+
### No soft semantic tint-on-tint
|
|
158
|
+
|
|
159
|
+
Do not default badges, buttons, toasts, alerts, cards, selected states, status rows, or icon medallions to the familiar `soft`, `subtle`, `surface`, or `tonal` formula: a low-opacity red, green, amber, blue, or purple background paired with saturated same-hue text or icons, often finished with a same-hue border. The border is optional; the same-hue tinted surface plus same-hue foreground is the rejected pattern.
|
|
160
|
+
|
|
161
|
+
Choose the replacement from the product's existing aesthetic and the component's role. Viable directions include a neutral surface with an isolated semantic icon, dot, or edge; a solid semantic fill with neutral high-contrast text; monochrome treatment; a product accent; plain typography; or another coherent local material model. These are options, not a new house style. Preserve hierarchy, measured contrast, and a non-color cue for status.
|
|
162
|
+
|
|
163
|
+
Retain tint-on-tint only when the user explicitly asks for it or exact reuse of an established design-system variant is required by scope. Existing examples are evidence to inspect, not permission to spread the treatment into new component families.
|
|
164
|
+
|
|
157
165
|
## 7. Consistency and flow
|
|
158
166
|
|
|
159
167
|
A polished interface feels like one system from section to section, component to component, and page to page.
|
|
@@ -187,5 +195,6 @@ Before calling UI work complete, verify:
|
|
|
187
195
|
- reduced motion preserves state meaning;
|
|
188
196
|
- typography is intentional, loaded efficiently, and stable during fallback;
|
|
189
197
|
- all text and meaningful non-text contrast is measured;
|
|
198
|
+
- no soft semantic tint-on-tint treatment was introduced without an explicit user request or required existing-system match;
|
|
190
199
|
- repeated navigation/actions remain consistent across sections and pages;
|
|
191
200
|
- generated UI copy contains no em dashes unless explicitly allowed.
|
|
@@ -78,6 +78,7 @@ For web surfaces, use current Core Web Vitals as the shared target at the 75th p
|
|
|
78
78
|
## 7. Tokens and component contracts
|
|
79
79
|
|
|
80
80
|
- Reuse the host system first. For a net-new scalable system, separate primitive values from semantic roles and component tokens; define modes without duplicating meaning.
|
|
81
|
+
- Do not introduce soft semantic tint-on-tint as the default status variant: low-opacity semantic backgrounds paired with saturated same-hue text or icons, with or without matching borders. Derive a replacement from the host aesthetic and preserve non-color status cues; retain the treatment only when explicitly requested or exact established-system reuse is required.
|
|
81
82
|
- The Design Tokens Community Group 2025.10 format is a stable interoperability option, not a W3C Standard and not a mandatory migration target. Use it only when tools need a portable source of truth.
|
|
82
83
|
- Each shared component documents anatomy, semantic element, variants, sizes, content limits, states, keyboard behavior, responsive behavior, and accessibility name/description rules.
|
|
83
84
|
- Keep one source of truth. Generated platform outputs must not become competing hand-edited token stores.
|
|
@@ -48,7 +48,7 @@ Maximum: **24 points**. Ship broad UI work only at **20/24 or higher**, with no
|
|
|
48
48
|
- **1:** Most patterns repeat, but spacing cadence, icon treatment, controls, actions, or section transitions contain visible inconsistencies.
|
|
49
49
|
- **2:** Existing primitives are reused; one icon family, spacing rhythm, component anatomy, navigation order, action placement, and surface logic carry through the full flow.
|
|
50
50
|
|
|
51
|
-
**Test:** Compare adjacent sections and pages side by side. Trace one repeated action through every occurrence, then inspect container edges, control heights, icon weight, spacing, borders, labels, and state behavior. For selects, dropdowns, and comboboxes, verify the trailing icon has intentional edge inset and reserved text clearance at every size, in RTL, and with the longest plausible value.
|
|
51
|
+
**Test:** Compare adjacent sections and pages side by side. Trace one repeated action through every occurrence, then inspect container edges, control heights, icon weight, spacing, borders, labels, and state behavior. For selects, dropdowns, and comboboxes, verify the trailing icon has intentional edge inset and reserved text clearance at every size, in RTL, and with the longest plausible value. Flag any low-opacity semantic background paired with saturated same-hue text or icons; it fails unless the user requested it or exact established-system reuse is required.
|
|
52
52
|
|
|
53
53
|
## 5. Typography
|
|
54
54
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenkaiiii/ggcoder",
|
|
3
|
-
"version": "5.20.
|
|
3
|
+
"version": "5.20.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI coding agent with OAuth authentication for Anthropic, OpenAI, and Gemini",
|
|
6
6
|
"license": "MIT",
|
|
@@ -114,9 +114,9 @@
|
|
|
114
114
|
"typescript-language-server": "^5.3.0",
|
|
115
115
|
"wrap-ansi": "^10.0.0",
|
|
116
116
|
"zod": "^4.4.3",
|
|
117
|
-
"@kenkaiiii/gg-agent": "5.20.
|
|
118
|
-
"@kenkaiiii/gg-ai": "5.20.
|
|
119
|
-
"@kenkaiiii/gg-core": "5.20.
|
|
117
|
+
"@kenkaiiii/gg-agent": "5.20.4",
|
|
118
|
+
"@kenkaiiii/gg-ai": "5.20.4",
|
|
119
|
+
"@kenkaiiii/gg-core": "5.20.4"
|
|
120
120
|
},
|
|
121
121
|
"optionalDependencies": {
|
|
122
122
|
"@huggingface/transformers": "^3.6.0",
|