sheleg-design-skill 0.2.0 → 0.3.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/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # SHELEG Design — agent skill
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/sheleg-design-skill)](https://www.npmjs.com/package/sheleg-design-skill)
4
+ [![CI](https://github.com/ssheleg/sheleg-design-skill/actions/workflows/validate.yml/badge.svg)](https://github.com/ssheleg/sheleg-design-skill/actions/workflows/validate.yml)
5
+ [![license: MIT](https://img.shields.io/badge/license-MIT-blue)](./LICENSE)
6
+
3
7
  > A motion + particle interface methodology for building cinematic,
4
8
  > scroll-driven landing pages — packaged as an installable agent skill for
5
9
  > Cursor and Claude.
@@ -60,6 +64,20 @@ npx sheleg-design-skill --force
60
64
  npx sheleg-design-skill --help
61
65
  ```
62
66
 
67
+ ### Other install paths
68
+
69
+ ```bash
70
+ # Claude Code plugin (adds the /sheleg-design command too)
71
+ /plugin marketplace add ssheleg/sheleg-design-skill
72
+ /plugin install sheleg-design@sheleg-design-skill
73
+
74
+ # vercel-labs skills CLI (70+ agents)
75
+ npx skills add ssheleg/sheleg-design-skill
76
+
77
+ # POSIX fallback, no Node
78
+ curl -fsSL https://raw.githubusercontent.com/ssheleg/sheleg-design-skill/main/install.sh | sh
79
+ ```
80
+
63
81
  ### What gets installed
64
82
 
65
83
  | File | Purpose |
@@ -83,6 +101,27 @@ applies to any stack that can render to a canvas/WebGL surface and read scroll.
83
101
  The installer is a single zero-dependency Node script, so `npx` runs instantly
84
102
  with no install step and no supply-chain surface.
85
103
 
104
+ ## Development
105
+
106
+ `python3 test/validate.py` checks repo consistency (manifests, version sync,
107
+ skill/command/rule front-matter, relative links); CI runs it plus a CLI smoke
108
+ test on every push and PR. Versioning is semver; bump `marketplace.json` +
109
+ `plugin.json` + `package.json` + `CHANGELOG.md` together — the validator
110
+ enforces the sync.
111
+
112
+ ## По-русски (коротко)
113
+
114
+ SHELEG Design — методология кинематографичных скролл-лендингов: один
115
+ scroll-«клок» питает много дешёвых независимых слоёв (WebGL-частицы,
116
+ 2D-фоллбек, параллакс, scrub-инструменты, прогресс-рейл), каждый деградирует
117
+ до спокойной статики. Ничего не кроссфейдится — формации «передислоцируются».
118
+ Установка: `npx sheleg-design-skill` (авто-детект `.cursor`/`.claude`), либо
119
+ плагин Claude Code — `/plugin marketplace add ssheleg/sheleg-design-skill`,
120
+ затем `/plugin install sheleg-design@sheleg-design-skill` (даст команду
121
+ `/sheleg-design`). Агент получает SKILL.md (принципы и порядок работы) и
122
+ SHELEG_DESIGN.md (полный референс: архитектура, точная математика морфа,
123
+ DOM↔WebGL-мост, рецепт сборки с нуля).
124
+
86
125
  ## License
87
126
 
88
127
  MIT © ssheleg
package/bin/cli.js CHANGED
@@ -14,7 +14,14 @@
14
14
  const fs = require("fs");
15
15
  const path = require("path");
16
16
 
17
- const SKILL_DIR = path.join(__dirname, "..", "skill");
17
+ const SKILL_DIR = path.join(
18
+ __dirname,
19
+ "..",
20
+ "plugins",
21
+ "sheleg-design",
22
+ "skills",
23
+ "sheleg-design",
24
+ );
18
25
  const SKILL_SLUG = "sheleg-design";
19
26
  const FILES = ["SKILL.md", "SHELEG_DESIGN.md"];
20
27
 
@@ -0,0 +1,48 @@
1
+ ---
2
+ description: Apply SHELEG Design when building or upgrading a cinematic scroll-driven landing page, hero, or particle/WebGL scroll experience — or when scroll motion feels busy, janky, or out of sync
3
+ alwaysApply: false
4
+ ---
5
+
6
+ # SHELEG Design — single-clock scroll motion
7
+
8
+ A page feels cinematic from a **single source of truth** (measured scroll
9
+ position) driving **many cheap, layered, independently-degradable responses** —
10
+ not from many animations. If the project has the full skill installed
11
+ (`.cursor/skills/sheleg-design/`), read its `SKILL.md` and `SHELEG_DESIGN.md`
12
+ first; otherwise follow the contract below (self-contained on purpose).
13
+
14
+ ## Five principles, in order
15
+
16
+ 1. **One clock.** All motion derives from one measured scroll state in one
17
+ store; no layer measures scroll itself, so layers never drift out of phase.
18
+ 2. **Read per frame, notify rarely.** Hot consumers (WebGL/canvas/progress
19
+ rail) read the store imperatively with zero framework renders; only coarse
20
+ act/section changes notify the framework.
21
+ 3. **Hold, then redeploy.** Hold a formation ~80% of a section, then morph in
22
+ a short, phase-staggered, arc-curved wave. Crossfades between point sets
23
+ are banned.
24
+ 4. **Earned motion.** Scrub only for instruments that narrate state over time
25
+ (charts, step flows); hover/entrance motion stays sub-500ms and never
26
+ gates content visibility.
27
+ 5. **Degrade to calm.** `prefers-reduced-motion` / coarse pointer / no-WebGL
28
+ collapse to a static, fully-legible page. The effect is a bonus, never a
29
+ dependency.
30
+
31
+ ## Non-negotiables
32
+
33
+ - One scroll store, two read paths: live getter for per-frame readers,
34
+ coarse subscription for framework-rendered UI.
35
+ - Storyboard in data: a `SCENES` registry (`{ anchor, formation, focusX,
36
+ energy }` per section); iterate on data before render loops.
37
+ - Smooth scroll (e.g. Lenis) driven from the animation library's ticker so
38
+ scrubbed instruments and the particle field share one inertia.
39
+ - Lazy-load GSAP/WebGL out of the initial bundle; mount WebGL one frame
40
+ after hydration paints.
41
+ - One ease + one small duration/stagger token set site-wide.
42
+ - Scrubbed SVG: `ease: 'none'`, `pathLength={1}`, always kill timelines and
43
+ triggers on cleanup.
44
+ - Animate only `transform` and `opacity`.
45
+ - Every layer ships its reduced-motion/fallback branch in the same commit.
46
+ - At most one parallax figure per viewport; no scrub on hero/entrances.
47
+ - Visual system (color, type, spacing, components) is finished before any
48
+ motion work starts.
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "sheleg-design-skill",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "SHELEG Design — an agent skill for building cinematic, scroll-driven, particle-backed landing pages. Installs a SKILL.md + reference doc into your project so Cursor/Claude agents can build sites with a single-clock motion system, a scene-formation particle engine, and degrade-to-calm fallbacks.",
5
5
  "bin": {
6
6
  "sheleg-design-skill": "bin/cli.js"
7
7
  },
8
8
  "files": [
9
9
  "bin/",
10
- "skill/",
10
+ "plugins/",
11
+ "cursor/",
11
12
  "README.md",
12
13
  "LICENSE"
13
14
  ],
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "sheleg-design",
3
+ "description": "SHELEG Design methodology for cinematic scroll-driven landing pages: a single scroll clock driving layered, degrade-to-calm motion (WebGL particle formations, 2D fallback, parallax, scrubbed instruments, progress rail). Ships the sheleg-design skill, the full architecture reference, and the /sheleg-design command.",
4
+ "version": "0.3.0",
5
+ "author": {
6
+ "name": "ssheleg"
7
+ },
8
+ "homepage": "https://github.com/ssheleg/sheleg-design-skill",
9
+ "repository": "https://github.com/ssheleg/sheleg-design-skill",
10
+ "license": "MIT",
11
+ "keywords": [
12
+ "design",
13
+ "motion",
14
+ "animation",
15
+ "particles",
16
+ "webgl",
17
+ "scroll",
18
+ "landing-page",
19
+ "claude-code"
20
+ ]
21
+ }
@@ -0,0 +1,13 @@
1
+ ---
2
+ description: Apply the SHELEG Design methodology (single-clock, layered, degrade-to-calm motion) to the current landing-page / hero / scroll-animation task
3
+ argument-hint: [what to build or upgrade]
4
+ ---
5
+
6
+ Invoke the `sheleg-design` skill and apply it to the current request.
7
+
8
+ - Read the skill's SKILL.md, then its full reference `SHELEG_DESIGN.md`
9
+ (same directory) before designing anything.
10
+ - Task: $ARGUMENTS — if empty, ask what page or section to build/upgrade,
11
+ then proceed per the skill's "How to Apply" order.
12
+ - Follow the skill's non-negotiables (Quick Reference table) and ship every
13
+ layer's reduced-motion/fallback branch in the same commit.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: sheleg-design
3
- description: Use when building or upgrading a cinematic scroll-driven landing page, marketing site, or hero experience — a particle/WebGL background, scroll-linked animation, parallax, pinned or scrubbed sections, formation-morphing scenes — or when such a page feels busy or janky, or its motion layers drift out of sync with each other. Read before designing the motion architecture; pairs with an existing visual system, does not replace one.
3
+ description: Use when building or upgrading a cinematic scroll-driven landing page, marketing site, or hero experience — a particle/WebGL background, scroll-linked animation, parallax, pinned or scrubbed sections, formation-morphing scenes — or when such a page feels busy or janky, or its motion layers drift out of sync. RU triggers - кинематографичный лендинг, скролл-анимация, лендинг с частицами. Pairs with an existing visual system, does not replace one.
4
4
  ---
5
5
 
6
6
  # SHELEG Design