sheleg-design-skill 1.14.0 → 1.15.0
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/CHANGELOG.md +50 -0
- package/package.json +1 -1
- package/plugins/sheleg-design/.claude-plugin/plugin.json +1 -1
- package/plugins/sheleg-design/skills/sheleg-design/DESIGN_SYNC_BRIDGE.md +34 -7
- package/plugins/sheleg-design/skills/sheleg-design/SKILL.md +22 -6
- package/plugins/sheleg-design/skills/sheleg-design/styles/workbench.md +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,56 @@ All notable changes to this project are documented in this file. The format
|
|
|
4
4
|
follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions
|
|
5
5
|
follow [SemVer](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [1.15.0] - 2026-08-12
|
|
8
|
+
|
|
9
|
+
Two of the eight unrun scenarios were run. Both passed, and between them they
|
|
10
|
+
found four things three green gates could not.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **A core pack's missing half has an authored answer, and the bundle now says
|
|
15
|
+
where.** `npx sheleg-design-skill --kit <pack>` materializes `src/styles.css`,
|
|
16
|
+
whose component half is real CSS for `:hover`, `:focus-visible`, `:disabled` and
|
|
17
|
+
selected — the exact per-component states a **core** pack declines to specify.
|
|
18
|
+
`SKILL.md` said kits are not installed and stopped there, so an agent reading the
|
|
19
|
+
bundle invented those states from scratch while an authored version sat one
|
|
20
|
+
command away. Neither file pointed at the other.
|
|
21
|
+
- **A precedence rule for the dial table.** "A quiet internal admin dashboard"
|
|
22
|
+
fires both *quiet like Linear* (DENSITY 2–3) and *product UI* (6–8) — a factor of
|
|
23
|
+
three, with nothing to break the tie. **The row that names the surface wins over
|
|
24
|
+
the row that names a mood**, and you say which fired.
|
|
25
|
+
- **Two cases the reference-sweep pairing assumed away**, both common: only the
|
|
26
|
+
image server present (you are reading structure off screenshots — a weaker read,
|
|
27
|
+
say so) and a sweep that returns nothing (a null result is a result; "I swept"
|
|
28
|
+
with no findings and no statement of emptiness cannot be told apart from not
|
|
29
|
+
sweeping).
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- **`workbench`'s accent gotcha named two surfaces of three.** It forbids accent
|
|
34
|
+
text on `--panel-2` and `--accent-weak` at 4.30:1 — but in light mode `--bg` **is**
|
|
35
|
+
`--panel-2` (`#F7F8FA`), so a plain accent link on the app ground fails identically
|
|
36
|
+
and read as covered for four releases. The most ordinary element in an admin panel.
|
|
37
|
+
|
|
38
|
+
## [1.14.1] - 2026-08-12
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- **1.14.0 said Refero was "alone among the three" in returning flows. Mobbin
|
|
43
|
+
returns them too.** `mcp__mobbin__search_flows` has always existed; it was
|
|
44
|
+
invisible because Mobbin was registered and unauthenticated, so the sentence
|
|
45
|
+
shipped as a claim nobody in that session could check — in a file whose own
|
|
46
|
+
rule, two paragraphs away, is **gate on the tools present in the session, not
|
|
47
|
+
on the config**. The rule was right and was not applied to its own author.
|
|
48
|
+
Corrected the hour Mobbin was signed in, against its live tool surface.
|
|
49
|
+
- **The distinction that replaces it is the useful one: they answer in different
|
|
50
|
+
media.** Mobbin returns each step as an evenly-spaced *preview image* — its own
|
|
51
|
+
tool description says to look at those rather than trust the metadata — and
|
|
52
|
+
also searches web **sections** (hero, pricing, footer). Refero returns each step
|
|
53
|
+
as *structure*: a goal, an action, a system response. Drawing a diagram with
|
|
54
|
+
decision points and recovery paths reads Refero; judging whether a step works on
|
|
55
|
+
a phone looks at Mobbin.
|
|
56
|
+
|
|
7
57
|
## [1.14.0] - 2026-08-12
|
|
8
58
|
|
|
9
59
|
### Added
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sheleg-design-skill",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "Design taste as an installable agent skill. Cinematic scroll-driven landing pages built on one scroll clock and layered degrade-to-calm motion, a motion doctrine that decides whether to animate before it decides how, three calibration dials, and thirteen locked style packs with ready-made design tokens — instrument-console, editorial-luxury, workbench, briefing-room, atrium, orchard, field-notes, cyclorama, showroom, blueprint, prism, maquette and scoreboard. Colour, slop and fork-reciprocity gates run as scripts, not opinions. Works with Cursor, Claude Code and any agent that reads a SKILL.md.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"sheleg-design-skill": "bin/cli.js"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "sheleg-design",
|
|
3
3
|
"displayName": "SHELEG Design",
|
|
4
4
|
"description": "SHELEG Design methodology: cinematic scroll-driven landing pages (single scroll clock, layered degrade-to-calm motion, WebGL particle formations), a motion doctrine that decides whether to animate before it decides how, and thirteen pluggable visual style packs — instrument-console (dark console), editorial-luxury (warm editorial), workbench (light/dark product UI for dashboards and tools), briefing-room (dark 16:9 deck), atrium (warm consumer health), orchard (friendly consumer biotech), field-notes (warm paper for dev tools sold on auditability), cyclorama (a pastel field on a 32s cycle), showroom (the product as the exhibit), blueprint (a drawing sheet, zero radius), prism (one iridescent wash over mono body), maquette (cream axonometric models on a dark table), scoreboard (warm paper, pixel numerals, a dark ledger of results). Ships the sheleg-design skill, the architecture reference, the motion doctrine, the Figma and Claude Design bridges, AI-surface patterns, style packs with ready-made token CSS, and the /sheleg-design command.",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.15.0",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "ssheleg",
|
|
8
8
|
"url": "https://x.com/sshlg93"
|
|
@@ -88,13 +88,40 @@ A reference sweep answers *what a good version of this screen contains* — sect
|
|
|
88
88
|
hierarchy, content order. It never answers what it looks like.
|
|
89
89
|
|
|
90
90
|
Three servers can fill the slot and they are not interchangeable. **Lazyweb** is
|
|
91
|
-
web-product screens and growth mechanics
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
web-product screens and growth mechanics. **Mobbin** searches screens, **flows** and
|
|
92
|
+
web **sections** (hero, pricing, footer), strongest on native iOS and also carrying
|
|
93
|
+
web; its flows come back as evenly-spaced *preview images* per step, and its own tool
|
|
94
|
+
description says to look at them rather than trust the metadata. **Refero** searches
|
|
95
|
+
screens, returns visually and functionally *similar* screens for one you already
|
|
96
|
+
have, and returns flows as *structure* — a goal, an action and a system response per
|
|
97
|
+
step.
|
|
98
|
+
|
|
99
|
+
**That is the split worth knowing: two of the three answer "flow", and they answer it
|
|
100
|
+
in different media.** Mobbin shows you what each step looked like; Refero tells you
|
|
101
|
+
what each step did. Drawing a diagram with decision points and recovery paths reads
|
|
102
|
+
Refero; judging whether a step actually works on a phone looks at Mobbin. Sweep
|
|
103
|
+
whichever are present; with more than one, sweep them all and say which answered
|
|
104
|
+
what.
|
|
105
|
+
|
|
106
|
+
Two cases the pairing above quietly assumes away, and both are the common one:
|
|
107
|
+
|
|
108
|
+
- **Only the image server is present.** Then you are deriving structure from
|
|
109
|
+
pictures — reading step order and decision points off screenshots — which is a
|
|
110
|
+
weaker read than structured steps, not an equivalent one. Do it, and say that is
|
|
111
|
+
what you did. The failure is inferring a system response from a screenshot and
|
|
112
|
+
reporting it as if it had been stated.
|
|
113
|
+
- **A sweep returns nothing.** A null result is a result: say the query and that it
|
|
114
|
+
came back empty. "I swept" with no findings and no statement of emptiness is
|
|
115
|
+
indistinguishable from not sweeping, and the next reader cannot tell which
|
|
116
|
+
happened.
|
|
117
|
+
|
|
118
|
+
> **[CORRECTION — 1.14.1]** 1.14.0 shipped this paragraph saying Refero was "alone
|
|
119
|
+
> among the three" in returning flows. It is not: `mcp__mobbin__search_flows` has
|
|
120
|
+
> always existed. The claim was written while Mobbin was registered but
|
|
121
|
+
> unauthenticated, so its tool surface was invisible and the sentence could not be
|
|
122
|
+
> checked — which is the whole reason this file says to **gate on the tools present in
|
|
123
|
+
> the session**. The rule was right and the paragraph next to it was written as if it
|
|
124
|
+
> did not apply to the author.
|
|
98
125
|
|
|
99
126
|
- **A swept reference does not become a component.** It informs how you compose the
|
|
100
127
|
pack's components on a screen; it never justifies a new atom, a second accent, or a
|
|
@@ -3,7 +3,7 @@ name: sheleg-design
|
|
|
3
3
|
description: Use when building or upgrading a cinematic scroll-driven landing page, marketing site or hero (particle/WebGL background, scroll-linked animation, parallax, scrubbed sections) — when such a page feels busy or janky or its motion layers drift out of sync — or when styling product UI with its style packs - dashboards, admin panels, internal/dev tools, mobile app screens, design tokens, light/dark themes - or when carrying a visual system across the Figma border (publishing tokens as variables, implementing a design without importing raw values). Triggers - "cinematic landing" / "кинематографичный лендинг", "scroll animation" / "скролл-анимация", "dashboard style" / "стиль дашборда", "design tokens" / "дизайн-токены", "light/dark theme" / "светлая/тёмная тема", "figma variables / figma to code" / "переменные фигмы, фигма в код", "chat/agent UI" / "интерфейс чата или агента", "streaming output" / "стриминг ответа", "mobile screen" / "мобильный экран".
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
|
-
version: 1.
|
|
6
|
+
version: 1.15.0
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# SHELEG Design
|
|
@@ -86,6 +86,14 @@ style pack in [`styles/`](./styles/):
|
|
|
86
86
|
| [`cyclorama`](./styles/cyclorama.md) | a pale field cycling through six pastel stops on a 32s loop under fixed near-black ink, monospaced typewriter serif over mono, one orange used only as a fill, a particle organ that redeploys per section | enterprise AI transformation, applied-AI services and technical consultancies — a product whose argument is a change of state, not a screenshot |
|
|
87
87
|
| [`scoreboard`](./styles/scoreboard.md) | warm paper and warm near-black ink, 2–3px radii, an ink primary button, one hot orange that only ever marks, and a dark ledger of dotted-leader rows whose numbers are set in an aliased pixel face | products whose argument is an accumulating number — ads and SEO operators, growth tools, revenue dashboards sold on results |
|
|
88
88
|
|
|
89
|
+
**A materialized kit answers part of what a core pack leaves out.** `npx
|
|
90
|
+
sheleg-design-skill --kit <pack>` produces `src/styles.css`, whose component half is
|
|
91
|
+
authored CSS for the per-component states — `:hover`, `:focus-visible`, `:disabled`,
|
|
92
|
+
selected — that a core pack declines to specify. It is not installed with this skill,
|
|
93
|
+
so an agent reading only this bundle cannot see it and will invent those states from
|
|
94
|
+
scratch. Fetch the kit before inventing them, and treat what differs between the kit
|
|
95
|
+
and the pack as a defect in one of the two rather than a choice.
|
|
96
|
+
|
|
89
97
|
**Six of the thirteen are on the core contract, and it changes what you get.**
|
|
90
98
|
A pack marked **core contract** does not specify `## Components`, `## Hero`,
|
|
91
99
|
`## Responsive` or `## Signature element` — so per-component states, the
|
|
@@ -138,6 +146,13 @@ what you announced.
|
|
|
138
146
|
| redesign, preserve the existing identity | match | match +1 | match |
|
|
139
147
|
| redesign, explicit overhaul | +2 | +2 | match |
|
|
140
148
|
|
|
149
|
+
**A brief can match two rows, and they can disagree by a factor of three.** "A quiet
|
|
150
|
+
internal admin dashboard" fires both *"quiet like Linear"* (DENSITY 2–3) and *"product
|
|
151
|
+
UI"* (DENSITY 6–8). The precedence rule: **the row that names the surface wins over the
|
|
152
|
+
row that names a mood.** A surface decides how much has to fit; a mood decides how it is
|
|
153
|
+
handled — in a product-UI pack, "quiet" is bought with restraint in colour and motion,
|
|
154
|
+
not with emptiness. Say which row you took and why when two fire.
|
|
155
|
+
|
|
141
156
|
### How they bind
|
|
142
157
|
|
|
143
158
|
- **The pack wins on values, the dials win on amount.** A dial never invents a
|
|
@@ -270,11 +285,12 @@ its own.
|
|
|
270
285
|
|
|
271
286
|
A pack fixes *how it looks*; it does not say what a good version of the screen
|
|
272
287
|
contains. **Lazyweb** (`mcp__lazyweb__*`), **Mobbin** (`mcp__mobbin__*`) and
|
|
273
|
-
**Refero** (`mcp__refero__*`) all answer that from shipped products
|
|
274
|
-
strongest on native iOS and
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
288
|
+
**Refero** (`mcp__refero__*`) all answer that from shipped products. Mobbin is
|
|
289
|
+
strongest on native iOS and also carries web sections; **Mobbin and Refero both
|
|
290
|
+
return multi-step flows, in different media** — Mobbin as preview images per
|
|
291
|
+
step, Refero as goal/action/system-response text. **Use whichever are present, on
|
|
292
|
+
web and mobile alike; with more than one, sweep them all.** Then map what you
|
|
293
|
+
find onto the pack's tokens.
|
|
278
294
|
|
|
279
295
|
**Gate on the tools, not on the config** — a registered server nobody signed
|
|
280
296
|
into exposes nothing, and Mobbin also needs a paid plan. Absent, proceed and say
|
|
@@ -165,7 +165,12 @@ hue.
|
|
|
165
165
|
colour this pack does not own. **The resolutions, which are rules rather than
|
|
166
166
|
new tokens:** the status word inside a chip renders in `--ink` (14–15:1 on all
|
|
167
167
|
three tints) with the status colour carried by the dot or the fill; and
|
|
168
|
-
accent-coloured text never sits on `--panel-2
|
|
168
|
+
accent-coloured text never sits on `--panel-2`, on `--accent-weak`, **or on
|
|
169
|
+
`--bg`** — in light mode `--bg` and `--panel-2` are the same `#F7F8FA`, so the app
|
|
170
|
+
ground carries that same 4.30 and a plain accent link sitting directly on the
|
|
171
|
+
dashboard background fails identically. This clause named only two of the three for
|
|
172
|
+
four releases, which made the most ordinary element in an admin panel look covered.
|
|
173
|
+
Inside a
|
|
169
174
|
selected row or a sticky header, text is `--ink` or `--muted`.
|
|
170
175
|
- **`--bg` and `--panel-2` are the same colour in light mode** (`#f7f8fa`) and
|
|
171
176
|
different in dark. So the mandated row hover — a `--panel-2` fill — is
|