install-agent-skill 1.2.3
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.bigtech.md +191 -0
- package/README.md +271 -0
- package/bin/add-skill.js +889 -0
- package/bin/add-skill.v1.backup.js +1904 -0
- package/bin/add-skill.v2.js +512 -0
- package/bin/lib/commands/analyze.js +70 -0
- package/bin/lib/commands/cache.js +65 -0
- package/bin/lib/commands/doctor.js +75 -0
- package/bin/lib/commands/help.js +42 -0
- package/bin/lib/commands/info.js +38 -0
- package/bin/lib/commands/init.js +39 -0
- package/bin/lib/commands/install.js +188 -0
- package/bin/lib/commands/list.js +43 -0
- package/bin/lib/commands/lock.js +57 -0
- package/bin/lib/commands/uninstall.js +48 -0
- package/bin/lib/commands/update.js +58 -0
- package/bin/lib/commands/validate.js +69 -0
- package/bin/lib/commands/verify.js +56 -0
- package/bin/lib/config.js +80 -0
- package/bin/lib/helpers.js +155 -0
- package/bin/lib/skills.js +114 -0
- package/bin/lib/types.js +82 -0
- package/bin/lib/ui.js +77 -0
- package/package.json +56 -0
- package/specs/ADD_SKILL_SPEC.md +333 -0
- package/specs/REGISTRY_V2_SPEC.md +334 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/dataguruin/add-skill/main/.github/logo.svg" height="128">
|
|
3
|
+
<h1 align="center">add-skill</h1>
|
|
4
|
+
</p>
|
|
5
|
+
|
|
6
|
+
<p align="center">
|
|
7
|
+
<a href="https://www.npmjs.com/package/@dataguruin/add-skill"><img src="https://img.shields.io/npm/v/@dataguruin/add-skill?style=flat&colorA=18181b&colorB=7c3aed" alt="npm version"></a>
|
|
8
|
+
<a href="https://www.npmjs.com/package/@dataguruin/add-skill"><img src="https://img.shields.io/npm/d18m/@dataguruin/add-skill?style=flat&colorA=18181b&colorB=7c3aed" alt="npm downloads"></a>
|
|
9
|
+
<a href="https://github.com/dataguruin/add-skill/blob/main/LICENSE"><img src="https://img.shields.io/github/license/dataguruin/add-skill?style=flat&colorA=18181b&colorB=7c3aed" alt="license"></a>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
The enterprise-grade package manager for AI Agent Skills.<br/>
|
|
14
|
+
Designed for the <strong>Antigravity Skills</strong> specification.
|
|
15
|
+
</p>
|
|
16
|
+
|
|
17
|
+
<p align="center">
|
|
18
|
+
<a href="#installation">Installation</a> •
|
|
19
|
+
<a href="#quick-start">Quick Start</a> •
|
|
20
|
+
<a href="#commands">Commands</a> •
|
|
21
|
+
<a href="#features">Features</a> •
|
|
22
|
+
<a href="#documentation">Docs</a>
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## What is add-skill?
|
|
28
|
+
|
|
29
|
+
`add-skill` is a CLI tool for managing **Agent Skills**—immutable, verifiable intelligence artifacts that extend your AI agent's capabilities. Think of it as `npm` for AI agents.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx -y add-agent-skill install dataguruin/coinpika-agent-skills#coinpika-doctrine-pack
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Skills are **data, not code**. They won't execute on your system—they're read by your agent to enhance its behavior.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Installation
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Using npm
|
|
43
|
+
npm install -g add-agent-skill
|
|
44
|
+
|
|
45
|
+
# Using pnpm
|
|
46
|
+
pnpm add -g add-agent-skill
|
|
47
|
+
|
|
48
|
+
# Using Yarn
|
|
49
|
+
yarn global add add-agent-skill
|
|
50
|
+
|
|
51
|
+
# Or run directly with npx
|
|
52
|
+
npx -y add-agent-skill <command>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
> **Requirements:** Node.js 18.0.0 or later
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Quick Start
|
|
60
|
+
|
|
61
|
+
### 1. Initialize your workspace
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx -y add-agent-skill init
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This creates the `.agent/skills` directory structure in your project.
|
|
68
|
+
|
|
69
|
+
### 2. Install a skill
|
|
70
|
+
|
|
71
|
+
Install from GitHub with optional version pinning:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Latest version
|
|
75
|
+
npx -y add-agent-skill install dataguruin/coinpika-agent-skills#coinpika-pr-reviewer
|
|
76
|
+
|
|
77
|
+
# Specific version
|
|
78
|
+
npx -y add-agent-skill install dataguruin/coinpika-agent-skills#coinpika-doctrine-pack@v1.0.0
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 3. List installed skills
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npx -y add-agent-skill list
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 4. Validate compliance
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx -y add-agent-skill validate
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Commands
|
|
96
|
+
|
|
97
|
+
| Command | Description |
|
|
98
|
+
| :--- | :--- |
|
|
99
|
+
| `init` | Initialize `.agent/skills` workspace |
|
|
100
|
+
| `install <spec>` | Install a skill from GitHub or registry |
|
|
101
|
+
| `uninstall <name>` | Remove an installed skill |
|
|
102
|
+
| `update <name>` | Update a skill to latest version |
|
|
103
|
+
| `upgrade-all` | Upgrade all skills in workspace |
|
|
104
|
+
| `list` | List installed skills with metadata |
|
|
105
|
+
| `validate` | Check Antigravity compliance |
|
|
106
|
+
| `analyze <name>` | Inspect skill structure & Progressive Disclosure |
|
|
107
|
+
| `doctor` | Check health & integrity |
|
|
108
|
+
| `lock` | Generate `skill-lock.json` |
|
|
109
|
+
| `cache clear` | Clear local cache |
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Features
|
|
114
|
+
|
|
115
|
+
### Progressive Disclosure
|
|
116
|
+
|
|
117
|
+
Skills follow a structured hierarchy that lets agents read only what they need:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
skill/
|
|
121
|
+
├── SKILL.md # Core instructions (always read)
|
|
122
|
+
├── resources/ # Reference materials (on-demand)
|
|
123
|
+
├── examples/ # Implementation patterns (when coding)
|
|
124
|
+
├── scripts/ # Helper utilities (when needed)
|
|
125
|
+
├── constitution/ # Governing rules
|
|
126
|
+
└── doctrines/ # Behavioral policies
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Deterministic Locking
|
|
130
|
+
|
|
131
|
+
Pin exact versions for reproducible builds across your team:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Generate lockfile
|
|
135
|
+
npx -y add-agent-skill lock
|
|
136
|
+
|
|
137
|
+
# Install from lockfile
|
|
138
|
+
npx -y add-agent-skill install --locked
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Security by Design
|
|
142
|
+
|
|
143
|
+
| Feature | Description |
|
|
144
|
+
| :--- | :--- |
|
|
145
|
+
| **No Execution** | Skills are data artifacts, never executed |
|
|
146
|
+
| **SHA-256 Hashing** | Every skill is verified against its Merkle hash |
|
|
147
|
+
| **Integrity Checks** | `doctor` command detects tampering |
|
|
148
|
+
| **Audit Trail** | Full provenance tracking in `.skill-source.json` |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Documentation
|
|
153
|
+
|
|
154
|
+
<table>
|
|
155
|
+
<tbody>
|
|
156
|
+
<tr>
|
|
157
|
+
<td><a href="https://github.com/dataguruin/add-skill/blob/main/specs/SKILL_V1.md">Skill Spec v1.0</a></td>
|
|
158
|
+
<td>The Antigravity Skills specification</td>
|
|
159
|
+
</tr>
|
|
160
|
+
<tr>
|
|
161
|
+
<td><a href="https://github.com/dataguruin/add-skill/tree/main/examples">Examples</a></td>
|
|
162
|
+
<td>Example skills and integration patterns</td>
|
|
163
|
+
</tr>
|
|
164
|
+
<tr>
|
|
165
|
+
<td><a href="https://github.com/dataguruin/add-skill/issues">Issues</a></td>
|
|
166
|
+
<td>Report bugs or request features</td>
|
|
167
|
+
</tr>
|
|
168
|
+
</tbody>
|
|
169
|
+
</table>
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Community
|
|
174
|
+
|
|
175
|
+
We welcome contributions! See our [Contributing Guide](https://github.com/dataguruin/add-skill/blob/main/CONTRIBUTING.md) to get started.
|
|
176
|
+
|
|
177
|
+
<a href="https://github.com/dataguruin/add-skill/graphs/contributors">
|
|
178
|
+
<img src="https://contrib.rocks/image?repo=dataguruin/add-skill" />
|
|
179
|
+
</a>
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
<p align="center">
|
|
184
|
+
<sub>Built with ❤️ by <a href="https://github.com/dataguruin">DataGuruIn</a></sub>
|
|
185
|
+
</p>
|
|
186
|
+
|
|
187
|
+
<p align="center">
|
|
188
|
+
<a href="https://github.com/dataguruin/add-skill">GitHub</a> •
|
|
189
|
+
<a href="https://www.npmjs.com/package/@dataguruin/add-skill">npm</a> •
|
|
190
|
+
<a href="https://github.com/dataguruin/add-skill/blob/main/LICENSE">License</a>
|
|
191
|
+
</p>
|
package/README.md
ADDED
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://img.shields.io/badge/add--skill-v1.2.2-000000?style=for-the-badge&logo=npm&logoColor=white" alt="add-skill v1.2.2" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">add-skill</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center">
|
|
8
|
+
<strong>The package manager for AI agent skills.</strong><br/>
|
|
9
|
+
Install, manage, and verify skills for Antigravity-compatible coding agents.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://www.npmjs.com/package/@dataguruin/add-skill"><img src="https://img.shields.io/npm/v/@dataguruin/add-skill?style=flat-square&color=000000" alt="npm version"></a>
|
|
14
|
+
<a href="https://www.npmjs.com/package/@dataguruin/add-skill"><img src="https://img.shields.io/npm/dm/@dataguruin/add-skill?style=flat-square&color=000000" alt="npm downloads"></a>
|
|
15
|
+
<a href="https://github.com/dataguruin/add-skill/blob/main/LICENSE"><img src="https://img.shields.io/github/license/dataguruin/add-skill?style=flat-square&color=000000" alt="license"></a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<p align="center">
|
|
19
|
+
<a href="#installation">Installation</a> •
|
|
20
|
+
<a href="#quick-start">Quick Start</a> •
|
|
21
|
+
<a href="#commands">Commands</a> •
|
|
22
|
+
<a href="#features">Features</a>
|
|
23
|
+
</p>
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## What is add-skill?
|
|
28
|
+
|
|
29
|
+
**add-skill** is a CLI tool for managing Agent Skills—intelligent artifacts that extend your AI coding agent's capabilities.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx -y add-agent-skill dataguruin/agent-skills
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
┌ skills
|
|
37
|
+
│
|
|
38
|
+
◇ Source: https://github.com/dataguruin/agent-skills.git
|
|
39
|
+
│
|
|
40
|
+
◆ Repository cloned
|
|
41
|
+
│
|
|
42
|
+
● Found 3 skills
|
|
43
|
+
│
|
|
44
|
+
◆ Select skills to install
|
|
45
|
+
│ ◻ coinpika-commit-formatter
|
|
46
|
+
│ ◻ coinpika-doctrine-pack
|
|
47
|
+
│ ◻ coinpika-pr-reviewer
|
|
48
|
+
│
|
|
49
|
+
◇ Installed 3 skills ──────────╮
|
|
50
|
+
│ │
|
|
51
|
+
│ ✓ coinpika-commit-formatter │
|
|
52
|
+
│ ✓ coinpika-doctrine-pack │
|
|
53
|
+
│ ✓ coinpika-pr-reviewer │
|
|
54
|
+
│ │
|
|
55
|
+
├───────────────────────────────╯
|
|
56
|
+
│
|
|
57
|
+
└ Done!
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Skills are **data, not code**—they're read by your agent to enhance its behavior without executing on your system.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Installation
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Using npx (recommended)
|
|
68
|
+
npx -y add-agent-skill <org/repo>
|
|
69
|
+
|
|
70
|
+
# Global install
|
|
71
|
+
npm install -g add-agent-skill
|
|
72
|
+
|
|
73
|
+
# Or with pnpm
|
|
74
|
+
pnpm add -g add-agent-skill
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
> **Requires** Node.js 18+
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Quick Start
|
|
82
|
+
|
|
83
|
+
### Install skills from GitHub
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npx -y add-agent-skill dataguruin/agent-skills
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Interactive prompts let you select which skills to install.
|
|
90
|
+
|
|
91
|
+
### List installed skills
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npx -y add-agent-skill list
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
┌ add-skill
|
|
99
|
+
│
|
|
100
|
+
● Location: ~/.agent/skills
|
|
101
|
+
│
|
|
102
|
+
◇ Installed Skills (3) ─────────────────────────╮
|
|
103
|
+
│ │
|
|
104
|
+
│ ✓ coinpika-commit-formatter v1.0.0 (10.1 KB) │
|
|
105
|
+
│ ✓ coinpika-doctrine-pack v1.0.0 (137.9 KB) │
|
|
106
|
+
│ ✓ coinpika-pr-reviewer v1.0.0 (9.1 KB) │
|
|
107
|
+
│ │
|
|
108
|
+
├────────────────────────────────────────────────╯
|
|
109
|
+
│
|
|
110
|
+
└ Done!
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Check health
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
npx -y add-agent-skill doctor
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
┌ add-skill
|
|
121
|
+
│
|
|
122
|
+
◐ Running health check...
|
|
123
|
+
│
|
|
124
|
+
◇ Health Check Results ─────────────────────────╮
|
|
125
|
+
│ │
|
|
126
|
+
│ ✓ coinpika-commit-formatter: healthy │
|
|
127
|
+
│ ✓ coinpika-doctrine-pack: healthy │
|
|
128
|
+
│ ✓ coinpika-pr-reviewer: healthy │
|
|
129
|
+
│ │
|
|
130
|
+
├────────────────────────────────────────────────╯
|
|
131
|
+
│
|
|
132
|
+
● Errors: 0, Warnings: 0
|
|
133
|
+
│
|
|
134
|
+
└ Done!
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Commands
|
|
140
|
+
|
|
141
|
+
| Command | Description |
|
|
142
|
+
|:--------|:------------|
|
|
143
|
+
| `<org/repo>` | Install skills from GitHub repository |
|
|
144
|
+
| `<org/repo#skill>` | Install a specific skill |
|
|
145
|
+
| `list` | List installed skills |
|
|
146
|
+
| `uninstall <skill>` | Remove a skill |
|
|
147
|
+
| `update <skill>` | Update to latest version |
|
|
148
|
+
| `doctor` | Check integrity and health |
|
|
149
|
+
| `verify` | Verify checksums |
|
|
150
|
+
| `validate [skill]` | Antigravity compliance check |
|
|
151
|
+
| `analyze <skill>` | Deep structure analysis |
|
|
152
|
+
| `lock` | Generate `skill-lock.json` |
|
|
153
|
+
| `cache info` | Show cache info |
|
|
154
|
+
| `cache clear` | Clear local cache |
|
|
155
|
+
| `init` | Initialize skills directory |
|
|
156
|
+
|
|
157
|
+
### Flags
|
|
158
|
+
|
|
159
|
+
| Flag | Description |
|
|
160
|
+
|:-----|:------------|
|
|
161
|
+
| `--global, -g` | Install to global scope |
|
|
162
|
+
| `--yes, -y` | Skip confirmation prompts |
|
|
163
|
+
| `--verbose, -v` | Show detailed output |
|
|
164
|
+
| `--json` | Output as JSON |
|
|
165
|
+
| `--strict` | Exit with error on violations |
|
|
166
|
+
| `--fix` | Auto-fix issues where possible |
|
|
167
|
+
| `--dry-run` | Preview changes without applying |
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Features
|
|
172
|
+
|
|
173
|
+
### Progressive Disclosure
|
|
174
|
+
|
|
175
|
+
Skills follow a structured hierarchy for efficient agent loading:
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
skill/
|
|
179
|
+
├── SKILL.md # Core instructions (always loaded)
|
|
180
|
+
├── resources/ # Reference materials (on-demand)
|
|
181
|
+
├── examples/ # Implementation patterns
|
|
182
|
+
├── scripts/ # Helper utilities
|
|
183
|
+
├── constitution/ # Governing rules
|
|
184
|
+
└── doctrines/ # Behavioral policies
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Antigravity Compatibility Score
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
npx -y add-agent-skill analyze coinpika-doctrine-pack
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
┌ add-skill
|
|
195
|
+
│
|
|
196
|
+
● Path: ~/.agent/skills/coinpika-doctrine-pack
|
|
197
|
+
│
|
|
198
|
+
◇ Skill Analysis: coinpika-doctrine-pack ───────╮
|
|
199
|
+
│ │
|
|
200
|
+
│ SKILL.md Frontmatter: │
|
|
201
|
+
│ Name: coinpika-doctrine-pack │
|
|
202
|
+
│ Description: Constitutional governance... │
|
|
203
|
+
│ Tags: coinpika, doctrine, governance │
|
|
204
|
+
│ │
|
|
205
|
+
│ Structure: │
|
|
206
|
+
│ ✓ resources │
|
|
207
|
+
│ ✓ examples │
|
|
208
|
+
│ ✓ scripts │
|
|
209
|
+
│ ✓ constitution │
|
|
210
|
+
│ ✓ doctrines │
|
|
211
|
+
│ │
|
|
212
|
+
│ Antigravity Score: 100/100 │
|
|
213
|
+
│ │
|
|
214
|
+
├────────────────────────────────────────────────╯
|
|
215
|
+
│
|
|
216
|
+
└ Done!
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Security by Design
|
|
220
|
+
|
|
221
|
+
| Feature | Description |
|
|
222
|
+
|:--------|:------------|
|
|
223
|
+
| **No Execution** | Skills are data, never executed on your system |
|
|
224
|
+
| **SHA-256 Merkle Hash** | Every skill is cryptographically verified |
|
|
225
|
+
| **Integrity Checks** | `doctor` and `verify` detect tampering |
|
|
226
|
+
| **Audit Trail** | Full provenance tracked in `.skill-source.json` |
|
|
227
|
+
| **Backups** | Automatic backup before destructive operations |
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Skill Spec Format
|
|
232
|
+
|
|
233
|
+
Skills require a `SKILL.md` file with YAML frontmatter:
|
|
234
|
+
|
|
235
|
+
```markdown
|
|
236
|
+
---
|
|
237
|
+
name: my-skill
|
|
238
|
+
description: Brief description for semantic routing
|
|
239
|
+
version: 1.0.0
|
|
240
|
+
author: your-name
|
|
241
|
+
tags: javascript, testing, react
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
# My Skill
|
|
245
|
+
|
|
246
|
+
Instructions for the agent to follow...
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Compatibility
|
|
252
|
+
|
|
253
|
+
Works with any Antigravity-compatible coding agent:
|
|
254
|
+
|
|
255
|
+
- **Gemini CLI** / **Antigravity**
|
|
256
|
+
- **Claude Code**
|
|
257
|
+
- **Cursor**
|
|
258
|
+
- **OpenCode**
|
|
259
|
+
- **Cline**
|
|
260
|
+
- And more...
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## License
|
|
265
|
+
|
|
266
|
+
MIT © [DataGuruIn](https://github.com/dataguruin)
|
|
267
|
+
|
|
268
|
+
<p align="center">
|
|
269
|
+
<a href="https://github.com/dataguruin/add-skill">GitHub</a> •
|
|
270
|
+
<a href="https://www.npmjs.com/package/@dataguruin/add-skill">npm</a>
|
|
271
|
+
</p>
|