skills-layer 0.1.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/LICENSE +11 -0
- package/README.md +138 -0
- package/bin/skills-layer.js +3 -0
- package/docs/assets/skills-layer-flow.svg +113 -0
- package/docs/assets/skills-layer-hero.svg +122 -0
- package/docs/assets/skills-layer-logo.svg +36 -0
- package/docs/assets/skills-layer-marketplace-flow.svg +117 -0
- package/package.json +37 -0
- package/public/skills-layer-public.mjs +645 -0
- package/scripts/postinstall.mjs +92 -0
- package/scripts/skills-layer.mjs +15 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Skills Layer CLI Package License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Skills Layer.
|
|
4
|
+
|
|
5
|
+
This package is published as a public npm client package for installing and using the Skills Layer command-line interface.
|
|
6
|
+
|
|
7
|
+
Permission is granted to install and run this package for evaluating, using, or integrating with Skills Layer services.
|
|
8
|
+
|
|
9
|
+
No license is granted to copy, modify, redistribute, reverse engineer, or create derivative works from this package except where such rights cannot be restricted by applicable law or are granted by a separate written agreement.
|
|
10
|
+
|
|
11
|
+
The package is provided as-is, without warranties or guarantees of any kind.
|
package/README.md
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Skills Layer CLI
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="docs/assets/skills-layer-logo.svg" alt="Skills Layer logo" width="120">
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<img src="docs/assets/skills-layer-hero.svg" alt="Skills Layer hero image" width="100%">
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<img alt="npm package" src="https://img.shields.io/badge/npm-skills--layer-cb3837?style=flat-square&logo=npm&logoColor=white">
|
|
13
|
+
<img alt="Node.js" src="https://img.shields.io/badge/node-%3E%3D22-339933?style=flat-square&logo=node.js&logoColor=white">
|
|
14
|
+
<img alt="CLI" src="https://img.shields.io/badge/interface-CLI%20%7C%20MCP%20%7C%20API-2563eb?style=flat-square">
|
|
15
|
+
<img alt="backend" src="https://img.shields.io/badge/backend-Skills%20Layer%20Cloud-4b5563?style=flat-square">
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
Skills Layer CLI is the public npm package for the Skills Layer command-line client.
|
|
19
|
+
|
|
20
|
+
Use it to discover, validate, install, export, and manage agent-ready skill bundles from a terminal. By default, backend-backed commands talk to Skills Layer Cloud. Use another endpoint only when Skills Layer explicitly provides one for your account or environment.
|
|
21
|
+
|
|
22
|
+
Skills Layer is a headless, agent-first platform for Markdown-first skill bundles centered on `SKILL.md`. It manages catalog metadata, validation, trust reports, installation plans, entitlements, exports, workspace deployment, and local agent materialization. It does not host a separate runtime for every user's skill; your agent, IDE, CLI, or backend remains the execution environment.
|
|
23
|
+
|
|
24
|
+
<p align="center">
|
|
25
|
+
<img src="docs/assets/skills-layer-flow.svg" alt="Skills Layer flow from SKILL.md bundle to validation, catalog, CLI, MCP, API, and local agent installation" width="96%">
|
|
26
|
+
</p>
|
|
27
|
+
|
|
28
|
+
## What You Can Do
|
|
29
|
+
|
|
30
|
+
| Capability | What it helps with |
|
|
31
|
+
|---|---|
|
|
32
|
+
| Discover skills | Search, compare, view featured/trending skills, and inspect trust summaries before install. |
|
|
33
|
+
| Validate bundles | Check `SKILL.md` frontmatter, references, trigger quality, archive safety, dependency manifests, and security posture. |
|
|
34
|
+
| Install locally | Materialize approved skills into project, global, workspace, or agent-specific folders with portable lockfile support. |
|
|
35
|
+
| Work with agents | Use one CLI vocabulary that aligns with Skills Layer MCP and REST surfaces. |
|
|
36
|
+
| Publish and maintain | Creator commands cover scaffolding, validation, submission, versioning, issues, reviews, analytics, and listing updates. |
|
|
37
|
+
| Govern teams | Workspace commands support team availability, deployment guidance, review, and trust-aware local use. |
|
|
38
|
+
|
|
39
|
+
<p align="center">
|
|
40
|
+
<img src="docs/assets/skills-layer-marketplace-flow.svg" alt="Skills Layer marketplace and installation flow" width="96%">
|
|
41
|
+
</p>
|
|
42
|
+
|
|
43
|
+
## What A Skill Is
|
|
44
|
+
|
|
45
|
+
A Skills Layer skill is a versioned bundle built around a required `SKILL.md` file and optional supporting content:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
my-skill/
|
|
49
|
+
SKILL.md
|
|
50
|
+
references/
|
|
51
|
+
scripts/
|
|
52
|
+
assets/
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The bundle is Markdown-first. `SKILL.md` frontmatter becomes structured metadata, larger context usually belongs in `references/`, and validation checks the bundle before users or teams rely on it.
|
|
56
|
+
|
|
57
|
+
## Install
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npm install -g skills-layer
|
|
61
|
+
skills-layer --help
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
For one-off use:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx skills-layer --help
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Common First Commands
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
skills-layer search "project planning"
|
|
74
|
+
skills-layer show project-planner
|
|
75
|
+
skills-layer trust project-planner
|
|
76
|
+
skills-layer install project-planner --dry-run
|
|
77
|
+
skills-layer install project-planner
|
|
78
|
+
skills-layer validate ./my-skill --json
|
|
79
|
+
skills-layer agents list
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Backend Defaults
|
|
83
|
+
|
|
84
|
+
By default, backend-backed commands use `https://api.skills-layer.com`.
|
|
85
|
+
|
|
86
|
+
Use a Skills Layer-provided endpoint for a single command:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
skills-layer search planning --base-url <provided-api-url>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Remember the hosted backend:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
skills-layer backend cloud
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Remember a Skills Layer-provided local/backend endpoint:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
skills-layer backend local
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Remember a Skills Layer-provided endpoint:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
skills-layer backend cloud --base-url <provided-api-url>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The CLI resolves backend URLs in this order: `--base-url`, `SKILLS_LAYER_BASE_URL`, saved backend preference, saved login config, then `https://api.skills-layer.com`.
|
|
111
|
+
|
|
112
|
+
## MCP And API
|
|
113
|
+
|
|
114
|
+
Skills Layer exposes the same product model through CLI, MCP, and REST-style surfaces. Public endpoints include:
|
|
115
|
+
|
|
116
|
+
- hosted API default: `https://api.skills-layer.com`
|
|
117
|
+
- MCP endpoint: `https://api.skills-layer.com/mcp`
|
|
118
|
+
- public docs: `https://skills-layer.com/docs`
|
|
119
|
+
- user journeys: `https://skills-layer.com/journeys`
|
|
120
|
+
|
|
121
|
+
Use only endpoints published or explicitly provided by Skills Layer.
|
|
122
|
+
|
|
123
|
+
## Safety Model
|
|
124
|
+
|
|
125
|
+
- Inspect trust reports before installing skills into sensitive projects.
|
|
126
|
+
- Use `--dry-run` before mutating installs, submissions, workspace deployment, listing visibility, or ownership state.
|
|
127
|
+
- Use `guardian check` before letting a skill drive shell, network, file, secret, browser, device, API, generated-code, or model-context actions.
|
|
128
|
+
- Keep API keys out of visible command arguments. Login flows use saved sessions, masked prompts, secure headers, or environment-provided secrets.
|
|
129
|
+
|
|
130
|
+
## What Ships
|
|
131
|
+
|
|
132
|
+
The npm package ships the public CLI runtime, the executable wrapper, the install banner, this README, public README images, the package manifest, and the package license.
|
|
133
|
+
|
|
134
|
+
It does not ship internal deployment scripts, database credentials, release checklists, tests, or repository-internal source material.
|
|
135
|
+
|
|
136
|
+
## License
|
|
137
|
+
|
|
138
|
+
See [LICENSE](LICENSE).
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="560" viewBox="0 0 1600 560" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Skills Layer skill distribution flow</title>
|
|
3
|
+
<desc id="desc">A clean four-step visual showing how a SKILL.md bundle moves through validation, catalog publication, CLI/MCP/REST access, and local agent installation.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="flowBg" x1="0" x2="1600" y1="0" y2="560" gradientUnits="userSpaceOnUse">
|
|
6
|
+
<stop stop-color="#F8FAF7"/>
|
|
7
|
+
<stop offset="0.5" stop-color="#F2F7F6"/>
|
|
8
|
+
<stop offset="1" stop-color="#F8F4EB"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<radialGradient id="flowGlowTeal" cx="0" cy="0" r="1" gradientTransform="matrix(360 0 0 220 1190 120)" gradientUnits="userSpaceOnUse">
|
|
11
|
+
<stop stop-color="#6FE7C8" stop-opacity="0.48"/>
|
|
12
|
+
<stop offset="1" stop-color="#6FE7C8" stop-opacity="0"/>
|
|
13
|
+
</radialGradient>
|
|
14
|
+
<radialGradient id="flowGlowGold" cx="0" cy="0" r="1" gradientTransform="matrix(300 0 0 220 1350 430)" gradientUnits="userSpaceOnUse">
|
|
15
|
+
<stop stop-color="#F5B942" stop-opacity="0.34"/>
|
|
16
|
+
<stop offset="1" stop-color="#F5B942" stop-opacity="0"/>
|
|
17
|
+
</radialGradient>
|
|
18
|
+
<linearGradient id="teal" x1="0" x2="170" y1="0" y2="74" gradientUnits="userSpaceOnUse">
|
|
19
|
+
<stop stop-color="#19C6A7"/>
|
|
20
|
+
<stop offset="1" stop-color="#6FE7C8"/>
|
|
21
|
+
</linearGradient>
|
|
22
|
+
<linearGradient id="blue" x1="0" x2="170" y1="0" y2="74" gradientUnits="userSpaceOnUse">
|
|
23
|
+
<stop stop-color="#5368F6"/>
|
|
24
|
+
<stop offset="1" stop-color="#30B8E8"/>
|
|
25
|
+
</linearGradient>
|
|
26
|
+
<linearGradient id="gold" x1="0" x2="170" y1="0" y2="74" gradientUnits="userSpaceOnUse">
|
|
27
|
+
<stop stop-color="#F5B942"/>
|
|
28
|
+
<stop offset="1" stop-color="#F97361"/>
|
|
29
|
+
</linearGradient>
|
|
30
|
+
<filter id="softShadow" x="-8%" y="-12%" width="116%" height="135%" color-interpolation-filters="sRGB">
|
|
31
|
+
<feDropShadow dx="0" dy="14" stdDeviation="16" flood-color="#101828" flood-opacity="0.13"/>
|
|
32
|
+
</filter>
|
|
33
|
+
<pattern id="grid" width="48" height="48" patternUnits="userSpaceOnUse">
|
|
34
|
+
<path d="M48 0H0V48" fill="none" stroke="#101828" stroke-opacity="0.045" stroke-width="1"/>
|
|
35
|
+
</pattern>
|
|
36
|
+
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="8" markerHeight="8" orient="auto">
|
|
37
|
+
<path d="M0 0L10 5L0 10Z" fill="#98A2B3"/>
|
|
38
|
+
</marker>
|
|
39
|
+
<style>
|
|
40
|
+
.title { font: 790 44px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #111827; letter-spacing: 0; }
|
|
41
|
+
.subtitle { font: 560 22px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #475467; letter-spacing: 0; }
|
|
42
|
+
.step-number { font: 800 18px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #FFFFFF; }
|
|
43
|
+
.card-title { font: 760 25px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #111827; letter-spacing: 0; }
|
|
44
|
+
.card-copy { font: 520 17px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #475467; letter-spacing: 0; }
|
|
45
|
+
.terminal { font: 650 18px "SFMono-Regular", Consolas, "Liberation Mono", monospace; fill: #D1FAE5; }
|
|
46
|
+
.terminal-muted { font: 650 15px "SFMono-Regular", Consolas, "Liberation Mono", monospace; fill: #98A2B3; }
|
|
47
|
+
</style>
|
|
48
|
+
</defs>
|
|
49
|
+
|
|
50
|
+
<rect width="1600" height="560" rx="36" fill="url(#flowBg)"/>
|
|
51
|
+
<rect width="1600" height="560" rx="36" fill="url(#grid)"/>
|
|
52
|
+
<rect width="1600" height="560" rx="36" fill="url(#flowGlowTeal)"/>
|
|
53
|
+
<rect width="1600" height="560" rx="36" fill="url(#flowGlowGold)"/>
|
|
54
|
+
|
|
55
|
+
<g transform="translate(104 70)">
|
|
56
|
+
<text class="title" x="0" y="0">From SKILL.md to every agent</text>
|
|
57
|
+
<text class="subtitle" x="0" y="42">A single governed path for publishing, trust, distribution, and local materialization.</text>
|
|
58
|
+
</g>
|
|
59
|
+
|
|
60
|
+
<g transform="translate(104 154)">
|
|
61
|
+
<g filter="url(#softShadow)">
|
|
62
|
+
<rect x="0" y="0" width="290" height="186" rx="8" fill="#FFFFFF" stroke="#E4E7EC"/>
|
|
63
|
+
<rect x="22" y="22" width="42" height="42" rx="21" fill="url(#teal)"/>
|
|
64
|
+
<text class="step-number" x="43" y="50" text-anchor="middle">1</text>
|
|
65
|
+
<text class="card-title" x="22" y="104">Create</text>
|
|
66
|
+
<text class="card-copy" x="22" y="136">A Markdown-first bundle</text>
|
|
67
|
+
<text class="card-copy" x="22" y="162">with references and assets.</text>
|
|
68
|
+
</g>
|
|
69
|
+
|
|
70
|
+
<line x1="318" y1="93" x2="384" y2="93" stroke="#98A2B3" stroke-width="3" marker-end="url(#arrow)"/>
|
|
71
|
+
|
|
72
|
+
<g transform="translate(408 0)" filter="url(#softShadow)">
|
|
73
|
+
<rect x="0" y="0" width="290" height="186" rx="8" fill="#FFFFFF" stroke="#E4E7EC"/>
|
|
74
|
+
<rect x="22" y="22" width="42" height="42" rx="21" fill="url(#blue)"/>
|
|
75
|
+
<text class="step-number" x="43" y="50" text-anchor="middle">2</text>
|
|
76
|
+
<text class="card-title" x="22" y="104">Validate</text>
|
|
77
|
+
<text class="card-copy" x="22" y="136">Review triggers, metadata,</text>
|
|
78
|
+
<text class="card-copy" x="22" y="162">provenance, and safety.</text>
|
|
79
|
+
</g>
|
|
80
|
+
|
|
81
|
+
<line x1="726" y1="93" x2="792" y2="93" stroke="#98A2B3" stroke-width="3" marker-end="url(#arrow)"/>
|
|
82
|
+
|
|
83
|
+
<g transform="translate(816 0)" filter="url(#softShadow)">
|
|
84
|
+
<rect x="0" y="0" width="290" height="186" rx="8" fill="#FFFFFF" stroke="#E4E7EC"/>
|
|
85
|
+
<rect x="22" y="22" width="42" height="42" rx="21" fill="url(#gold)"/>
|
|
86
|
+
<text class="step-number" x="43" y="50" text-anchor="middle">3</text>
|
|
87
|
+
<text class="card-title" x="22" y="104">Publish</text>
|
|
88
|
+
<text class="card-copy" x="22" y="136">Catalog pages, trust data,</text>
|
|
89
|
+
<text class="card-copy" x="22" y="162">and well-known manifests.</text>
|
|
90
|
+
</g>
|
|
91
|
+
|
|
92
|
+
<line x1="1134" y1="93" x2="1200" y2="93" stroke="#98A2B3" stroke-width="3" marker-end="url(#arrow)"/>
|
|
93
|
+
|
|
94
|
+
<g transform="translate(1224 0)" filter="url(#softShadow)">
|
|
95
|
+
<rect x="0" y="0" width="290" height="186" rx="8" fill="#FFFFFF" stroke="#E4E7EC"/>
|
|
96
|
+
<rect x="22" y="22" width="42" height="42" rx="21" fill="#111827"/>
|
|
97
|
+
<text class="step-number" x="43" y="50" text-anchor="middle">4</text>
|
|
98
|
+
<text class="card-title" x="22" y="104">Install</text>
|
|
99
|
+
<text class="card-copy" x="22" y="136">CLI, MCP, and REST deliver</text>
|
|
100
|
+
<text class="card-copy" x="22" y="162">skills into agent folders.</text>
|
|
101
|
+
</g>
|
|
102
|
+
</g>
|
|
103
|
+
|
|
104
|
+
<g transform="translate(242 400)" filter="url(#softShadow)">
|
|
105
|
+
<rect x="0" y="0" width="1116" height="88" rx="8" fill="#111827"/>
|
|
106
|
+
<circle cx="32" cy="30" r="7" fill="#F97361"/>
|
|
107
|
+
<circle cx="56" cy="30" r="7" fill="#F5B942"/>
|
|
108
|
+
<circle cx="80" cy="30" r="7" fill="#19C6A7"/>
|
|
109
|
+
<text class="terminal-muted" x="112" y="35">agent install</text>
|
|
110
|
+
<text class="terminal" x="30" y="66">$ skills-layer install project-planner --agent codex</text>
|
|
111
|
+
<text class="terminal" x="646" y="66">writes .codex/skills/project-planner</text>
|
|
112
|
+
</g>
|
|
113
|
+
</svg>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="640" viewBox="0 0 1600 640" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Skills Layer hero image</title>
|
|
3
|
+
<desc id="desc">Skills Layer brand artwork showing a layered skill bundle connected to REST, MCP, and CLI surfaces.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="heroBg" x1="0" x2="1600" y1="0" y2="640" gradientUnits="userSpaceOnUse">
|
|
6
|
+
<stop stop-color="#F8FAF7"/>
|
|
7
|
+
<stop offset="0.48" stop-color="#F2F7F6"/>
|
|
8
|
+
<stop offset="1" stop-color="#F8F4EB"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<radialGradient id="heroGlowA" cx="0" cy="0" r="1" gradientTransform="matrix(360 0 0 260 1090 130)" gradientUnits="userSpaceOnUse">
|
|
11
|
+
<stop stop-color="#6FE7C8" stop-opacity="0.72"/>
|
|
12
|
+
<stop offset="1" stop-color="#6FE7C8" stop-opacity="0"/>
|
|
13
|
+
</radialGradient>
|
|
14
|
+
<radialGradient id="heroGlowB" cx="0" cy="0" r="1" gradientTransform="matrix(300 0 0 220 1340 470)" gradientUnits="userSpaceOnUse">
|
|
15
|
+
<stop stop-color="#F5B942" stop-opacity="0.48"/>
|
|
16
|
+
<stop offset="1" stop-color="#F5B942" stop-opacity="0"/>
|
|
17
|
+
</radialGradient>
|
|
18
|
+
<linearGradient id="markTop" x1="18" x2="204" y1="48" y2="118" gradientUnits="userSpaceOnUse">
|
|
19
|
+
<stop stop-color="#19C6A7"/>
|
|
20
|
+
<stop offset="1" stop-color="#6FE7C8"/>
|
|
21
|
+
</linearGradient>
|
|
22
|
+
<linearGradient id="markMiddle" x1="12" x2="212" y1="94" y2="172" gradientUnits="userSpaceOnUse">
|
|
23
|
+
<stop stop-color="#5368F6"/>
|
|
24
|
+
<stop offset="1" stop-color="#30B8E8"/>
|
|
25
|
+
</linearGradient>
|
|
26
|
+
<linearGradient id="markBottom" x1="18" x2="204" y1="148" y2="224" gradientUnits="userSpaceOnUse">
|
|
27
|
+
<stop stop-color="#F5B942"/>
|
|
28
|
+
<stop offset="1" stop-color="#F97361"/>
|
|
29
|
+
</linearGradient>
|
|
30
|
+
<linearGradient id="layerOne" x1="772" x2="1328" y1="92" y2="316" gradientUnits="userSpaceOnUse">
|
|
31
|
+
<stop stop-color="#19C6A7"/>
|
|
32
|
+
<stop offset="1" stop-color="#6FE7C8"/>
|
|
33
|
+
</linearGradient>
|
|
34
|
+
<linearGradient id="layerTwo" x1="772" x2="1328" y1="176" y2="400" gradientUnits="userSpaceOnUse">
|
|
35
|
+
<stop stop-color="#5368F6"/>
|
|
36
|
+
<stop offset="1" stop-color="#30B8E8"/>
|
|
37
|
+
</linearGradient>
|
|
38
|
+
<linearGradient id="layerThree" x1="772" x2="1328" y1="260" y2="484" gradientUnits="userSpaceOnUse">
|
|
39
|
+
<stop stop-color="#F5B942"/>
|
|
40
|
+
<stop offset="1" stop-color="#F97361"/>
|
|
41
|
+
</linearGradient>
|
|
42
|
+
<filter id="softShadow" x="-15%" y="-15%" width="130%" height="140%" color-interpolation-filters="sRGB">
|
|
43
|
+
<feDropShadow dx="0" dy="18" stdDeviation="18" flood-color="#101828" flood-opacity="0.16"/>
|
|
44
|
+
</filter>
|
|
45
|
+
<pattern id="grid" width="48" height="48" patternUnits="userSpaceOnUse">
|
|
46
|
+
<path d="M48 0H0V48" fill="none" stroke="#101828" stroke-opacity="0.055" stroke-width="1"/>
|
|
47
|
+
</pattern>
|
|
48
|
+
</defs>
|
|
49
|
+
<rect width="1600" height="640" rx="44" fill="url(#heroBg)"/>
|
|
50
|
+
<rect width="1600" height="640" rx="44" fill="url(#grid)"/>
|
|
51
|
+
<rect width="1600" height="640" rx="44" fill="url(#heroGlowA)"/>
|
|
52
|
+
<rect width="1600" height="640" rx="44" fill="url(#heroGlowB)"/>
|
|
53
|
+
|
|
54
|
+
<g transform="translate(112 106)">
|
|
55
|
+
<g filter="url(#softShadow)" transform="scale(0.9)">
|
|
56
|
+
<path d="M112 0 210 56 112 112 14 56Z" fill="url(#markTop)"/>
|
|
57
|
+
<path d="M112 53 210 109 112 165 14 109Z" fill="url(#markMiddle)"/>
|
|
58
|
+
<path d="M112 106 210 162 112 218 14 162Z" fill="url(#markBottom)"/>
|
|
59
|
+
<path d="M112 0 210 56 112 112 14 56Z" fill="none" stroke="#0F172A" stroke-opacity="0.12" stroke-width="3"/>
|
|
60
|
+
<path d="M112 53 210 109 112 165 14 109Z" fill="none" stroke="#0F172A" stroke-opacity="0.12" stroke-width="3"/>
|
|
61
|
+
<path d="M112 106 210 162 112 218 14 162Z" fill="none" stroke="#0F172A" stroke-opacity="0.12" stroke-width="3"/>
|
|
62
|
+
<circle cx="112" cy="109" r="15" fill="#FFFFFF" fill-opacity="0.92"/>
|
|
63
|
+
<circle cx="112" cy="109" r="6" fill="#111827"/>
|
|
64
|
+
</g>
|
|
65
|
+
<text x="238" y="78" fill="#111827" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="72" font-weight="790" letter-spacing="0">Skills Layer</text>
|
|
66
|
+
<text x="242" y="128" fill="#475467" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="27" font-weight="560" letter-spacing="0">AI Agent first platform for Skills</text>
|
|
67
|
+
<text x="242" y="185" fill="#344054" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="24" font-weight="520" letter-spacing="0">Governed publishing for</text>
|
|
68
|
+
<text x="242" y="222" fill="#344054" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="24" font-weight="520" letter-spacing="0">Markdown-first skill bundles.</text>
|
|
69
|
+
|
|
70
|
+
<g transform="translate(242 276)" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="20" font-weight="700">
|
|
71
|
+
<rect x="0" y="0" width="92" height="44" rx="22" fill="#111827"/>
|
|
72
|
+
<text x="46" y="29" text-anchor="middle" fill="#FFFFFF">REST</text>
|
|
73
|
+
<rect x="112" y="0" width="86" height="44" rx="22" fill="#E8F8F5" stroke="#19C6A7" stroke-width="2"/>
|
|
74
|
+
<text x="155" y="29" text-anchor="middle" fill="#027A63">MCP</text>
|
|
75
|
+
<rect x="218" y="0" width="74" height="44" rx="22" fill="#EEF1FF" stroke="#5368F6" stroke-width="2"/>
|
|
76
|
+
<text x="255" y="29" text-anchor="middle" fill="#3445D8">CLI</text>
|
|
77
|
+
<rect x="312" y="0" width="150" height="44" rx="22" fill="#FFF5DF" stroke="#F5B942" stroke-width="2"/>
|
|
78
|
+
<text x="387" y="29" text-anchor="middle" fill="#9A5B00">well-known</text>
|
|
79
|
+
</g>
|
|
80
|
+
</g>
|
|
81
|
+
|
|
82
|
+
<g transform="translate(814 96)">
|
|
83
|
+
<path d="M560 78C606 98 638 141 638 191C638 264 568 324 482 324C459 324 437 320 418 313" fill="none" stroke="#111827" stroke-opacity="0.18" stroke-width="3"/>
|
|
84
|
+
<path d="M154 354C102 332 66 287 66 235C66 160 140 100 232 100C256 100 279 104 300 111" fill="none" stroke="#111827" stroke-opacity="0.18" stroke-width="3"/>
|
|
85
|
+
<g filter="url(#softShadow)">
|
|
86
|
+
<path d="M286 0 560 140 286 280 12 140Z" fill="url(#layerOne)"/>
|
|
87
|
+
<path d="M286 84 560 224 286 364 12 224Z" fill="url(#layerTwo)"/>
|
|
88
|
+
<path d="M286 168 560 308 286 448 12 308Z" fill="url(#layerThree)"/>
|
|
89
|
+
<path d="M286 0 560 140 286 280 12 140Z" fill="none" stroke="#111827" stroke-opacity="0.12" stroke-width="4"/>
|
|
90
|
+
<path d="M286 84 560 224 286 364 12 224Z" fill="none" stroke="#111827" stroke-opacity="0.12" stroke-width="4"/>
|
|
91
|
+
<path d="M286 168 560 308 286 448 12 308Z" fill="none" stroke="#111827" stroke-opacity="0.12" stroke-width="4"/>
|
|
92
|
+
</g>
|
|
93
|
+
<g font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" text-anchor="middle" letter-spacing="0">
|
|
94
|
+
<text x="286" y="148" fill="#063D35" font-size="35" font-weight="800">SKILL.md</text>
|
|
95
|
+
<text x="286" y="233" fill="#FFFFFF" font-size="31" font-weight="780">validation</text>
|
|
96
|
+
<text x="286" y="318" fill="#5F3600" font-size="31" font-weight="780">install plans</text>
|
|
97
|
+
</g>
|
|
98
|
+
|
|
99
|
+
<g font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="19" font-weight="750" letter-spacing="0">
|
|
100
|
+
<g transform="translate(0 24)">
|
|
101
|
+
<rect x="0" y="0" width="162" height="48" rx="24" fill="#FFFFFF" stroke="#D0D5DD"/>
|
|
102
|
+
<circle cx="30" cy="24" r="8" fill="#19C6A7"/>
|
|
103
|
+
<text x="54" y="31" fill="#344054">Catalog</text>
|
|
104
|
+
</g>
|
|
105
|
+
<g transform="translate(512 46)">
|
|
106
|
+
<rect x="0" y="0" width="172" height="48" rx="24" fill="#FFFFFF" stroke="#D0D5DD"/>
|
|
107
|
+
<circle cx="30" cy="24" r="8" fill="#5368F6"/>
|
|
108
|
+
<text x="54" y="31" fill="#344054">Trust review</text>
|
|
109
|
+
</g>
|
|
110
|
+
<g transform="translate(36 394)">
|
|
111
|
+
<rect x="0" y="0" width="156" height="48" rx="24" fill="#FFFFFF" stroke="#D0D5DD"/>
|
|
112
|
+
<circle cx="30" cy="24" r="8" fill="#F97361"/>
|
|
113
|
+
<text x="54" y="31" fill="#344054">Exports</text>
|
|
114
|
+
</g>
|
|
115
|
+
<g transform="translate(506 372)">
|
|
116
|
+
<rect x="0" y="0" width="154" height="48" rx="24" fill="#FFFFFF" stroke="#D0D5DD"/>
|
|
117
|
+
<circle cx="30" cy="24" r="8" fill="#F5B942"/>
|
|
118
|
+
<text x="54" y="31" fill="#344054">Agents</text>
|
|
119
|
+
</g>
|
|
120
|
+
</g>
|
|
121
|
+
</g>
|
|
122
|
+
</svg>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="960" height="260" viewBox="0 0 960 260" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Skills Layer logo</title>
|
|
3
|
+
<desc id="desc">A layered geometric mark beside the Skills Layer wordmark on a light canvas.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="slLogoTop" x1="18" x2="204" y1="48" y2="118" gradientUnits="userSpaceOnUse">
|
|
6
|
+
<stop stop-color="#19C6A7"/>
|
|
7
|
+
<stop offset="1" stop-color="#6FE7C8"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
<linearGradient id="slLogoMiddle" x1="12" x2="212" y1="94" y2="172" gradientUnits="userSpaceOnUse">
|
|
10
|
+
<stop stop-color="#5368F6"/>
|
|
11
|
+
<stop offset="1" stop-color="#30B8E8"/>
|
|
12
|
+
</linearGradient>
|
|
13
|
+
<linearGradient id="slLogoBottom" x1="18" x2="204" y1="148" y2="224" gradientUnits="userSpaceOnUse">
|
|
14
|
+
<stop stop-color="#F5B942"/>
|
|
15
|
+
<stop offset="1" stop-color="#F97361"/>
|
|
16
|
+
</linearGradient>
|
|
17
|
+
<filter id="slLogoShadow" x="-10%" y="-10%" width="120%" height="130%" color-interpolation-filters="sRGB">
|
|
18
|
+
<feDropShadow dx="0" dy="12" stdDeviation="13" flood-color="#101828" flood-opacity="0.16"/>
|
|
19
|
+
</filter>
|
|
20
|
+
</defs>
|
|
21
|
+
<rect width="960" height="260" rx="36" fill="#F8FAF7"/>
|
|
22
|
+
<g filter="url(#slLogoShadow)" transform="translate(52 22)">
|
|
23
|
+
<path d="M112 0 210 56 112 112 14 56Z" fill="url(#slLogoTop)"/>
|
|
24
|
+
<path d="M112 53 210 109 112 165 14 109Z" fill="url(#slLogoMiddle)"/>
|
|
25
|
+
<path d="M112 106 210 162 112 218 14 162Z" fill="url(#slLogoBottom)"/>
|
|
26
|
+
<path d="M112 0 210 56 112 112 14 56Z" fill="none" stroke="#0F172A" stroke-opacity="0.12" stroke-width="3"/>
|
|
27
|
+
<path d="M112 53 210 109 112 165 14 109Z" fill="none" stroke="#0F172A" stroke-opacity="0.12" stroke-width="3"/>
|
|
28
|
+
<path d="M112 106 210 162 112 218 14 162Z" fill="none" stroke="#0F172A" stroke-opacity="0.12" stroke-width="3"/>
|
|
29
|
+
<circle cx="112" cy="109" r="15" fill="#FFFFFF" fill-opacity="0.92"/>
|
|
30
|
+
<circle cx="112" cy="109" r="6" fill="#111827"/>
|
|
31
|
+
</g>
|
|
32
|
+
<g transform="translate(306 72)">
|
|
33
|
+
<text x="0" y="72" fill="#111827" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="68" font-weight="780" letter-spacing="0">Skills Layer</text>
|
|
34
|
+
<text x="4" y="116" fill="#475467" font-family="Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" font-size="25" font-weight="560" letter-spacing="0">AI Agent first platform for Skills</text>
|
|
35
|
+
</g>
|
|
36
|
+
</svg>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="560" viewBox="0 0 1600 560" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Skills Layer developer marketplace value flow</title>
|
|
3
|
+
<desc id="desc">A clean visual showing how developers build skills, publish with guardrails, buyers install into agents, and creators can earn through Skills Layer Cloud.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="marketBg" x1="0" x2="1600" y1="0" y2="560" gradientUnits="userSpaceOnUse">
|
|
6
|
+
<stop stop-color="#F8FAF7"/>
|
|
7
|
+
<stop offset="0.5" stop-color="#F2F7F6"/>
|
|
8
|
+
<stop offset="1" stop-color="#F8F4EB"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<radialGradient id="marketGlowTeal" cx="0" cy="0" r="1" gradientTransform="matrix(380 0 0 240 1130 120)" gradientUnits="userSpaceOnUse">
|
|
11
|
+
<stop stop-color="#6FE7C8" stop-opacity="0.48"/>
|
|
12
|
+
<stop offset="1" stop-color="#6FE7C8" stop-opacity="0"/>
|
|
13
|
+
</radialGradient>
|
|
14
|
+
<radialGradient id="marketGlowGold" cx="0" cy="0" r="1" gradientTransform="matrix(320 0 0 230 1320 430)" gradientUnits="userSpaceOnUse">
|
|
15
|
+
<stop stop-color="#F5B942" stop-opacity="0.38"/>
|
|
16
|
+
<stop offset="1" stop-color="#F5B942" stop-opacity="0"/>
|
|
17
|
+
</radialGradient>
|
|
18
|
+
<linearGradient id="teal" x1="0" x2="170" y1="0" y2="74" gradientUnits="userSpaceOnUse">
|
|
19
|
+
<stop stop-color="#19C6A7"/>
|
|
20
|
+
<stop offset="1" stop-color="#6FE7C8"/>
|
|
21
|
+
</linearGradient>
|
|
22
|
+
<linearGradient id="blue" x1="0" x2="170" y1="0" y2="74" gradientUnits="userSpaceOnUse">
|
|
23
|
+
<stop stop-color="#5368F6"/>
|
|
24
|
+
<stop offset="1" stop-color="#30B8E8"/>
|
|
25
|
+
</linearGradient>
|
|
26
|
+
<linearGradient id="gold" x1="0" x2="170" y1="0" y2="74" gradientUnits="userSpaceOnUse">
|
|
27
|
+
<stop stop-color="#F5B942"/>
|
|
28
|
+
<stop offset="1" stop-color="#F97361"/>
|
|
29
|
+
</linearGradient>
|
|
30
|
+
<filter id="softShadow" x="-8%" y="-12%" width="116%" height="135%" color-interpolation-filters="sRGB">
|
|
31
|
+
<feDropShadow dx="0" dy="14" stdDeviation="16" flood-color="#101828" flood-opacity="0.13"/>
|
|
32
|
+
</filter>
|
|
33
|
+
<pattern id="grid" width="48" height="48" patternUnits="userSpaceOnUse">
|
|
34
|
+
<path d="M48 0H0V48" fill="none" stroke="#101828" stroke-opacity="0.045" stroke-width="1"/>
|
|
35
|
+
</pattern>
|
|
36
|
+
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="8" markerHeight="8" orient="auto">
|
|
37
|
+
<path d="M0 0L10 5L0 10Z" fill="#98A2B3"/>
|
|
38
|
+
</marker>
|
|
39
|
+
<style>
|
|
40
|
+
.title { font: 790 44px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #111827; letter-spacing: 0; }
|
|
41
|
+
.subtitle { font: 560 22px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #475467; letter-spacing: 0; }
|
|
42
|
+
.card-title { font: 760 26px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #111827; letter-spacing: 0; }
|
|
43
|
+
.card-copy { font: 520 17px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #475467; letter-spacing: 0; }
|
|
44
|
+
.tag { font: 800 15px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #FFFFFF; letter-spacing: 0.04em; }
|
|
45
|
+
.pill { font: 760 16px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #344054; letter-spacing: 0; }
|
|
46
|
+
.dark { font: 760 19px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #FFFFFF; letter-spacing: 0; }
|
|
47
|
+
.dark-muted { font: 560 16px Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; fill: #D0D5DD; letter-spacing: 0; }
|
|
48
|
+
</style>
|
|
49
|
+
</defs>
|
|
50
|
+
|
|
51
|
+
<rect width="1600" height="560" rx="36" fill="url(#marketBg)"/>
|
|
52
|
+
<rect width="1600" height="560" rx="36" fill="url(#grid)"/>
|
|
53
|
+
<rect width="1600" height="560" rx="36" fill="url(#marketGlowTeal)"/>
|
|
54
|
+
<rect width="1600" height="560" rx="36" fill="url(#marketGlowGold)"/>
|
|
55
|
+
|
|
56
|
+
<g transform="translate(104 70)">
|
|
57
|
+
<text class="title" x="0" y="0">Build skills people can buy, trust, and install</text>
|
|
58
|
+
<text class="subtitle" x="0" y="42">Community is the open foundation. Cloud adds managed marketplace, checkout, and creator earnings.</text>
|
|
59
|
+
</g>
|
|
60
|
+
|
|
61
|
+
<g transform="translate(104 158)">
|
|
62
|
+
<g filter="url(#softShadow)">
|
|
63
|
+
<rect x="0" y="0" width="326" height="218" rx="8" fill="#FFFFFF" stroke="#E4E7EC"/>
|
|
64
|
+
<rect x="24" y="24" width="108" height="34" rx="17" fill="url(#teal)"/>
|
|
65
|
+
<text class="tag" x="78" y="47" text-anchor="middle">BUILD</text>
|
|
66
|
+
<text class="card-title" x="24" y="104">Create a skill</text>
|
|
67
|
+
<text class="card-copy" x="24" y="138">Turn hard-won expertise into</text>
|
|
68
|
+
<text class="card-copy" x="24" y="164">a versioned SKILL.md bundle</text>
|
|
69
|
+
<text class="card-copy" x="24" y="190">with provenance and docs.</text>
|
|
70
|
+
</g>
|
|
71
|
+
|
|
72
|
+
<line x1="352" y1="109" x2="424" y2="109" stroke="#98A2B3" stroke-width="3" marker-end="url(#arrow)"/>
|
|
73
|
+
|
|
74
|
+
<g transform="translate(448 0)" filter="url(#softShadow)">
|
|
75
|
+
<rect x="0" y="0" width="326" height="218" rx="8" fill="#FFFFFF" stroke="#E4E7EC"/>
|
|
76
|
+
<rect x="24" y="24" width="116" height="34" rx="17" fill="url(#blue)"/>
|
|
77
|
+
<text class="tag" x="82" y="47" text-anchor="middle">PUBLISH</text>
|
|
78
|
+
<text class="card-title" x="24" y="104">Trust first</text>
|
|
79
|
+
<text class="card-copy" x="24" y="138">Validation, trust review,</text>
|
|
80
|
+
<text class="card-copy" x="24" y="164">ownership, reviews, issues,</text>
|
|
81
|
+
<text class="card-copy" x="24" y="190">and catalog distribution.</text>
|
|
82
|
+
</g>
|
|
83
|
+
|
|
84
|
+
<line x1="800" y1="109" x2="872" y2="109" stroke="#98A2B3" stroke-width="3" marker-end="url(#arrow)"/>
|
|
85
|
+
|
|
86
|
+
<g transform="translate(896 0)" filter="url(#softShadow)">
|
|
87
|
+
<rect x="0" y="0" width="326" height="218" rx="8" fill="#FFFFFF" stroke="#E4E7EC"/>
|
|
88
|
+
<rect x="24" y="24" width="94" height="34" rx="17" fill="url(#gold)"/>
|
|
89
|
+
<text class="tag" x="71" y="47" text-anchor="middle">SELL</text>
|
|
90
|
+
<text class="card-title" x="24" y="104">Reach buyers</text>
|
|
91
|
+
<text class="card-copy" x="24" y="138">Cloud can handle discovery,</text>
|
|
92
|
+
<text class="card-copy" x="24" y="164">checkout, entitlements, and</text>
|
|
93
|
+
<text class="card-copy" x="24" y="190">purchase-backed trust.</text>
|
|
94
|
+
</g>
|
|
95
|
+
|
|
96
|
+
<line x1="1248" y1="109" x2="1320" y2="109" stroke="#98A2B3" stroke-width="3" marker-end="url(#arrow)"/>
|
|
97
|
+
|
|
98
|
+
<g transform="translate(1344 0)" filter="url(#softShadow)">
|
|
99
|
+
<rect x="0" y="0" width="172" height="218" rx="8" fill="#111827"/>
|
|
100
|
+
<circle cx="86" cy="58" r="34" fill="url(#gold)"/>
|
|
101
|
+
<text class="dark" x="86" y="68" text-anchor="middle">$</text>
|
|
102
|
+
<text class="dark" x="86" y="124" text-anchor="middle">Earn</text>
|
|
103
|
+
<text class="dark-muted" x="86" y="154" text-anchor="middle">useful skills</text>
|
|
104
|
+
<text class="dark-muted" x="86" y="178" text-anchor="middle">compound</text>
|
|
105
|
+
</g>
|
|
106
|
+
</g>
|
|
107
|
+
|
|
108
|
+
<g transform="translate(250 430)" filter="url(#softShadow)">
|
|
109
|
+
<rect x="0" y="0" width="1100" height="64" rx="8" fill="#FFFFFF" stroke="#E4E7EC"/>
|
|
110
|
+
<rect x="24" y="17" width="112" height="30" rx="15" fill="#E8F8F5" stroke="#19C6A7"/>
|
|
111
|
+
<text class="pill" x="80" y="38" text-anchor="middle" fill="#027A63">Community</text>
|
|
112
|
+
<text class="card-copy" x="158" y="38">portable, agent-ready foundation</text>
|
|
113
|
+
<rect x="612" y="17" width="74" height="30" rx="15" fill="#EEF1FF" stroke="#5368F6"/>
|
|
114
|
+
<text class="pill" x="649" y="38" text-anchor="middle" fill="#3445D8">Cloud</text>
|
|
115
|
+
<text class="card-copy" x="710" y="38">managed marketplace and monetization layer</text>
|
|
116
|
+
</g>
|
|
117
|
+
</svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "skills-layer",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"description": "Public CLI for Skills Layer Cloud.",
|
|
7
|
+
"homepage": "https://skills-layer.com",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"skills",
|
|
10
|
+
"mcp",
|
|
11
|
+
"cli",
|
|
12
|
+
"agents",
|
|
13
|
+
"codex",
|
|
14
|
+
"cloud",
|
|
15
|
+
"marketplace"
|
|
16
|
+
],
|
|
17
|
+
"bin": {
|
|
18
|
+
"skills-layer": "bin/skills-layer.js"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"bin/skills-layer.js",
|
|
22
|
+
"public/skills-layer-public.mjs",
|
|
23
|
+
"scripts/postinstall.mjs",
|
|
24
|
+
"scripts/skills-layer.mjs",
|
|
25
|
+
"docs/assets/*.svg"
|
|
26
|
+
],
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=22"
|
|
29
|
+
},
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"postinstall": "node scripts/postinstall.mjs"
|
|
35
|
+
},
|
|
36
|
+
"license": "SEE LICENSE IN LICENSE"
|
|
37
|
+
}
|