sheleg-design-skill 1.59.1 → 1.59.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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,106 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
> **v1.59.3 is a burned tag.** It was pushed against `origin/main` before the release
|
|
4
|
+
> PR had actually merged, so it names the v1.59.2 tree; the version-sync gate refuses
|
|
5
|
+
> it and the remote forbids tag deletion. Nothing shipped under it — this version is
|
|
6
|
+
> the same change, tagged on the verified merge commit.
|
|
7
|
+
|
|
8
|
+
## [1.59.4] - 2026-09-06
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **The front matter declared the optional siblings and said nothing about the
|
|
13
|
+
hard requirement.** `compatibility:` named `dataviz`, `shadcn` and
|
|
14
|
+
`migrate-radix-to-base` — three skills the body can work without — while the
|
|
15
|
+
body REQUIRES node with npx and network twice (`npx sheleg-design-skill --kit
|
|
16
|
+
<pack>`, `npx sshlg-skills pack design --lane`) and named no path for a
|
|
17
|
+
machine where npx is unreachable. Found by the family audit (2026-09-06, wave
|
|
18
|
+
AUDIT-WAVE-0906). Both halves fixed: the front matter now opens with
|
|
19
|
+
*"Kit/lane commands need node>=16, npx, network"*, and the kit-authoritative
|
|
20
|
+
paragraph states the degraded path in the same voice v1.59.1 gave the
|
|
21
|
+
director's Act 2 — nothing is blocked, the pack and its token layer in
|
|
22
|
+
`styles/tokens/<pack>.css` still carry the rules by reading, and the component
|
|
23
|
+
states only a kit materializes are then **unverified**, said out loud rather
|
|
24
|
+
than presented as kit-checked.
|
|
25
|
+
|
|
26
|
+
**The honest first draft was refused by this repository's own gate, and the
|
|
27
|
+
refusal is the interesting part.** The full declaration measured 342 chars —
|
|
28
|
+
comfortably inside the Agent Skills spec's 500-char `compatibility` cap — and
|
|
29
|
+
`check_description_canon` refused it at **432 of a 256 overhead budget**,
|
|
30
|
+
because every non-description key is read every session and the budget exists
|
|
31
|
+
so front matter never becomes a place to write prose. Two limits, and the
|
|
32
|
+
binding one was the house budget, not the spec cap — the same lesson v1.59.2
|
|
33
|
+
paid for on the description. So the front matter carries the compressed form
|
|
34
|
+
(**253 of 256**) and the body carries the detail, which is where a reader who
|
|
35
|
+
hit the failure would look anyway.
|
|
36
|
+
|
|
37
|
+
- **An empty recursive directory chain sat in checkouts, and the mirror
|
|
38
|
+
validator could not see the class it belongs to.**
|
|
39
|
+
`.cursor/skills/sheleg-design/styles/tokens/.cursor/skills/sheleg-design/` —
|
|
40
|
+
zero files, invisible to `git status` (git tracks no directory), to the npm
|
|
41
|
+
tarball (npm packs files), and to both directions of the mirror-drift check,
|
|
42
|
+
which walk `rglob("*")` filtered by `is_file()`. Measured on this machine
|
|
43
|
+
2026-09-06: the umbrella's submodule checkout at `skills/sheleg-design`
|
|
44
|
+
carried the chain at commit `0902ef6`; this repository's own checkout was
|
|
45
|
+
clean. The artefact is removed, and the CLASS is closed: the mirror block now
|
|
46
|
+
reads **directories** over both trees — a nested `.cursor` anywhere inside
|
|
47
|
+
either bundle is refused as a copy artefact whatever it contains, and an
|
|
48
|
+
empty directory is refused wholesale. Watched failing against a real planted
|
|
49
|
+
chain before being believed — both checks answered with their own messages,
|
|
50
|
+
not a neighbour's — and planted permanently in the self-test as two
|
|
51
|
+
**directory fixtures**, a shape `PLANTS` cannot express because its mutations
|
|
52
|
+
are text edits to a file, and each fixture asserts the plant landed before
|
|
53
|
+
trusting any red. Floor raised 5621 → 5641, measured by running the gate on
|
|
54
|
+
this tree.
|
|
55
|
+
|
|
56
|
+
## [1.59.2] - 2026-09-03
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
|
|
60
|
+
- **The skill did not advertise the two words its own router text names.** The umbrella's
|
|
61
|
+
routing block says *"before design, **redesign**, **layout**, front-end or mobile-UI
|
|
62
|
+
work"*, and the trigger layer only ever fires on words a skill claims in its own
|
|
63
|
+
description. Measured 2026-09-03 against the real matcher: `редизайн сайта` → nothing,
|
|
64
|
+
`переделай дизайн` → nothing, `свёрстай дашборд` → nothing. The router text was inert
|
|
65
|
+
for exactly the vocabulary it was written for.
|
|
66
|
+
|
|
67
|
+
Four triggers added — `"redesign" / "редизайн, свёрстай, вёрстка"` — and paid for by
|
|
68
|
+
trimming prose no trigger depends on, verified against `lib/triggers.js` before cutting:
|
|
69
|
+
`layers that drift`, `or scrubbed`, `particle/`. Description **965 → 969, against a
|
|
70
|
+
working limit of 970.**
|
|
71
|
+
|
|
72
|
+
- **`B-84` was right and this entry's first draft said it was stale — the correction is
|
|
73
|
+
recorded rather than quietly rewritten.** That row cites a *970 working limit* and calls
|
|
74
|
+
this fix blocked. Reading this repository's own `test/validate.py` finds only the Agent
|
|
75
|
+
Skills cap of 1024, so the draft concluded no 970 existed and shipped a description at
|
|
76
|
+
1014. **CI refused it**: the limit is a family HOUSE RULE, enforced by `make-skill`'s
|
|
77
|
+
`audit_skill.py --house` (`DESC_HEADROOM`), which runs in this repository's own
|
|
78
|
+
workflow — *"inside the 1024 cap but past the 970 working limit: leave room for the
|
|
79
|
+
'what this is NOT for' clause a near-miss neighbour will require."*
|
|
80
|
+
|
|
81
|
+
**Two limits, two enforcers, and only one of them lives here.** A number absent from the
|
|
82
|
+
validator you happen to open is not a number that does not exist.
|
|
83
|
+
|
|
84
|
+
Headroom after this change is **ten characters**, at 960 of 970, bought by trimming
|
|
85
|
+
prose rather than by raising a limit. B-84's underlying claim — that the descriptions
|
|
86
|
+
which miss most cannot accept another trigger for free — holds.
|
|
87
|
+
|
|
88
|
+
- **The first trim removed three phrases a second consumer depended on.** `particle`,
|
|
89
|
+
`scrubbed` and `drift` are not hook triggers, so a check against `lib/triggers.js`
|
|
90
|
+
called them free; they are `T1_CARRIERS` here, the phrases this repository's own eval
|
|
91
|
+
tasks are matched on, and its gate refused the edit. Every span in the shipping trim
|
|
92
|
+
was tested against **both** lists before being cut — *"a description edit that reads
|
|
93
|
+
as additive can still remove the only phrase carrying a task"*, which is that guard's
|
|
94
|
+
own sentence.
|
|
95
|
+
|
|
96
|
+
- **The plant guarding that rule had gone quiet, and this release is why it was found.**
|
|
97
|
+
It hardcoded `"scroll-linked or scrubbed motion"`; the trim reworded exactly that
|
|
98
|
+
clause, the replace no-oped, and the self-test reported the guard as BROKEN while the
|
|
99
|
+
guard was fine. Standing instruction #6, on the anchor it warns about. The victim is
|
|
100
|
+
derived from `T1_CARRIERS` now and the assertion is made on the **parsed description,
|
|
101
|
+
read the way the guard reads it** — a plant that changed some other byte would still
|
|
102
|
+
be testing nothing.
|
|
103
|
+
|
|
3
104
|
## [1.59.1] - 2026-09-03
|
|
4
105
|
|
|
5
106
|
### Fixed
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sheleg-design-skill",
|
|
3
|
-
"version": "1.59.
|
|
3
|
+
"version": "1.59.4",
|
|
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 thirty-nine locked style packs with ready-made design tokens — instrument-console, editorial-luxury, workbench, briefing-room, atrium, orchard, outrank, babylove, patchbay, nameplate, field-notes, cyclorama, showroom, blueprint, prism, maquette, scoreboard, datasheet, manpage, pigeonhole, roster, ora, tenor, paperclip, ledger, router, daylight, notation, almanac, vitrine, proscenium, awning, bulletin, rimlight, onionskin, deskmate, test-drive, surveyor and chorus. 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"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "sheleg-design",
|
|
4
4
|
"displayName": "SHELEG Design",
|
|
5
5
|
"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 thirty-nine pluggable visual style packs, each with a ready-made token layer — instrument-console (near-black aerospace console; technical systems and infrastructure), editorial-luxury (cream and espresso; editorial, research, premium B2B), workbench (quiet light/dark UI; dashboards, admin, internal tools), briefing-room (dark 16:9 deck; investor and board presentations), atrium (cream daylight; consumer health and high-trust DTC), babylove (white with orange; SEO SaaS, long time-to-value, disconnected states), patchbay (black with mint-cyan; engines, buses, pipelines, OSS front doors), nameplate (cool slab with coral; press, certification and third-party trust), rimlight (white with blue light; studios, services and case studies), onionskin (white working sheet; developer and AI infrastructure), deskmate (warm beige with a dusk bleed; AI coworkers and chat-native agents), test-drive (warm paper with one coral; self-serve SaaS proven by the live product), surveyor (peach paper with teal and pink; visibility, monitoring and benchmark tools), chorus (warm paper under a crosshair grid, with a cut-corner bubble; AI-search visibility, brand monitoring and community marketing), outrank (white with violet; one brand across marketing and product), orchard (warm oat slabs; friendly biotech and wellness), field-notes (ruled green paper; auditable open-source developer tools), showroom (white gallery; product-led companies selling the app), blueprint (white technical stock; vector, storage and query infrastructure), prism (iridescent hard edge; command-first OSS infrastructure), maquette (near-black table; enterprise data infrastructure), cyclorama (looping pastel field; applied-AI consultancies), scoreboard (warm paper; growth, ads and accumulating metrics), datasheet (off-white specification; fraud, identity and device intelligence), manpage (cream manual; APIs, SDKs, CLIs and MCP servers), pigeonhole (filed white field; inbox, ticket and CRM triage), roster (faint square grid; platforms sold through who uses them), ora (warm coal; machine verdicts, audits and protocol traces), tenor (warm management paper; agent operations and autonomous back office), ledger (cream ruled console; analysts, BI and warehouse agents), paperclip (monochrome coal; orchestrators, schedulers and job runners), awning (white commerce forecourt; storefront, payroll and billing platforms), router (pale console with hairlines; dashboard, billing and inventory surfaces), daylight (bright portal with one shadow; client onboarding and service portals), notation (restrained technical hairlines; OSS, docs and developer workspaces), almanac (oatmeal editorial paper; manifestos and category-defining pages), vitrine (serif trust display; evaluated B2B, security and compliance), proscenium (white demo sequence; product tours and launch pages), bulletin (cheerful outlined bands; broad SMB and agency platforms). Ships the sheleg-design skill, the architecture reference, the motion doctrine, the Figma and Claude Design bridges, AI-surface patterns, the packs' token CSS, and the /sheleg-design command.",
|
|
6
|
-
"version": "1.59.
|
|
6
|
+
"version": "1.59.4",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "ssheleg",
|
|
9
9
|
"url": "https://x.com/sshlg93"
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sheleg-design
|
|
3
|
-
description: Use when deciding how something LOOKS or MOVES — cinematic landing pages and hero sections, particle/WebGL
|
|
3
|
+
description: Use when deciding how something LOOKS or MOVES — cinematic landing pages and hero sections, particle/WebGL, scrubbed motion, drift, dashboards, admin or internal tools, mobile screens, chat or agent interfaces, tokens, palettes, typography and the Figma border. Triggers - "design a landing" / "дизайн лендинга", "build a landing page" / "сделай лендинг", "scroll animation" / "скролл-анимация", "dashboard style" / "стиль дашборда", "design tokens, style pack" / "дизайн-токены", "light/dark theme" / "светлая/тёмная тема", "figma variables" / "переменные фигмы, фигма в код", "mobile screen" / "мобильный экран", "palette, colors" / "палитра, цвета", "typography, font" / "типографика, шрифт", "how it looks, make it prettier" / "выглядит, красиво, красивее", "visual reference" / "визуальные референсы", "investor deck as a web page" / "веб-презентация", "redesign" / "редизайн, свёрстай, вёрстка". Not for structure, copy, backend behavior, or .pptx decks.
|
|
4
4
|
license: MIT
|
|
5
|
-
compatibility: Optional siblings — dataviz, shadcn, migrate-radix-to-base
|
|
5
|
+
compatibility: Kit/lane commands need node>=16, npx, network. Optional siblings — dataviz, shadcn, migrate-radix-to-base. Each has an in-text fallback when absent or unreachable.
|
|
6
6
|
metadata:
|
|
7
|
-
version: 1.59.
|
|
7
|
+
version: 1.59.4
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# SHELEG Design
|
|
@@ -89,7 +89,11 @@ npx sheleg-design-skill --kit <pack>
|
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
The generated `src/styles.css` is authoritative for states a core pack leaves
|
|
92
|
-
open. A widened pack's kit and `## Components` section must agree.
|
|
92
|
+
open. A widened pack's kit and `## Components` section must agree. Where `npx`
|
|
93
|
+
is unreachable — no node, no registry — nothing is blocked: the chosen pack and
|
|
94
|
+
its token layer in `styles/tokens/<pack>.css` still carry the rules by reading,
|
|
95
|
+
but the component states only a kit materializes are then **unverified** — say
|
|
96
|
+
so, rather than presenting a read-off state as a kit-checked one. To author a
|
|
93
97
|
pack, start from
|
|
94
98
|
[`styles/STYLE_PACK_TEMPLATE.md`](./styles/STYLE_PACK_TEMPLATE.md) and ship its
|
|
95
99
|
token file in the same change.
|