@tech-leads-club/agent-skills 1.2.2 → 1.4.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 +5 -0
- package/README.md +29 -202
- package/index.js +10 -10
- package/index.js.map +4 -4
- package/package.json +1 -1
package/LICENSE
CHANGED
|
@@ -19,3 +19,8 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
**Note on Dual Licensing:**
|
|
26
|
+
While the software source code in this repository is licensed under the MIT License as stated above, the content of the agent skills (the `SKILL.md` files) created by the repository maintainers is licensed under the Creative Commons Attribution 4.0 International License (CC-BY-4.0) unless otherwise specified in individual skill files. Please see the README.md for more details on attribution and licensing boundaries.
|
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
</p>
|
|
32
32
|
|
|
33
33
|
<p align="center">
|
|
34
|
-
In an ecosystem where <a href="https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf">over 13% of marketplace skills contain critical vulnerabilities</a>,
|
|
34
|
+
In an ecosystem where <a href="https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf">over 13% of marketplace skills contain critical vulnerabilities</a>,
|
|
35
35
|
<b>Agent Skills</b> stands apart as a hardened library of <b>verified</b>, <b>tested</b>, and <b>safe</b> capabilities.
|
|
36
36
|
Extend <b>Antigravity</b>, <b>Claude Code</b>, <b>Cursor</b>, and more with absolute confidence.
|
|
37
37
|
</p>
|
|
@@ -48,13 +48,10 @@
|
|
|
48
48
|
- [🌟 Featured Skills](#-featured-skills)
|
|
49
49
|
- [🚀 Quick Start](#-quick-start)
|
|
50
50
|
- [⚡ How It Works](#-how-it-works)
|
|
51
|
-
- [
|
|
52
|
-
- [📁 Project Structure](#-project-structure)
|
|
53
|
-
- [📝 Skill Structure](#-skill-structure)
|
|
54
|
-
- [🔒 Security Scan](#-security-scan)
|
|
55
|
-
- [🔄 Release Process](#-release-process)
|
|
51
|
+
- [🔌 MCP Server](#-mcp-server)
|
|
56
52
|
- [🤝 Contributing](#-contributing)
|
|
57
|
-
- [
|
|
53
|
+
- [🛡️ Content & Authorship](#️-content--authorship)
|
|
54
|
+
- [📄 License and Attribution](#-license-and-attribution)
|
|
58
55
|
|
|
59
56
|
## ✨ What are Skills?
|
|
60
57
|
|
|
@@ -71,28 +68,9 @@ packages/skills-catalog/skills/
|
|
|
71
68
|
|
|
72
69
|
## 🛡️ Security & Trust
|
|
73
70
|
|
|
74
|
-
Your environment's safety is our top priority. Unlike open marketplaces where **13.4% of skills contain critical issues**, `agent-skills` is a managed, hardened library.
|
|
71
|
+
Your environment's safety is our top priority. Unlike open marketplaces where **13.4% of skills contain critical issues**, `agent-skills` is a managed, hardened library: 100% open source (no binaries), static analysis in CI/CD, immutable integrity via lockfiles and content hashing, and human-curated prompts. The CLI uses defense-in-depth (sanitization, path isolation, symlink guards, atomic lockfile, audit trail); every skill is scanned with [mcp-scan](https://github.com/invariantlabs-ai/mcp-scan) before publishing.
|
|
75
72
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
We directly address the threats identified in the [Snyk 2026 Agent Threat Report](https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf):
|
|
79
|
-
|
|
80
|
-
| Threat | Public Marketplaces | Agent Skills Guarantee |
|
|
81
|
-
| :----------------------- | :---------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |
|
|
82
|
-
| **Malicious Payloads** | Obfuscated code, binaries, or "black box" instructions | **100% Open Source**: No binaries, fully readable text/code. Every line is auditable. |
|
|
83
|
-
| **Credential Theft** | Skills silently exfiltrating env vars to remote servers | **Static Analysis**: CI/CD pipeline blocks skills with suspicious network calls or secret access. |
|
|
84
|
-
| **Supply Chain Attacks** | Authors pushing malicious updates to existing skills | **Immutable Integrity**: Lockfiles and content-hashing ensure code never changes without your explicit upgrade. |
|
|
85
|
-
| **Prompt Injection** | Hidden instructions to hijack agent behavior ("jailbreaks") | **Human Curation**: Every prompt is manually code-reviewed by maintainers for safety boundaries. |
|
|
86
|
-
|
|
87
|
-
### CLI Defense-in-Depth
|
|
88
|
-
|
|
89
|
-
The installer itself implements strict technical controls:
|
|
90
|
-
|
|
91
|
-
- **Filesystem Isolation**: Recursive path traversal protection preventing access outside target directories.
|
|
92
|
-
- **Input Sanitization**: Strict validation of skill names and paths to neutralize injection vectors.
|
|
93
|
-
- **Symlink Guard**: Safe handling of symbolic links to prevent aliasing attacks.
|
|
94
|
-
- **Integrity Verification**: Lockfile-based validation ensuring reproducible and authorized skill management.
|
|
95
|
-
- **Automated Auditing**: All skills undergo continuous security scanning with [mcp-scan](https://github.com/invariantlabs-ai/mcp-scan).
|
|
73
|
+
→ **Full threat model, implementation details, and vulnerability reporting:** [SECURITY.md](SECURITY.md)
|
|
96
74
|
|
|
97
75
|
## 🤖 Supported Agents
|
|
98
76
|
|
|
@@ -134,8 +112,6 @@ A glimpse of what's available in our growing catalog:
|
|
|
134
112
|
<a href="#-quick-start"><strong>→ Browse all skills</strong></a>
|
|
135
113
|
</p>
|
|
136
114
|
|
|
137
|
-
---
|
|
138
|
-
|
|
139
115
|
## 🚀 Quick Start
|
|
140
116
|
|
|
141
117
|
### Install Skills in Your Project
|
|
@@ -249,190 +225,37 @@ Downloaded skills are cached in `~/.cache/agent-skills/` for offline use.
|
|
|
249
225
|
rm -rf ~/.cache/agent-skills
|
|
250
226
|
```
|
|
251
227
|
|
|
252
|
-
##
|
|
253
|
-
|
|
254
|
-
### Prerequisites
|
|
255
|
-
|
|
256
|
-
- **Node.js** ≥ 22
|
|
257
|
-
- **npm** (comes with Node.js)
|
|
258
|
-
|
|
259
|
-
### Setup
|
|
260
|
-
|
|
261
|
-
```bash
|
|
262
|
-
git clone https://github.com/tech-leads-club/agent-skills.git
|
|
263
|
-
cd agent-skills
|
|
264
|
-
npm ci
|
|
265
|
-
npm run build
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### Development Commands
|
|
228
|
+
## 🔌 MCP Server
|
|
269
229
|
|
|
270
|
-
|
|
271
|
-
| ------------------- | ---------------------------------- |
|
|
272
|
-
| `npm run start:dev` | Run CLI locally (interactive mode) |
|
|
273
|
-
| `npm run g <name>` | Generate a new skill |
|
|
274
|
-
| `npm run build` | Build all packages |
|
|
275
|
-
| `npm run test` | Run all tests |
|
|
276
|
-
| `npm run lint` | Lint codebase |
|
|
277
|
-
| `npm run format` | Format code with Prettier |
|
|
278
|
-
| `npm run scan` | Run incremental security scan |
|
|
230
|
+
`@tech-leads-club/agent-skills-mcp` is an MCP server that exposes the skills catalog directly to AI agents via **progressive disclosure** — search first, then fetch only what's needed.
|
|
279
231
|
|
|
280
|
-
|
|
232
|
+
| Tool | Purpose |
|
|
233
|
+
| :------------------ | :----------------------------------- |
|
|
234
|
+
| `list_skills` | Browse all skills by category |
|
|
235
|
+
| `search_skills` | Find skills by intent (fuzzy search) |
|
|
236
|
+
| `read_skill` | Load a skill's main instructions |
|
|
237
|
+
| `fetch_skill_files` | Fetch specific reference files |
|
|
281
238
|
|
|
282
|
-
|
|
283
|
-
# With category (recommended)
|
|
284
|
-
nx g @tech-leads-club/skill-plugin:skill my-skill --category=development
|
|
285
|
-
|
|
286
|
-
# Full options
|
|
287
|
-
nx g @tech-leads-club/skill-plugin:skill my-skill \
|
|
288
|
-
--description="What my skill does" \
|
|
289
|
-
--category=development \
|
|
290
|
-
--author="github.com/username" \
|
|
291
|
-
--skillVersion="1.0.0"
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
The generator creates:
|
|
295
|
-
|
|
296
|
-
- `packages/skills-catalog/skills/(development)/my-skill/SKILL.md`
|
|
297
|
-
|
|
298
|
-
## 📁 Project Structure
|
|
299
|
-
|
|
300
|
-
```
|
|
301
|
-
agent-skills/
|
|
302
|
-
├── packages/
|
|
303
|
-
│ ├── cli/ # @tech-leads-club/agent-skills CLI
|
|
304
|
-
│ └── skills-catalog/ # Skills collection
|
|
305
|
-
│ └── skills/ # All skill definitions
|
|
306
|
-
│ ├── (category-name)/ # Categorized skills
|
|
307
|
-
│ └── _category.json # Category metadata
|
|
308
|
-
├── tools/
|
|
309
|
-
│ └── skill-plugin/ # Nx skill generator
|
|
310
|
-
├── skills-registry.json # Auto-generated catalog
|
|
311
|
-
├── .github/
|
|
312
|
-
│ └── workflows/ # CI/CD pipelines
|
|
313
|
-
└── nx.json # Nx configuration
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
## 📝 Skill Structure
|
|
317
|
-
|
|
318
|
-
```
|
|
319
|
-
packages/skills-catalog/skills/
|
|
320
|
-
├── (category-name)/ # Category folder
|
|
321
|
-
│ └── my-skill/ # Skill folder
|
|
322
|
-
│ ├── SKILL.md # Required: main instructions
|
|
323
|
-
│ ├── scripts/ # Optional: executable scripts
|
|
324
|
-
│ ├── templates/ # Optional: file templates
|
|
325
|
-
│ └── references/ # Optional: on-demand docs
|
|
326
|
-
└── _category.json # Category metadata
|
|
327
|
-
```
|
|
328
|
-
|
|
329
|
-
### SKILL.md Format
|
|
330
|
-
|
|
331
|
-
```markdown
|
|
332
|
-
---
|
|
333
|
-
name: my-skill
|
|
334
|
-
description: What this skill does. Use when user says "trigger phrase".
|
|
335
|
-
metadata:
|
|
336
|
-
version: 1.0.0
|
|
337
|
-
author: github.com/username
|
|
338
|
-
---
|
|
239
|
+
`list_skills` should be called only when the user explicitly asks to browse/list the catalog.
|
|
339
240
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
Brief description.
|
|
343
|
-
|
|
344
|
-
## Process
|
|
345
|
-
|
|
346
|
-
1. Step one
|
|
347
|
-
2. Step two
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
### Category Metadata
|
|
351
|
-
|
|
352
|
-
`_category.json`:
|
|
241
|
+
**Quick install** (works with any MCP-compatible client):
|
|
353
242
|
|
|
354
243
|
```json
|
|
355
244
|
{
|
|
356
|
-
"
|
|
357
|
-
"
|
|
358
|
-
|
|
359
|
-
|
|
245
|
+
"mcpServers": {
|
|
246
|
+
"agent-skills": {
|
|
247
|
+
"command": "npx",
|
|
248
|
+
"args": ["-y", "@tech-leads-club/agent-skills-mcp"]
|
|
249
|
+
}
|
|
360
250
|
}
|
|
361
251
|
}
|
|
362
252
|
```
|
|
363
253
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
- **Keep SKILL.md under 500 lines** — use `references/` for detailed docs
|
|
367
|
-
- **Write specific descriptions** — include trigger phrases
|
|
368
|
-
- **Assume the agent is smart** — only add what it doesn't already know
|
|
369
|
-
- **Prefer scripts over inline code** — reduces context window usage
|
|
370
|
-
|
|
371
|
-
## 🔒 Security Scan
|
|
372
|
-
|
|
373
|
-
Every skill is scanned with [`mcp-scan`](https://github.com/invariantlabs-ai/mcp-scan) before publishing. The scan is **incremental** — only skills whose content changed since the last run are re-scanned.
|
|
374
|
-
|
|
375
|
-
```bash
|
|
376
|
-
npm run scan # Incremental (default)
|
|
377
|
-
npm run scan -- --force # Force full re-scan
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
### How it works
|
|
381
|
-
|
|
382
|
-
Each skill has a SHA-256 content hash (computed from all its files). Results are cached in `.security-scan-cache.json` (gitignored). On the next run, skills whose hash hasn't changed skip re-scanning and load results from cache.
|
|
383
|
-
|
|
384
|
-
```
|
|
385
|
-
Content hash unchanged → load from cache (fast)
|
|
386
|
-
Content hash changed → re-scan with mcp-scan
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
### Handling false positives
|
|
390
|
-
|
|
391
|
-
If `mcp-scan` flags a finding that is intentional (e.g. a first-party MCP server integration), add it to the allowlist:
|
|
392
|
-
|
|
393
|
-
**`packages/skills-catalog/security-scan-allowlist.yaml`**
|
|
394
|
-
|
|
395
|
-
```yaml
|
|
396
|
-
version: '1.0.0'
|
|
397
|
-
|
|
398
|
-
entries:
|
|
399
|
-
- skill: my-skill
|
|
400
|
-
code: W011
|
|
401
|
-
reason: >
|
|
402
|
-
Fetches from trusted first-party API — expected behavior.
|
|
403
|
-
allowedBy: github.com/username
|
|
404
|
-
allowedAt: '2026-01-01'
|
|
405
|
-
expiresAt: '2027-01-01' # Optional but recommended
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
- Match is by `skill + code` — no re-scan needed after adding an entry
|
|
409
|
-
- `expiresAt` is optional but recommended — forces periodic review
|
|
410
|
-
- Expired entries re-activate the finding automatically
|
|
411
|
-
- Use YAML for better readability, comments, and cleaner diffs
|
|
412
|
-
|
|
413
|
-
The allowlist is committed to the repo and reviewable in PRs.
|
|
414
|
-
|
|
415
|
-
## 🔄 Release Process
|
|
416
|
-
|
|
417
|
-
This project uses **Conventional Commits** for automated versioning:
|
|
418
|
-
|
|
419
|
-
| Commit Prefix | Version Bump | Example |
|
|
420
|
-
| ------------- | ------------- | ---------------------------- |
|
|
421
|
-
| `feat:` | Minor (0.X.0) | `feat: add new skill` |
|
|
422
|
-
| `fix:` | Patch (0.0.X) | `fix: correct symlink path` |
|
|
423
|
-
| `feat!:` | Major (X.0.0) | `feat!: breaking API change` |
|
|
424
|
-
| `docs:` | No bump | `docs: update README` |
|
|
425
|
-
| `chore:` | No bump | `chore: update deps` |
|
|
426
|
-
|
|
427
|
-
Releases are automated via GitHub Actions when merging to `main`.
|
|
254
|
+
→ Full setup for all clients (Cursor, Claude Code, VS Code, etc.), caching, and error reference: **[packages/mcp/README.md](packages/mcp/README.md)**
|
|
428
255
|
|
|
429
256
|
## 🤝 Contributing
|
|
430
257
|
|
|
431
|
-
|
|
432
|
-
2. **Create** a feature branch (`git checkout -b feat/amazing-skill`)
|
|
433
|
-
3. **Commit** with conventional commits (`git commit -m "feat: add amazing skill"`)
|
|
434
|
-
4. **Push** to your fork (`git push origin feat/amazing-skill`)
|
|
435
|
-
5. **Open** a Pull Request
|
|
258
|
+
We welcome contributions! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for detailed guidelines on how to set up your local environment, create new skills, contribute to the marketplace, and follow our release processes.
|
|
436
259
|
|
|
437
260
|
## 🛡️ Content & Authorship
|
|
438
261
|
|
|
@@ -440,9 +263,13 @@ This repository is a collection of curated skills intended to benefit the commun
|
|
|
440
263
|
|
|
441
264
|
If you are the author of any content included here and would like it **removed** or **updated**, please [open an issue](https://github.com/tech-leads-club/agent-skills/issues/new) or contact the maintainers.
|
|
442
265
|
|
|
443
|
-
## 📄 License
|
|
266
|
+
## 📄 License and Attribution
|
|
267
|
+
|
|
268
|
+
- **Software Engine:** The application source code (CLI, scripts, tools) is licensed under the **[MIT License](LICENSE)**.
|
|
269
|
+
- **Tech Leads Club Skills:** Unless otherwise stated, all skill files (`SKILL.md`) authored by the repository maintainers are licensed under the **[Creative Commons Attribution 4.0 International License (CC-BY-4.0)](https://creativecommons.org/licenses/by/4.0/)**.
|
|
270
|
+
- **Third-Party Skills:** Some skills included in this catalog are created by the community or original authors. These skills retain their original licenses and copyrights. Please check the individual `SKILL.md` files for specific licensing and author attribution.
|
|
444
271
|
|
|
445
|
-
|
|
272
|
+
_If you use our skills catalog, you **must** provide attribution to Tech Leads Club, regardless of how it is used._
|
|
446
273
|
|
|
447
274
|
## ⭐ Star History
|
|
448
275
|
|